Evaluating someone’s performance, especially, software engineers by non-tech people might produce dramatic results. Let me tell you a story about a friend of mine, codenamed tommy . Tommy was an IT guy with incredible skills in networking. He moved to an energy company, fully-owned and operated by the government. Just a few weeks from his arrival, they had to rebuild the entire network from scratch with new, modern,…
Was Tommy upset?
The worst programmer I know
381–390 of 668 posts
Re: The worst programmer I know
#382I wish I could pair program more. I have so much knowledge to give other members of my team. Domain knowledge, programming knowledge, common pitfalls, etc. You get a code review pass at the time of writing the code, and it means you have more opportunity to change things for the better. Once it's written there's not much appetite for drastically changing working code during code review unless there's a really good re…
this post is really strange because it actually describes a good environment - code isn’t changing in code review except for really good reasons - people who need help are reaching out - projects that need help get additional help brought in what else are you looking for? this example is about as pair programming as it gets at most places. they’re called silos when people don’t like them and layers of abstraction oth…
Now, as a reviewer your spidey sense tingles and you get the feeling there's a better way. But now it's significantly more effort to pull that change apart or start from scratch and experiment with a new approach, then write this all up on the pull request with the caveat "but what you've written works, so in the interest of time we can merge this".
Pair programming would get you on the right track from the start. You are able to assist an inexperienced dev and guide them through the process step by step. Imbuing your knowledge, raising questions, suggesting fixes. This is exactly what the blog post describes. The developer was seen as unproductive because their time was spend pair programming rather than directly doing the work themselves.
I don't see how my post comes across as "I'm smarter than everyone". I know things that less experienced developers don't know, and that's a fact I know from talking to them and reviewing their code. But the culture just isn't there to be able to spend significant portions of my day effectively being their teacher (which I would love to do!). Instead it's often "the blind leading the blind" while the more senior members of the team are off delivering important projects and not having the capacity to imbue their knowledge onto the less experienced members of the team.
It's a culture thing and I wouldn't say it's a good environment for nurturing new staff. Spending 2 hours in a Teams call or at someone's desk is uncomfortable for both parties in a company that doesn't encourage this sort of collaboration. And so there's a sense to not "waste someone's time". The person you're helping sees themselves as a burden rather than seeing themselves as a student. And as a teacher, you're conscious of the other work you're supposed to deliver because it's not expected for you to be spending significant parts of your day pair programming.
Re: The worst programmer I know
#383Earlier quoted context omitted.
> "This change is hard for me to read and understand" Believe it or not, I consulted at one place where the manager decided I was the problem because I was consistently assessing problem code and team processes in similar ways. She asserted that "everyone else understood", even when they plainly didn't understand but where just going through the motions. Said manager had a number of other issues as well. Worst gig I…
I would start being less diplomatic once I get the hunch polite phrasing isn’t getting through - “this code is badly structured, brittle and will make debugging harder”. As programmers being tactless is expected so might as well use it to your benefit.
Edit to add: in 1:1s with the manager I was more direct. About the best I can say about that is "at least I tried".
Re: The worst programmer I know
#384Earlier quoted context omitted.
(I am from Europe, so I have a fairly good idea of what Unions can do, also thanks to having lived and worked in two different countries). I am not against Unionizing "per se" but the role of Unions has never been "tell the management how to run their business". There has been some cases of (smallish) company being "acquired" by their own workforce, and the Unions might have helped with formalizing the deal, but this…
Unfortunately union / labor movements in the US suffer from a big problem: due to historical circumstances they’re very combative. The labor movement here never grafted the idea of being business oriented on behalf of workers into the movement (like in Germany) rather, they treat the business as the enemy pretty much from the outset. Some of that is indeed earned by the businesses reputation, but ultimately this is w…
Re: The worst programmer I know
#385Earlier quoted context omitted.
Unions may be different in your part of the world. In America, it's one of the only ways for blue collar or other production-oriented workers to have any degree of leverage at the negotiation table. We are treated like cattle in the workplace, and though unions come with their fair share of problems (due to it being yet another leadership structure to work within), the idea of workers holding power as a group is esse…
It’s funny you mention it as a charisma roll, because it’s not really a roll, is it? High charisma is high when it’s with your interviewer, when it’s with your peers, when it’s with your business stakeholders. High charisma is useful in getting a job, in arguing for addressing tech debt, in pushing back on unreasonable timelines. Why would you not consider charisma in a job interview?
Re: The worst programmer I know
#386Re: The worst programmer I know
#387Some 20 years ago, I worked at a moderately large software company that sold a desktop application for Mac and Windows. The team had mostly Mac experience and they were just getting their feet wet with Windows. So naturally the Windows version had some problems. At the time, I was known as a "Windows expert", so they hired me to help improve that version and help the team get more familiar with Windows programming. I…
I hope that feedback didn't discourage you from continuing with your approach to software development and teamwork.
Re: The worst programmer I know
#388Earlier quoted context omitted.
Was Tommy upset?
Absolutely! But after a while he knew why there was no kind of reward whether in the form of a financial compensation, a promotion or even additional days of vacation. Simply because the law of work does not have a section for exceptional performance/achievement.
Re: The worst programmer I know
#389Earlier quoted context omitted.
Just say whatever point it is you are trying to make instead of making people guess
I'm actually quite enjoying how divisive a simple quote can be. I wonder how often I've made a comment and gotten no engagement. This quote seems to have gotten more engagement than the original comment. And quite emotive engagement. Makes me wonder what that means. Is it genuine curiosity? Or is the quote saying something that the original commenter couldn't see themselves? It's interesting they suggested if I was i…
The word for that is "trolling".
> Importantly, they did not ask me. They told me. That too tells us something about what pairing experience with them would be.
I asked and you avoided answering. What does that tell us?
Re: The worst programmer I know
#390Earlier quoted context omitted.
why? most code is not some complex algorithm where 100 lines of code can take years of genius work to figure out. Unit tests, for example, have near linear proportionality between LOC and utility. Same for comments, same for standard business logic.
Nonsense. Most people write pretty useless unit tests. Gotta get that test "coverage" high though!
It's better to have tests more sensitive to failure, like integration or regression tests.