To counter the flood of 'you sound reasonable', I think you are probably being unreasonable. The hint is "spaghetti code". What might have happened is you started slagging off everyone's code as soon as you've come in and now you're plucking at straws to justify it as you're getting ostracized. Also, objectively speaking, how can writing MORE code and spending MORE time talking to people be faster? Your argument make…
Ask HN: Are my expectations on code quality and professionalism too high?
41–50 of 306 posts
Re: Ask HN: Are my expectations on code quality and professionalism too high?
#42Spunss like you work somewhere quick and cheap. That's not wrong per se. If lives depend on the outcome, you need quality. But I worked in plenty of financial places that were quick and cheap. Especially back office.
Ask yourself: would the organisation be better off if we were higher quality BUT it meant we were slower or more expensive. If speed is more important, welcome to spaghetti code land.
Re: Ask HN: Are my expectations on code quality and professionalism too high?
#43To counter the flood of 'you sound reasonable', I think you are probably being unreasonable. The hint is "spaghetti code". What might have happened is you started slagging off everyone's code as soon as you've come in and now you're plucking at straws to justify it as you're getting ostracized. Also, objectively speaking, how can writing MORE code and spending MORE time talking to people be faster? Your argument make…
making sure no more of it gets to production has become a top priority company-wide
Re: Ask HN: Are my expectations on code quality and professionalism too high?
#44It is, and after enough time you'll find yourself repeating the same bad practices, because there are likely strong incentives in place for that.
In this case my question would be: are the products you deliver meant for consumers, businesses or developers?
Because from my experience these groups have different expectations regarding quality - here shown in ascending order - and require an appropriate approach in each instance.
Re: Ask HN: Are my expectations on code quality and professionalism too high?
#45Oh my. Run away. If that is their current culture, there will be a lot of pushback if you want to initiate changes. Especially among the senior (responsible for the mess) ones who get defensive real fast. Maybe ask more about how their engineering culture is next time around during interviews.
I've been trying to improve our standards for years, it never gets traction.
Re: Ask HN: Are my expectations on code quality and professionalism too high?
#46For your own well-being and career happiness, I think you'll need to be strategic about exactly how you "keep pushing" for change.
Changing habits in an organization is _extremely_ difficult. You can't just provide a list of practices, make a terse case for each one, and expect people to just say "Oh, I see, you're right, let me retrain myself on multiple complex topics and then change everything about how I work, while at the same time figure out how to explain all this to project managers."
The time scale for implementing what you call "the basics" in a workplace with a dozen or so people is going to be more than a year-- at best, if you do everything right and are people person with enormous leadership leverage.
Read about "Diffusion of Innovations" (https://en.wikipedia.org/wiki/Diffusion_of_innovations). It's an arguably successful theory for how organizations implement technological changes. It was originally conceived by social scientists who studied how farmers (that's right, the agriculture industry) adapted to change. The most fundamental aspect of putting this theory to work is that you need to recognize and find "early adopters". Early adopters have two characteristics which are important for spreading change: 1. they're willing to try new things just for the novelty of it, 2. they're influential, others look up to them as examples. If you focus you initial efforts on a very small (even 1 or 2) "early adopters", that's the first step to success. There's a lot more after that, like training and dealing with laggards (people who need to be forced to change), but I don't want to type an article.
Re: Ask HN: Are my expectations on code quality and professionalism too high?
#47If you do want to take the challenge (which I strongly discourage you from) you'd need to collect data to build your case, quantify the time and human cost from issue/jira to code landing in prod to number of incidents/bugs. The instrumentation to do this will be a fairly chunky piece of devops work. Frame the data in light of your competitor's ability to iterate their products and so on. When it's collected and presented it can be quite compelling and people will listen.
It's only at this point you'll be able to present the problem to management in way that they understand. You know and I know that this is a cultural problem first, then a process problem and lastly a technology problem. The amount of work to effect this kind of organisational change, even in a small engineering company is immense. I don't know your motivations are for staying, if it's the domain or the money but if this something that bothers you then this is the best piece of advice I can give you:
Run, head for the hills, and don't look back.
Re: Ask HN: Are my expectations on code quality and professionalism too high?
#48I have been in both kinds of companies. 20 years ago, having none of these basics was almost the norm. It can work, and sometimes I even miss those days, because it can be fun and very fast paced. However, it also comes at a price. There's a constant, high stress level because things break all the time, even on production, and you have to be quick to fix them, often directly on production. I wouldn't want to go back,…
Re: Ask HN: Are my expectations on code quality and professionalism too high?
#49Re: Ask HN: Are my expectations on code quality and professionalism too high?
#50For some products, companies and their markets, the expectation from the users/customers could be so low that the mere existence of the product can be quite disruptive.
In fact, (most) startups exist to pursue an idea of disruption.
As the product, company, market and customers evolve, the expectations begin shifting.
This leads to an inevitable choice across a spectrum from leaving things as they are to rewriting entire stacks.
If the leadership can do a good job hiring the right people to both navigate the chaos and know how to get to a better place, things would then evolve, in whatever pace that can be allowed by the business, given calculated risks on engineering practices or lack thereof.
The key here is the "right people", rather than just "more people".
Based on the information shared, you sound like you are the right person to lead an engineering quality and reliability initiative.
Although, I do assume that you may not be the right person because you are failing to cope with the current chaos.
That being said, the mere fact that you're seeking counsel here tells me you are willing to manage this. I think that's a great start.
At this point, I belive there are two (and possibly more) things you can do:
- Talk to the key people in leadership to understand how they perceive the current situation and whether they are willing, if not even intent on, improving the status quo.
- Ask yourself for how long more you can navigate the chaos and whether that takes away from your mental and even physical well being.
Perhaps shifting your perspective and being intentional about it can help. This could even be the best thing that happened to you. Fast forward a few years, you'll perhaps have become an engineering leader who has had the opportunity to have experienced a huge paradigm shift and worked on solving its challenges.