Live data from Hacker News

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

news.ycombinator.com

141–150 of 306 posts

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

#141
post #86
post #8

Earlier quoted context omitted.

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 oth…

Depends, code that was not written with testing in mind can be very difficult to cover without some major refactoring.

Adding the first tests can be a slow and painful process.

Now, once you have those few tests? Yep! Add a few tests along the ones for the new functionality every time you touch a piece of code or pick the low hanging fruit every now and again and you can get to a useful test suite in no time.

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

#142

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

> Young dev from large corp: "Sigh, ok, just saying in 2 years from now we wont be in a good spot". Except in my experience it’s not two years , it’s two months . And I can set up two micro instances with terraform in less than an hour. So soon you’re burning your three months of runway with development at 20-50% efficiency, and have no ability to pivot, if needed, because your infrastructure is rigid and hardcoded.…

At the same time, it also means collectively we don't know what we're doing to get where we're going and are just throwing stuff at a wall to see what sticks.

It also made me think of the Apollo 13 movie.

The engineering/process people got the thing into space, the adaptable/dynamic solve it with 'gaffer-tape and whatever is laying around' people got the thing home.

We still need both approaches for different reasons.

“Personal survivor bias“ accidentally chooses a side for you.

Experience eventually makes one realise there aren't diametrically opposing sides, just different capabilities needed in different circumstances.

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

#143
I think that you should bind your standardS to the business. What you said are absolutely best practices recognized on the Accelerate book. But they also require time and effort (well it really depends, you can have everything deploying an app on Firebase using GitHub CI for example and run the tests). Do they actually change the cost of delivering in your case? Are you actually able to demonstrate what is the gain? Also? Do you have a market fit? All of this is not really important if people are not using the product. In short I think engineering standard are important but they always need to be put in the context you are working. If I’m opening a startup I need to test my product with customers. I will probably need to change the UI and the business logic many times. I could not care less about proper automatic testing in this phase. Once I have the product then I can get worried about engineering best practice.

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

#144
post #124

Earlier quoted context omitted.

Don't we all? What exactly do you mean? Two micro instances don't seem to warrant using Terraform

Once you're experienced writing Infrastructure as Code, you always use it, no matter how small the project is. Right now I run a single micro instance for a personal project and I've got the whole thing Terraformed, which took me less than a workday - VPC, subnet, security groups, S3 buckets, and a basic provisioning script to setup the instance's software and cron jobs. It is (eventually, once you learn it) faster a…

Not sure about the run-way thing. I'm also partially a six sigma / lean guy, and doing things right in the first place is a key lesson I learned, sometimes the hard way (aerospace definitely drove this home as well).

I would make the case that, even with 5 months of runway, you should invest in a solid foundation. Because if the company goes down, it does. Only a little bit earlier. if it doesn't, which is I assume the reasoning behind the company in the first place, getting the basics right now has a huge impact on runway and scalability later on.

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

#145

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

> Young dev from large corp: "Sigh, ok, just saying in 2 years from now we wont be in a good spot". Except in my experience it’s not two years , it’s two months . And I can set up two micro instances with terraform in less than an hour. So soon you’re burning your three months of runway with development at 20-50% efficiency, and have no ability to pivot, if needed, because your infrastructure is rigid and hardcoded.…

I agree. While I'm a big proponent of "as simple as possible", often when people say "x is overkill", they mean "I don't know x" (where x != k8s of course).

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

#146
post #63

Earlier quoted context omitted.

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

If the infrastructure is simple, the Terraform is simple too.

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

#147

Earlier quoted context omitted.

Rapid prototyping does not mean abandoning established programming practices that help people feel confident about their work.

Yes it does. The clue is in the name - prototyping . A prototype is only supposed to prove the concept works; it doesn't need to be good. The problem is that most companies can't do prototyping because they don't have the resources. They build a prototype, and then they don't throw it away and build the proper version and they use as production.

I was hoping to see the word 'protoduction' in your comment.

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

#148

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…

There is a "overkill tactic": do all the improvements for yourself at your own expense (your personal productivity and heat from the stakeholders). In this case you're doing it all yourself plus you take on the overhead of building the interface to keep the workflow of others unaffected.

You'll get fired or you'll gain the support of other developers who won't see you as a threat (because of your low productivity and because of the handy things you do).

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

#149

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

> Young dev from large corp: "Sigh, ok, just saying in 2 years from now we wont be in a good spot". Except in my experience it’s not two years , it’s two months . And I can set up two micro instances with terraform in less than an hour. So soon you’re burning your three months of runway with development at 20-50% efficiency, and have no ability to pivot, if needed, because your infrastructure is rigid and hardcoded.…

> And I can set up two micro instances with terraform in less than an hour.

The post was more of a metaphor than a concrete example.

However, as a manager I can’t count how many times my team has declared that they can do something in under a day only to have it become a part-time job for someone to maintain indefinitely, or a multi-week rabbit hole as they debug some unexpected behavior, or technical debt as they neglect to document their solution, or a productivity bottleneck as everyone else must now either learn Terraform or wait for the Terraform guy to be available to help and so on.

When I transitioned from IC engineer to engineering manager, I quickly learned that engineers frequently assume the best-case scenario for their time estimates, while managers end up planning for the worst-case scenario. The catch is that it’s difficult to tell an engineer that their time estimate could be an order of magnitude or more short of a realistic estimate without implicitly insulting their abilities in the process. ICs also quickly forget that many of us managers were once over-optimistic IC engineers as well.

Post reply on HN