Live data from Hacker News

I’m a Bad Developer, That’s the Only Reasonable Explanation

medium.com

111–120 of 130 posts

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#111

Aside from the judgment on whether the employer was terrible or not for making OP track the time, etc., if everyone tells you're slow, doesn't it occur to you that you may actually be bad? I finished reading the post but cannot figure out what OP is trying to say. The title doesn't match the content. At first it sounded like it was one of those rant posts exposing the employer for mistreating, but then at one point i…

Well, I'm kind of in the same position: I'm slow. I do everything by the book, but in the end, everyone else does more. I did notice that they're cutting corners, but then I tried to do it too, and I was still slower. So, I'm still asking myself, am I slow or am I a perfectionist? I'd like to think it's the latter, but it may very well be that I'm slow. My defense in my mind is that even cutting corners I try to do t…

I was a lead once, and had an employee that was slow. He took 3 days to make a tool that should only have taken 1 day. He would sometimes get stuck on a bug for hours, and would stay late or come in early to try to figure it out. Sometimes the bugs turned out pretty obvious (to me).

But he had one quality that I really appreciated as a lead: he persisted in what he was doing until he got it done, and without complaining or needing any prodding. So I actually did not mind much at all that he was slow, because I could "fire and forget" him at something that was important but not urgent.

In fact, the main problem I had with him, was that sometimes he would get really angry about some code or a bug, and slam his fist on the desk and/or swear. I mentioned it but you know how code is, when you're really engaged with it, the process can be emotional, and it was hard for him to temper those impulses. It was never really bad, although I was aware that not everyone wanted to pair with him. Which was fine, we generally worked around it, but when allocating tasks, he sometimes got the short end of the stick because of it.

Everyone wants their employees to be the trifecta of talented, hard-working, and nice to work with. But most employees are missing one of those traits, and some are missing two. You sound like a diligent worker but maybe not a genius. That really should be okay for both you and them, and if your manager is good he will appreciate that. But consider, are you nice to work with? If you have a choice, maybe spend your effort that way, instead of worrying that you're not talented (enough).

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#112

Earlier quoted context omitted.

No, I am not a professional basketball player. I can't even compete in a neighborhood pickup game. That is the point; I lack the raw material to be a professional athlete. It's very possible to be bad at something AND know that you're bad at AND not be able to reach the proficiency to perform the task at a professional level.

But, at the risk of pointing out the bleeding obvious to those who seem to be struggling with reading as well as basketball, it would then not be your job.

Okay, let's use another example. I waited tables in high school. I was very bad. I knew I was bad, but I worked hard to improve. Still, even after a few years of experience a random person who had never had a job before could walk in and get better tips than me. My boss wouldn't fire me because I showed up for shifts, but I was generally a very poor waiter. Eventually I got smart and stopped waiting tables, and the world became a better place.

It's very possible to be bad at something AND know that you're bad at it AND not be able to reach the proficiency to perform the task at a professional level.

Also, it's pretty clear that I can read. If you are going to insult me, it's better to insult my comprehension or argumentation. However, I would argue that it's generally better to just not insult other people.

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#113
post #110

Earlier quoted context omitted.

I agree with your assessment. As you get experienced, I think it's beneficial to be able to learn to be both fast/sloppy and slow/meticulous given the circumstances. Having worked in both enterprise scenarios and startup environments, I've learned that it's really a result of larger environmental pressures. If you're working in long-range software, it's by far more beneficial to be a bit slower and more meticulous in…

You know what sucks ass though? The 10x developer that isn't actually a 10x developer, but continually gets to start projects! So they get to do that part where you can make 80% of the program in 20% of the time. They slap it together, and move on to the next big thing. Leaving everyone else to clean up their rushed mess that barely works.

That's probably the appropriate way to tackle new projects, you know. Most ideas suck. Therefore the first (few) versions of such software is perfectly reasonable if it's rushed.

I hate that I work at a big company and we get into new project discovery mode and then take 3-5 weeks to code up extremely over complicated prototype programs. But they have tests (usually more than code), they have "good design", they have code that's reviewed and sent back at least thrice, they're stable, they've got monitoring, ... And they take huge amounts of time.

The one quality all of that has is that everybody agrees it's a good idea. When trying to quantify what that means ... I completely fail.

The design always fails to account for something. I have had it happen once that the initial design actually lasted to "v1.0", in 3 years. So I'm becoming unsure what makes a design good, except everyone agreeing that it's good and a certain "clean" look there is no difference between a good and bad, clean and messy, thought through and ad-hoc. Good designs don't survive a few feature iterations any better than bad designs, but they impose lots of extra costs on feature iterations. And that's assuming people don't make the mistake that turns the best of good designs into horrible designs : sticking to it. Attempting to fit new features into a design that didn't account for them can make the most beautiful design an utter disaster.

Same thing about reviews. Reviews seem to make people make huge changes in one go, because that feels much better if people regularly argue about much of it, compared to having to redo a change that by the time it's reviewed 5 other things depend on, where you get to throw out the 5 other things. And of course fairly commenting on huge changes is not done because pretty soon you'll feel guilty about the amount of work you're causing. Which is exactly why people have a better experience making huge changes, of course.

Tests ... never prevent bugs. Now I'm not saying tests don't have value, but the current testing culture is utterly and completely broken. I've simply decided to hack the system : a cli to your methods that allow you to quickly do ad-hoc tests and record them into generated code. Why ? First, it allows you to test against real-world data, which means your idea of what your code does actually meets real world data instead of artificial cases that may miss the point in the same way your code does. Second it allows you to quickly regenerate the tests if there is some big change needed. And thirdly it completely hacks the system. Getting coverage is trivial. And your LOC stats will be through the roof. Double bonus if you do this for less-than-expressive languages like C and Go, it's less necessary for things like Java and C++.

But "best practices" seem to make everyone happy in big companies, make everything take very long, and because of that very often cause the failure they're trying to prevent. It's like in chess : people like "safe" moves once you've beaten them once or twice. And in 10 moves or so they get themselves into a situation where they have to give up that safety, and your "haphazard" moves turns out control 80% of the board and fighting from that situation is not going to go well. But it's the desire for safety, the fear of loss, that's exactly what's causing their loss. They don't see things this way, though. If only they'd moved this piece to cover that as well, then it would have been fine. It doesn't even seem to matter if you show them that no, it wouldn't have been fine. That the issue was their attempt at securing what they did resulted in a complete takeover by the other party.

And every attempt I make at changing this fails, often with people having emotional breakdowns and complaints. And then their projects fail, again and again. Multiple times people have been very angry at me for providing a solution to some problem they were doing a 2 year project, restarted from scratch 3 times, for by writing a 300 line script that utterly kills interest in their project because it works and solves the problem. Apparently that "violates trust".

I don't understand why businesses want this. It keeps the peace, yes, practices like this, at the cost of efficiency, at the cost of developer sanity (developers wash out after about 5 years despite the current employment conditions, and often become non-developers. Hell, several people I know became accountants and prefer it over software development. Seriously).

And despite this, people seem to further down the rabbit hole every time I seem to look at it. WTF ?

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#115

Being a developer always means getting stuck on some trivial crap for a full day and going to bed angry. One simply makes up for it by those times when you create fantastic value in thirty minutes. You find the bug right away, or a new feature or deployment just falls into place smoothly. Software development is like solving math problems - it's not a continuously progressing process, no matter how much the agile pri…

article OP here. I should mention that I'm a Lead Dev for a whole team (which is why I write this anonymously).

I'm not sure if I'm humble. I sure as hell am not when I'm interviewing but I blame that on American culture.

Thanks for the feedback! :)

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#116
post #20

I have worked at many places, many dev jobs. I've worked with people shipping features faster and slower than me. But that's very subjective. Using it as a metric or even pointing it out doesn't make sense to me. I've been forced by managers to merge or even ship features that are half-way done. I have to agree with other people advising you to switch to another place. If you are working in a toxic environment, or yo…

Article OP here, it was supposed to be implied that this was a job I worked at in the past (the time tracking thing).

I confronted management about the time tracking but it was one of my first jobs so I had little experience with that kind of thing. The job was a nightmare in so many different ways that the time tracking was the straw that broke the camel's back.

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#117

Aside from the judgment on whether the employer was terrible or not for making OP track the time, etc., if everyone tells you're slow, doesn't it occur to you that you may actually be bad? I finished reading the post but cannot figure out what OP is trying to say. The title doesn't match the content. At first it sounded like it was one of those rant posts exposing the employer for mistreating, but then at one point i…

Article OP here.

God, I love Seinfeld so I feel a little flattered by that! :)

The article is more of a musing about an insecurity than anything else. But as to the content, maybe I can explain a few things better:

1. The management WAS bad. The job where I was time-tracked was a nightmare in so many different ways. However, it instilled a sense of insecurity in me. A single comment from a manager at a completely different company brought all that stuff back up and ever since then, I haven't been able to put my mind to rest about my own performance.

2. Developers are often quick to blame management for problems without considering that THEY might be the problem. So I mentioned that when someone tells me "The management is bad if you're missing deadlines", it doesn't make sense to me as a blanket statement.

3. I concluded with saying that I have certain abilities that I recognize as good but I'm still wondering if that's enough or anywhere near enough.

Thanks for the feedback though! I'm trying to do better with writing this type of stuff so that it's as concise and self-explanatory as possible. Looks like I still have more work to do.

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#118

Aside from the judgment on whether the employer was terrible or not for making OP track the time, etc., if everyone tells you're slow, doesn't it occur to you that you may actually be bad? I finished reading the post but cannot figure out what OP is trying to say. The title doesn't match the content. At first it sounded like it was one of those rant posts exposing the employer for mistreating, but then at one point i…

The time tracking thing actually resonated quite well with me. Where I work, we also track time on very specific items (with JIRA/Tempo, which even includes a "stop watch" on each issue). How I dread logging the hours there! Especially if it's a day or two after the fact. The items will often be specific features to be developed. And so I sit there, with the time sheet (and 20/20 hindsight, of course) asking myself:…

Article OP here.

The time-tracking we did was real-time. You sit down, you press "play" and you're tracking. The added bonus (oh jesus, I forgot about this one) was that your status was visible to your manager at all times.

Anyways, thanks for the thoughts!

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#119

I got the "you're a bit slow" once. Which was funny, because I was very focused and felt very productive at that time —more than ever before. Plus, some of my code allowed a business expert to contribute directly, which made us even faster. I have since realised it had nothing to do with my actual performance. It was a people thing.

Please elaborate on the people thing.

During my job interview, I was told we were going to be equals. Like, explicitly. He was older, and came to the project earlier, so I still deferred to him. Nevertheless, I treated him like a peer.

Turned out he wanted to be the boss —that was made official 2 months after my arrival. On my very first week, he started to make disparaging comments under the guise of joke (or were those real jokes?). Those soon occurred daily. Sometimes in front of the client, who (surprise!) eventually lost trust in me.

If this was my only experience, I would have thought it was me. But I have since received enough external validation about my skills (people looking up to me, actual results…) to know better. For some reason, the guy could not stand me, so he got rid of me. Another small detail: he never smiled at me in the morning when we shook hands to say hello. He did smile at everyone else.

Re: I’m a Bad Developer, That’s the Only Reasonable Explanation

#120
post #79

Being a developer always means getting stuck on some trivial crap for a full day and going to bed angry. One simply makes up for it by those times when you create fantastic value in thirty minutes. You find the bug right away, or a new feature or deployment just falls into place smoothly. Software development is like solving math problems - it's not a continuously progressing process, no matter how much the agile pri…

And here I have thought hubris was one of the most important qualities of a good developer, along with impatience and laziness. Having a belief you can do it right is important to getting it right.

The humble bit is what makes sure that once you think you got it right, you actually got it right :)
Post reply on HN