I somewhat identify myself as being such worst kind of programmer. I like to tackle hard problems. I like playing around with new technology. I like to try out new ideas how to solve problems. I started coding since I was a child, around 10 years old. I tend to code many hours non-stop on interesting problems. (Now with family and kids, I'm somewhat limited in doing that, though.) Many people say that they admire how…
The worst kind of programmer
131–137 of 137 posts
Re: The worst kind of programmer
#132It'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,…
> The org in the article sounds like it's missing CTO/engineering management. Not necessarily. I’ve worked in a company where the CTO itself was encouraging those employees. He established a clear list of goals to achieve to climb to the next seniority level. To be promoted you _had_ to do stupid shit like hacking the framework (which was Angular so I let you imagine the potential), be the architect of the project, o…
Re: The worst kind of programmer
#133I 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 ha…
Re: The worst kind of programmer
#134The author was on a mismanaged project and his takeaway is to blame his fellow devs rather than hold management accountable. In fact, he does not even seem to recognize the existence of a managerial issue. This whole article reeks of imposter syndrome. Of course, it must be the case that all the devs who are more productive and impactful than the author are actually secretly very bad, and that the author's inability…
That's exactly what is not implied. The point is not the tech. Any tech can be good.
The thing is that while you can be a brillant programmer who makes super smart design choices using the better techs, it's not enough.
If you create a smart and powerful architecture but you fail to document it and then convince, train and onboard the rest of the team, you may be a brillant programmer but you are also a bad team member.
Those people are not wrong, they can be very productive or useful, but you have to identify them and make them work alone, because that's where they strive. And that's where I agree with you when you say it's a management issue.
Those people are frequently really good at abstract thinking, which is a great power for a programmer but can be an issue when you have to communicate clearly a train of thought with other people. In my experience, this can be a root of conflicts between people that otherwise have a good relationship, because it ultimately leads to programmer A thinking that programmer B is over engineering everything and programmer B thinking that programmer A is too stupid.
> When devs like the author do manage to single-handedly deliver entire codebases (e.g. over long periods of time), they are typically just as bug-ridden and unmaintainable as what the "rock star" devs produce.
That's why devs like the author are never asked to single-handedly deliver entire codebases but to bring their skillset to a team that is tasked to maintain long term code base. And maintening long term codebases for a team may imply doing things the boring and simpliest way.
Re: The worst kind of programmer
#135The author was on a mismanaged project and his takeaway is to blame his fellow devs rather than hold management accountable. In fact, he does not even seem to recognize the existence of a managerial issue. This whole article reeks of imposter syndrome. Of course, it must be the case that all the devs who are more productive and impactful than the author are actually secretly very bad, and that the author's inability…
> Of course, it must be the case that all the devs who are more productive and impactful than the author are actually secretly very bad That's exactly what is not implied. The point is not the tech. Any tech can be good. The thing is that while you can be a brillant programmer who makes super smart design choices using the better techs, it's not enough. If you create a smart and powerful architecture but you fail to…
I'm very skeptical about these situational anecdotes where someone with low impact complains about someone with high impact. "I was on a team where the guy who wrote everything left and then everything sucked" is not a compelling vantage point.
Re: The worst kind of programmer
#136Re: The worst kind of programmer
#137Earlier quoted context omitted.
> Of course, it must be the case that all the devs who are more productive and impactful than the author are actually secretly very bad That's exactly what is not implied. The point is not the tech. Any tech can be good. The thing is that while you can be a brillant programmer who makes super smart design choices using the better techs, it's not enough. If you create a smart and powerful architecture but you fail to…
I'm yet to see evidence that the types of people who whinge about these types of "brilliant programmers" are themselves much better at documentation, training and onboarding a team. The fact that devs like this are even in a position to whine and complain about their projects becoming unmaintainable after the star team mate leaves is a clear demonstration that they themselves have not made any substantial contributio…
I teamed up with a junior developer to deliver a sub-project of the main project cited above at 1/5 the expected cost.
It did not need much documentation.
For frontend, we took the Angular Homes tutorial and morphed it into the CRUD of a dozen business concepts.
For backend, we used NamedParameterJdbcTemplate and skipped most of the MVC boilerplate.
Other team members took ownership of that code and steered it into directions I wasn't even expecting.
I was silent about the worst of us for most of my career, but now with retirement in sight, I really do not give a pluck what others think. I deliver, enjoy my work and call a spade a spade along the way.
Yes, I am a low-impact developer, so let me quote the high-inpact Sir Tony Hoare to mark the point:
Premature optimization is the root of all evil.