Live data from Hacker News

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

news.ycombinator.com

81–90 of 306 posts

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

#81
post #63

Me as a manager at a startup: "Look, we have 5 months of runway. Does that make sense?" Young dev from large corp: "Yes. But if you don't use Terraform we wont be able to see our infrastructure changes over time. We don't even have a proper code review process." Me as a manager at a startup: "We have two micro instances. Do not install Terraform. Finish the import prototype... now." Young dev from large corp: "Sigh,…

I think you have some things to learn, as a manager, and as an engineer.

Don't we all?

What exactly do you mean?

Two micro instances don't seem to warrant using Terraform

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

#82
I'm surprised at the comments here acting as if change is not possible. Do people really believe that there are 2 completely separate group of coders in this world... those who "get it" and meet the best practices, and those who reject those practices and fight to never improve?

I'd say that there is a huge middle ground of coders who want to improve, but have business drivers that have stopped it from happening. And if approached correctly, improvement is possible.

Overnight change is an unreasonable expectation. But incremental improvements over the status quo absolutely can happen. You do need to approach it expecting it to take time - storming into a dev team and declaring all things must change won't go well. But picking one improvement, talking to the team about it, talking to your leadership about the cost/benefit of making the change, and then getting a consensus to make a change.... that should work. Repeat that process, and not only will you improve the team over time, but you will show yourself to be a leader and improve your career.

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

#83
It depends on the cost to the end user and the cost of failure.

At one end of the spectrum you have free-to-play games. You'd have to be insane to implement a high test coverage on that. Nobody cares if Battletoads Royale crashes.

On the other end of the spectrum you have safety critical software, financial software, etc, where the costs of failure are very high.

Ask yourself "what's the worst that can happen if this fails?". Asking this can also inform where exactly the tests need to be added first.

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

#84

I'm surprised at the comments here acting as if change is not possible. Do people really believe that there are 2 completely separate group of coders in this world... those who "get it" and meet the best practices, and those who reject those practices and fight to never improve? I'd say that there is a huge middle ground of coders who want to improve, but have business drivers that have stopped it from happening. And…

It's not the coders, it's the management. And sometimes it's not the management, it's the business, which is the market, which is the customer.

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

#85
The Joel Test :

https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s... *

The Joel Test

    Do you use source control?
    Can you make a build in one step?
    Do you make daily builds?
    Do you have a bug database?
    Do you fix bugs before writing new code?
    Do you have an up-to-date schedule?
    Do you have a spec?
    Do programmers have quiet working conditions?
    Do you use the best tools money can buy?
    Do you have testers?
    Do new candidates write code during their interview?
    Do you do hallway usability testing?

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

#86
post #8

Eeek. Doesn't sound like you're being unreasonable in your expectations at all! I've been a small business owner, and a software contractor, so I've seen a fair few medium/large python codebase of varying age and quality. To address your points from the ~10 codebase I've worked on in recent memory: - Code review: Always in place, though often the CTO has a tendency to merge without review on evenings/weekends - Test…

Adequate test coverage is hard without rebuilding from scratch. Hard to expect in a big, old company. Except when a huge codebase have to be rebuild because python2 have to be replaced (one of our software provider is in this case).

Out of all the items on the list (code reviews, CI, etc), it seems like test coverage would be the simplest to improve? Assuming it has a test suite at all, use one of the various test coverage scanners (simplecov, coverage.py, etc) and check the output for a file with a low % of lines covered. Then write one or more tests to cover the edge cases not yet tested.

It's a purely mechanical process unlike most of the other problems which depend on changing the behaviour of people in different departments and/or with more influence than you.

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

#87

Me as a manager at a startup: "Look, we have 5 months of runway. Does that make sense?" Young dev from large corp: "Yes. But if you don't use Terraform we wont be able to see our infrastructure changes over time. We don't even have a proper code review process." Me as a manager at a startup: "We have two micro instances. Do not install Terraform. Finish the import prototype... now." Young dev from large corp: "Sigh,…

Your scenario can be a lose-lose situation as it applies to the question. Speaking from experience, you can do the “agile” approach do fail fast, release faster, but with no buy-in from leadership to address the breaks in the future, your compounding problems on problems. So, short-term, you have happy leaders who see releases as they want, and unhappy devs who are in a shitshow of code. Long-term, if your startup is…

Is there any situation under which leadership shouldn't buy in to exactly what tech wants to do?

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

#89

Me as a manager at a startup: "Look, we have 5 months of runway. Does that make sense?" Young dev from large corp: "Yes. But if you don't use Terraform we wont be able to see our infrastructure changes over time. We don't even have a proper code review process." Me as a manager at a startup: "We have two micro instances. Do not install Terraform. Finish the import prototype... now." Young dev from large corp: "Sigh,…

Your scenario can be a lose-lose situation as it applies to the question. Speaking from experience, you can do the “agile” approach do fail fast, release faster, but with no buy-in from leadership to address the breaks in the future, your compounding problems on problems. So, short-term, you have happy leaders who see releases as they want, and unhappy devs who are in a shitshow of code. Long-term, if your startup is…

So much this. There is such a thing as YAGNI in the early and tight days of a startup but tech debt is something that needs to be constantly addressed, and you as a manager need to trust your team to put in the proper engineering as a solution grows. Is quick and dirty fine for a prototype or MVP? In theory yes, but understand that a lot of devs have seen that turn into the final product (with customers on it within days of the "prototype" being finished in some cases). I've seen it with some of the worst codebases I've ever encountered, and those "prototypes" and "MVPs" were never overhauled with a scalable architecture, and the startups end up running out of steam because they did not invest in their product codebase, or better, have a sustainable pace of development that allows the solution to constantly remain high quality.

Don't have the runway for that? Are you managing the startup as well as you could? Why did you tell your investors that you could do it in five months of dev time?

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

#90

Me as a manager at a startup: "Look, we have 5 months of runway. Does that make sense?" Young dev from large corp: "Yes. But if you don't use Terraform we wont be able to see our infrastructure changes over time. We don't even have a proper code review process." Me as a manager at a startup: "We have two micro instances. Do not install Terraform. Finish the import prototype... now." Young dev from large corp: "Sigh,…

> Then proceeds to blow 2 hours complaining on hacker news You are absolutely right, that was wrong. They should have instead ignored you and install Terraform.

Why not both?!
Post reply on HN