Smash Company Splash Image

September 15th, 2010

In Technology

4 Comments

Do web designers and programmers just stop caring after awhile?

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com

I start working at a new place. There are 2 programmers that have been working there awhile. I look at their code. It is atrocious. I am left to wonder if they care at all what another programmer might think of their work.

A friend of mine starts working at a web design shop. Many of the programmers who are there have been there for 3 or 4 years. They are in the habit of cranking out bad code at a fast rate. Whatever spark of creativity they may have once had, it has been worn away by projects that are forever behind schedule. Their project manager encourages them to cut corners and go faster. Do they still care what another programmer might think of their work?

I take over an old website that was built by another programmer. Perhaps they were experimenting with new ideas when they created the site. The code is an unusual mix of objects and procedural code. Configuration information is stored in several locations – sometimes in ini files, sometimes in PHP “config.php” files, sometimes declared as global variables, sometimes as constants, sometimes hard-coded as initial values to object variables. Did this programmer care what another programmer might think?

A friend takes over the maintenance of a well known political web site. He finds that the original programmer had been learning programming and PHP as they built the site. Apparently unsure how to use functions, the original programmer initially triggered blocks of code by putting the code in separate files and then including() the file when necessary. That original programmer ran the site for 2 years, and over time clearly learned a lot about programming. The later code is better written, but the original code is still there. This programmer then moved on to better things, perhaps bored or looking for better pay. They did not bother to clean up the work. I’m asked to help out. The code is so bad that my friend and I trade snippets back and forth, laughing as we go.

1 year later. By a very strange coincidence, this same friend of mine takes over another site, focused on astrology, which just happens to have been built by the same programmer who built the political website. Now we see many of the same bad programming, including some bits of bad code that were apparently copied from the political website. To give an example: the original programmer decided to store some data in one database, and some data in another database. To switch between the 2 databases, the programmer had put database connection info in different config.php files, and then the code includes these different config files at different times. Some blocks of code actually go back and forth between the 2 databases, 3 or 4 times in the space of 30 lines. Most of the time the code is connecting to the database as the root user, so if the username/password was ever compromised, an intruder would have full rights to everything. We are now looking at code that this programmer wrote 4 years into their career as a programmer. They seem to have never cared what another programmer might have thought of their work.

I start working at a new place. I am told to talk to a programmer named John. He has worked at this company for 4 years, and he was the lead programmer for most of that time. He was hired to save the company. My co-workers speak of him reverently. They recall the way, during his first year, he would work 60 hours a week. They recall how he would gently chide them for writing bad code. They recall how many good articles about programming that he got them to read. Before John there had been another lead programmer, named Ben, who had what is described as “anger management issues”. Ben had been a terrible programmer, and John had seemed like a saint in comparison. But now John is leaving the company. During his first 2 years he tried to educate management about workflow issues in the company, and how they effected the tech team, but now he no longer fights such battles. He and his wife have bought a farm up in Maine. He spends most of his time there and he works remotely. It is hard to get a hold of him. He is working only part-time now. I look at some of the code he has recently written, and this code contains some bad anti-patterns, such as methods that contain 400 lines of code, and methods that have SQL hard-coded in them. After a month of working with him, I get the sense that he is a bit burned out. Does he care much what I might think of the code he is writing nowadays?

I think it is a pattern: the more programmers or web designers are at one place (or the more they work alone) the less they seem to care about the craftsmanship of their work. I wonder how places like Google and Facebook deal with the potential for burnout among their staff? I imagine it helps to have a management team that understands technical work. And I can imagine that being around other highly motivated folks probably helps. Possibly a constant inflow of new staff is necessary, otherwise even the best companies would settle into a stagnant state.

Source



Check out my book:





RECENT COMMENTS

October 18, 2018 7:15 pm

From Ahmed O Ali on The multiplicity of truth during the era of the Internet

"I think that the old attempts to unify the truth are the result of power, but today we are going to facts that..."

October 9, 2018 11:18 am

From Justin McGuire on Susan Kare invented the modern world

"I picked up her ICONS book a while back. It's an inspirational little art book, great for a geeky coffee table..."

September 20, 2018 5:23 pm

From Wayne on Have I been shadowbanned from Hacker News?

"Yep. I was also shadow banned from hacker news. Also, I saw a guy get banned from Hacker News for commenting t..."

August 27, 2018 1:04 pm

From Dave Paola on What's wrong with Hacker News

"I agree completely, although HN does support RSS feeds for user comments. I use this to follow people I respec..."

August 21, 2018 11:48 am

From Nanacy on AWS does not protect you from devops

"Very good post. Please have look for AWS and DevOps Training online or corporate ..."

August 18, 2018 4:59 am

From Cat Mara on How to deal with a psychopath

"One of my favorite passages in the book. Like a lot of people in tech, I'm pretty introverted & would do a..."

August 17, 2018 9:37 am

From Richard Caldwell on Poland was shockingly liberal during the 1400s

"We may not have been taught this in school, but it wasn't forgotten by the Powers That Be. Whereas today’s mor..."

August 17, 2018 8:23 am

From Mikołaj Hołysz on Poland was shockingly liberal during the 1400s

"Most of this is not taught in polish schools either. I'm a pole myself and I haven't been taught most of those..."

August 17, 2018 7:01 am

From ignaloidas on Poland was shockingly liberal during the 1400s

"I'm glad to see that people start to learn this part of history. I'm not from Poland, but from Lithuania, and ..."

August 17, 2018 6:52 am

From Tom on Poland was shockingly liberal during the 1400s

"Thanks for this great article. All this would probably be clearer to the world if our magnificent neighbours ..."

August 11, 2018 8:10 pm

From lawrence on Why does anyone use Python?

"I should add, I feel that Python 1.x and 2.x added something to the world of technology. Early Python was both..."

August 11, 2018 10:44 am

From lawrence on Why does anyone use Python?

"Ryan, about this: " the default should be to not try to install packages system-wide". Agreed. I think that is..."

August 10, 2018 8:23 pm

From Ryan on Why does anyone use Python?

"I suspect your problem is that you missed the step in the instructions where it told you to run all those comm..."

August 5, 2018 4:41 pm

From Howard Ormsby on A developer asks for help, then gets angry at those who help them

"This one is very intense reading thank you..."

July 27, 2018 12:04 am

From Just An Observer on Why do women drop out of co-ed sports?

"Many coed leagues require a certain %age of women players, like volleyball 2 out of 5, in a lot of leagues. ..."

4 COMMENTS

September 16, 2010
10:06 am

By Colin Steele

In my experience, over time, programmers will self-select themselves into the group you’ve identified here, which we might call “programmers in practice”, or “de facto programmers”, and another group: “craftsmen”.

(Pardon the non-inclusive language. :)

I have enjoyed the privilege of working with many more in the latter group in my career, although not without exceptions. Over time, I’ve observed a few things about the group of programmer-craftsmen, including that over time, the programmer-craftsmen cares MORE deeply about their work, not less.

September 16, 2010
11:01 am

By lawrence

Colin, thank you for writing. I am not 100% sure I understand what you mean. In my last paragraph I tried to suggest things that help programmers avoid burnout. Do you feel that the group you identify as “craftsmen” is sort of naturally immune to burnout?

I agree there are many programmers who care more deeply about their work as time goes by, though I imagine this is also a group that seeks out those challenges that keep them interested in the work.

September 22, 2010
9:12 pm

By Colin Steele

While I don’t think that craftsmen are *immune* to burnout, I think that they self-select out of situations in which other programmers become burned out. That might be by choosing projects (main or side), choosing the right (or a different) company, or by continuously challenging themselves. I think anyone can get burned out, but the top performers bail out and move on before they fall victim. Or they preemptively avoid situations like that altogether.

The point I was making is that in my experience, the group you describe can be contrasted with folks who exhibit the exact opposite trajectory. Those are the ones I like to hire, and work with!!

September 23, 2010
10:42 am

By lawrence

Colin, I like the way you put it:

“I think that they self-select out of situations in which other programmers become burned out.”

I think you are right about that. That’s the key thing, really, taking steps to avoid burnout, and preemptively leaving situations that would lead to it.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>