Live data from Hacker News

Ask HN: Are my expectations on code quality and professionalism too high?

news.ycombinator.com

41–50 of 306 posts

Re: Ask HN: Are my expectations on code quality and professionalism too high?

#41

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…

It's faster, because once the code is reviewed and deployed, it most likely works. And test ensures that this functionality stay in place with (almost) no bugs. The opposite is a shitshow that looks fast to inexperience people...

Re: Ask HN: Are my expectations on code quality and professionalism too high?

#42
In my engineering days there was a saying: you can have it quick and cheap and high quality, but you can only have 2 of those 3.

Spunss 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?

#43

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…

working in a large company with tons of spaghetti code and i can assure you it’s a real thing and that it not only slows you down it can actually strangle your company.

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?

#44
These setbacks are demoralizing

It 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?

#45
post #13

Oh 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.

Yes, run.

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?

#46
> ... this is what mid-sized companies are and I just have to endure and keep pushing.

For 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?

#47
Your standards aren't too high but I think you must realise that this is a cultural problem with little hope of changing. Even if the push comes from the CTO, it will take years for change to happen, it will require new hires and bringing new blood into the engineering leadership.

If 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?

#48
post #36

I 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,…

I think it's fine until your product and team reaches a certain size. Our product is currently beyond that point but out tech lead still carries on adding more stuff and not adding any tests.....

Re: Ask HN: Are my expectations on code quality and professionalism too high?

#49
You have reasonable assumptions of a minimum quality level. Looks like you botched the “Do you have any questions?” part of your interview there. One indicator I’d look at when making the decision to stay or walk is the people that are hired. Are they feeling the same way as you? If not, you might have accidentally ended up in a sweatshop.

Re: Ask HN: Are my expectations on code quality and professionalism too high?

#50
Your expectations are neither unreasonable, nor reasonable, without the context and environment of the business and market it operates in.

For 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.

Post reply on HN