Live data from Hacker News

The worst kind of programmer

mikhailian.mova.org

1–10 of 137 posts

Re: The worst kind of programmer

#2
It's a good discussion to have!

I've been in both sides of these roles over the years. I think the problems in the article really seem to be lack of technical design or leadership though, rather than problems with individual programmers or personality types. You can't have one guy leave, another guy come in, have the same issues then blame the people. The process is broken!

At any kind of head count beyond 5+ people, you need to have some kind of framework in place for choosing and deploying technology. You need someone (it could be many someones, or even the whole team) who thinks about architecture at each step of a project, especially the first part. Conversely, your org should try to intercept "architecture astronauting" early and balance simplicity with decomposition and integration goals.

Managing people can be like herding cats. Managing programmers can be like herding autistic cats. But you still have to do it.

The org in the article sounds like it's missing CTO/engineering management.

Re: The worst kind of programmer

#3
The problem is that an architecture is created that does not fit the problems that need to be solved. This is inevitable if lots of architecture is created before working on real requirements. TDD gets this right: start with actual requirements and extract an architecture from the resulting code so the architecture will actually apply to what is desired. Software is so flexible that that everything can be written in millions of ways. But there are also billions of ways that cause more problems then they solve. You have no chance of selecting one of the millions of working ways out of the billions of wrong ways by starting out with architecture. The numbers are just too much stacked against it.

Re: The worst kind of programmer

#4
Yeah. Functional programming happened to be trending again and our lead service bus developers decided to write Java like it’s Haskell.

Now their garbage keeps crashing with stack overflows, and they complain when files are bigger than a few hundred lines.

We accidentally pushed a 10,000 line file once and it brought the entire bus to a crawl for an hour. TEN THOUSAND LINES.

One day, these twerps pushing this stupidity of “copy everything always cause ‘it’s easier to reason about dawg’” are gonna get theirs.

Re: The worst kind of programmer

#5
I feel confused. Even though I’ve been doing C++ embedded systems and drivers, C++ network protocols, C++ graphics engines (OpenGL and Vulkan), C++ video codecs etc, on many OS’s, all this for over 25 years professionally, I must admit I have no clue about the articles technology stack, programming techniques, languages, or architecture. Am I completely out of touch with this industry?

Re: The worst kind of programmer

#6
They are the best in management eyes: look, they are doing so many things. All those things are unnecessary and will need to be supported/removed in the future.

The truly best are the ones that do very little indeed. We produce software, not objects. You get to save money when you use a good piece of software not when you write it. But they are seen as lazy.

Re: The worst kind of programmer

#8

I feel confused. Even though I’ve been doing C++ embedded systems and drivers, C++ network protocols, C++ graphics engines (OpenGL and Vulkan), C++ video codecs etc, on many OS’s, all this for over 25 years professionally, I must admit I have no clue about the articles technology stack, programming techniques, languages, or architecture. Am I completely out of touch with this industry?

This is contemporary Enterprise Java: Spring Boot with Angular running in Openshift.

Re: The worst kind of programmer

#9
I worked with a guy who did 12 hour days, closed tons of tickets but his code was full of bugs. We were writing trading software and he would handle errors by silently failing.

I worked with someone else who didn’t have a computer at home. Their coding style was “write code that I don’t have to support, I don’t want to get emails while I’m sleeping”. They wrote mega defensive and very boring code. Their code never has any bugs, but they took longer to write it.

Enjoyed working with person two, despised person one.

According to management, person two was not known and person one was a rockstar.

Post reply on HN