Earlier quoted context omitted.
I wrote two mails yesterday which basically "push back against upper management", for a very good reason. At least that's what I think. Now I'm totally terrified about what will happen tomorrow. I have 4 kids and almost no money in the bank.
As long as you're tactful and willing to cede your argument if they don't come to see your side, there shouldn't be any reason to be terrified. If you act diplomatically and still have crazy bosses, might be good to find a different job if you can, or just not care and get your paycheck.
How terrible code gets written by sane people
131–140 of 151 posts
Re: How terrible code gets written by sane people
#132I like the article but I found the implied solution a little humorous. Just hire devs who are great coders, great communicators, stubborn enough to push back against upper management, good hearted enough to sacrificed their own KPIs to focus on the success of their project, and massochistic enough to stick it out at an obviously poorly run project. Good luck Side note, for 15 years of experience the project doesn't s…
The irony is that some of those qualities are probably more likely to get you fired rather than valued.
Re: How terrible code gets written by sane people
#133I like the article but I found the implied solution a little humorous. Just hire devs who are great coders, great communicators, stubborn enough to push back against upper management, good hearted enough to sacrificed their own KPIs to focus on the success of their project, and massochistic enough to stick it out at an obviously poorly run project. Good luck Side note, for 15 years of experience the project doesn't s…
Every conversation I've ever had with management about rewriting/refactoring has been fruitless. Now if I think it's necessary I just bake it into feature/bugfixing. The work takes ~20% longer which just means that features and bug-fixes take 20% longer to deliver.
That doesn't really get pushback, whereas asking for an extra week to do some cleanup work certainly does.
Re: How terrible code gets written by sane people
#134It feels like people are focusing on bad conditions and unreasonable deadlines, and not the idea that in the real world smart people under execellent conditions do this very, very frequently. I've worked for long periods of time in 3 codebases that were over 2 million loc in my career, all had great conditions, all had very smart people. Those are not huge codebases by any standard, and yet all 3 had people talking a…
I think the best we can do as software engineers working on legacy code bases is stop making assumptions about authors of the code and do not think that we are smarter and could do better.
Legacy code is not just a text. It's a big amount decisions made for a reason. What we lack is a history of those changes. So if we see something we call "anti-pattern" or "code-smell" we need to think twice is it really the case or we are missing something.
Inexperienced programmers tend to simplify things and swear at bad code. They think that they could design this code better and assume million of things about the code and its authors. I think it's unprofessional.
We need to avoid making assumptions if we have no real evidence. Be cold-minded. Refactor and improve step by step. And don't rush to rewrite huge code bases from scratch: are we sure we won't end up with the same code mess and we are smarter than authors of legacy code?
Re: How terrible code gets written by sane people
#135If you are smart, you will say that you are not interested in having that money if it comes from a loan. If you are not smart, you will say: "wow, this guy is a 10x salesman, we will give him a bonus". Meanwhile the company gets into an unpayable debt beyond any possibility of paying.
Then, when the company is about to die from debt, they declare bankrupcy and start over or sell themselves to be acquired.
Now, imagine it's not salesmen, but software engineers, and it's not actual debt, but technical debt, and it's not bankruptcy but starting your project again.
Re: How terrible code gets written by sane people
#136Earlier quoted context omitted.
> Just hire devs who are great coders, great communicators, stubborn enough to push back against upper management, good hearted enough to sacrificed their own KPIs to focus on the success of their project, and masochistic enough to stick it out at an obviously poorly run project. This is a pretty close description of the positions I find myself in as a dev and I don't think this combination of qualities makes me more…
100% the same and I agree. getting fired and being worried that my next decision will get me fired has caused me all kinds of anxiety issues. I recently decided that given my personality I'm not well suited to working as an employee for an employer and have gone solo. I don't want to feel like a victim to bad management or that my future and personal worth are tied to a single company as good/bad as they may be. I wa…
Re: How terrible code gets written by sane people
#137"An important component of this project was the focus on deadlines, even to the detriment of code quality. If your developers have to focus on delivering rather than on writing good code, they will eventually have to compensate to make you happy. "
AAAAAAAARGH!!! Seriously? What do you think you're there for?
Good code can be a means but never an end. Of course you're there to deliver. And of course it's more important to do that than to write beautiful code.
Give me strength.
Re: How terrible code gets written by sane people
#138Earlier quoted context omitted.
> Just hire devs who are great coders, great communicators, stubborn enough to push back against upper management, good hearted enough to sacrificed their own KPIs to focus on the success of their project, and masochistic enough to stick it out at an obviously poorly run project. This is a pretty close description of the positions I find myself in as a dev and I don't think this combination of qualities makes me more…
100% the same and I agree. getting fired and being worried that my next decision will get me fired has caused me all kinds of anxiety issues. I recently decided that given my personality I'm not well suited to working as an employee for an employer and have gone solo. I don't want to feel like a victim to bad management or that my future and personal worth are tied to a single company as good/bad as they may be. I wa…
Looking back, I think most people going solo start as contractors and also diligently save at least a half year living expenses before hand.
I've begun saving but it's slow going and I'm getting impatient. I greatly enjoy the feeling of making my own destiny and having employees to care for, the idea doesn't scare me as much as it seems to bother most people.
In a position of leadership it's possible to build your own little utopia. It was a great feeling to build a bubble in a world that's usually shit, where a lucky few actually enjoyed their work and each other's company. Alas that opportunity has passed and it's nigh impossible to go from the job title developer to manager without climbing a ladder for years and brown-nosing.
Anyways, how do you recommend getting started? Like most career devs my company has me locked down with contracts so the usual advice of starting a side business isn't possible.
Re: How terrible code gets written by sane people
#139One thing I've been thinking about more and more is code that's easy to delete. For example, we recently built a data pipeline that did a bunch of processing and wrote data to a SQL database at the end. For various reasons, there was an unscalable, quick way to implement the write, and a scalable, slow way to do it. We wanted to get the product to testing ASAP, so we chose the quick way initially. In order to make su…
What you are describing seems very familiar to the idea in this [0] talk that I saw mentioned in the other thread on HN. Basically, the speaker argues that any codebase has a tendency to become a big bloated mess. The proposed solution to that is writing highly modular code that you can easily rewrite from scratch in a week. [0] https://vimeo.com/108441214
Re: How terrible code gets written by sane people
#140I like the article but I found the implied solution a little humorous. Just hire devs who are great coders, great communicators, stubborn enough to push back against upper management, good hearted enough to sacrificed their own KPIs to focus on the success of their project, and massochistic enough to stick it out at an obviously poorly run project. Good luck Side note, for 15 years of experience the project doesn't s…
I wrote two mails yesterday which basically "push back against upper management", for a very good reason. At least that's what I think. Now I'm totally terrified about what will happen tomorrow. I have 4 kids and almost no money in the bank.
Explain to your managers the range of outcomes and give them the power to make the decision with the best information you can provide them.
i.e. 'if we skip this bit, then quality will likely suffer, with these kinds of expected outcomes'.
Don't be dramatic or emotional, just try to give the best information you can.
Also have sympathy for them - money does not grow on trees - and basically balancing quality vs. time-to-market is a constant and difficult challenge.
This way - if they decided to 'rush' it - they know what the likely outcomes will be and the inherent outcomes.
If they are making the decision then the responsibility falls on them to the extent that you have provided them with thoughtful and realistic assessment.