Tag Archives: Professionalism

What makes a good developer?

I found this article during my morning reading:

View story at Medium.com

I skimmed it so I can’t argue too much either way but it is a real question to consider…  What does it take?  If you don’t need passion or talent, what do you have?

I understand that having passion and talent makes a difference but is it truly required?  It used to be the only people that pursued a career in software development were the maniacal fringe.  I suppose I count in that group because of the depths of my experience and passion for solving problems with software but…  I don’t have a BS in CS.  My undergrad degree is in Anthropology.  Go figure.  I do have a “related field” in CS and I have been writing code for a while name.

Computer Science isn’t Application Development. 

Do competent motorcycle riders need to understand how combustion chamber vortices impacts burn rate?  Do car drives need to understand the physics of an ABS system to successfully actuate a brake pedal?  Do users of LED lights need to understand superconductors or flip a switch?  So why should a web UI/UX developer need to know the gory details of how processor manages it’s internal command queue?  They don’t.  So why do we make a CS degree a requirement to join the ranks of “professional” developers?

Now take that idea one step farther…  Why do we require passion and talent when in some situations all we really need is a cog in the machine?

Personally, I think passion and talent are key but…  Like I said, I started back when only maniacs practices this dark art.

Maybe it is time to bring it all into the light.

Having a population that is able to write code should be a democratizing of technology.  Everyone should understand the basics of it, if only to bring software development into the light.  Maybe if people understood how much time and effort it takes to create quality applications they would…

  1. be more willing to pay for quality app.
  2. stop expecting instant solutions to complex problems.
  3. not fear the darkness that is software development and computers in general.

From a general education perspective, just knowing how to logically solve problems is a skill everyone should have.  How can you reach any middle to long term goal without the ability to deconstruct the larger goal and do step-wise activities to reach your goal.

Maybe this is all a bridge too far.  As I was trying to wrap up this post, I started looking for a cover pic and settled on “The Beib.”  But… doesn’t the existence of such people actually reinforce the notion that passion and talent isn’t truly required.  There are many factors that create success in a given vocation.  Sometimes, talent isn’t required.  Sometimes, passion isn’t required.  Sometimes, a passing knowledge is more than enough in any given field.

No Bozos

http://www.forbes.com/sites/ericjackson/2012/01/31/why-every-company-needs-a-no-bozo-policy/

One of the few areas where I agree with Jobs.  The bozos need to go.  From my experience, these people tend to be project managers, business analysts, and super-users.  In other words, people who think they know how to do my job, but really don’t have a clue who to write software in an enterprise environment.  I don’t know how many times I have heard “Ya know…  I used to code too.”  Queue the eye roll.  “Really, if you were any good at it you’d still be doing it which is why you’re not programming any longer.  Right?”  I am PC enough to not say that out loud (yet), but I have started heckling the people that use that line on me in more subtle ways.   “Ya know…  That headshot makes you look like a salesman.  Exactly what are you trying to sell?”

Something else I read recently in a Neal Stevenson book, Reamde:

A’s hire A’s.  B’s hire C’s

Which kind of explains why we have such a hard time finding the right contractors.  I wants As.  I don’t want people to stroke my ego.  I want people that can write kick-ass code while conforming just enough to allow their code to be supported in the long-term.

It’s even better when they can teach me something.

I’m allowed to dream.  Right?

Interviewing / Team Building

I’ve talked about interviews and team building a bit before in my “team” post.  I suppose you could view this as the other side of the coin for team building. The dark, dirty underside…  It ain’t pretty and I can admit that I am part of the problem but…  By perceiving my role in the status quo, I have an opportunity to change.

Catalyst:

http://techcrunch.com/2015/03/08/on-secretly-terrible-engineers/

http://sockpuppet.org/blog/2015/03/06/the-hiring-post/

http://java.dzone.com/articles/dogma-driven-development

Continue reading Interviewing / Team Building

Marshmallow Test

You might think I’m kidding but one the program owners that I work with has a strict “Do not talk to Ivan” policy for her team.

Why?

Simply put: Interruptions kill progress.

Programmers have to mentally load extremely complex mental models to do our jobs.  There are a million and one little things that I’m trying to keep “in mind” when I write code.  Stuff I write ends up in dozens of apps.  Those apps help drive a multi-billion dollar business.  (58 billion, at the last reporting.)   So do you really want me to answer your question about highlight colors in a editable cell or would you like for me to keep my mind on writing the validation logic?   Continue reading Marshmallow Test

Slow down!

This week has been a killer in some ways.

I went into the office on Monday.  I walked into a project in crisis.  The features were there but the performance wasn’t.  The BAs screwed up by not pushing the users to do a full mock-cycle.  When the forecasting cycle rolled around last week, some of our users opened the app then closed it without doing any work in the tool.   Users complained that the pivot grids were too slow to update after an edit.  Performance in production was crap.

“Umm…  Why did we hear about this issue over a month ago at UAT or during last-months mock-cycle?”  Heads are starting to roll on that side of the fence.

Where am I going with this? Continue reading Slow down!

Are you a team player?

What does that mean?!

A couple weeks ago, we have skip-level meetings. Which is Intel-speak for I had lunch and a one-on-one with my boss’s boss.

Before you cringe, keep in mind I have never hidden my personality.  I stir the pot and am generally disruptive when it comes to creating new software solutions.  I hate the status quo. Change is good. Change is eternal. Change is the only constant. I digress…

Continue reading Are you a team player?