Live data from Hacker News

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

news.ycombinator.com

121–130 of 306 posts

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

#121

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

For some years I was the developer you talk about, who always knew everything better, now I am a manager at a startup. So I was able to see both sides of the discussion.

I feel like it always comes down to a communication issue. Team members need to feel heard, and feel acknowledged that you fully understood what they are suggesting. On the other hand they need to understand that there are constraints that force a decision that might not technically be the best, but is pareto optimal. When this discussion occurs I sometimes bring up the analogy of these space movies where they put everything on a table that the astronauts have up there and try to make something out of it that mostly consists of duct-tape. Sure there are better tools, but the stuff on the table is all we have. Another thing that took me very long to understand as a developer is that innovation is a risk that might not always make sense economically. A thing that took me long to understand as a manager is that the happiness of your devs is one of your most precious resources that you have to manage well.

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

#122

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.

Do you have customers who want fast but unstable products? I don't. On the contrary, when we talk to them about our product roadmap, they are more than happy to wait for new features in order for us to improve the stability.

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

#123

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

This. Though, I think the exact example may be debatable.

The (appropriate) question was “We have 5 months of runway, does this make sense?”

Assuming the manager is halfway competent in listening to their team, then this should be a useful focusing activity for both the dev and the manager.

In business, and in life, it isn’t about what you “can” do, it is more about focusing on the handful of things that give you the biggest “bang” for the buck. Think Pareto law, and how you can get 80% of a result, for 20% if the effort.

So, in the context of the scenario, the developer should be asking themselves: 1. What problem does solve now or will solve in next 5 months? 2. How painful is the problem, and what is it’s frequency (High impact, but low probability; moderate impact, but high probability).

3. What is the cost of the new process/tool to the team? (Time, cognitive load, $$$ that could be spent elsewhere).

As long as ratio of value to cost is large (10X or more), in the timeframe that matters (in this example 5 months, for most companies time is measured in years), and you can articulate it, selling the idea should be a no brainer.

However unless you can truly get that 10X(or more) return, then it might be better to focus your improvement activities elsewhere.

All that said, I do think the “Command voice” at the end is a bit of an issue... at least for me. You are “pulling rank”. This is “okay” if you have built up the “rep”/karma/trust to do so, but unless you have, will likely make the dev (long term) run for the hills. It might take a bit more time/coaching to explain something like the above to them, but that is an investment in people that lasts a lifetime, whether or not the startup lasts past 5 months.

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

#124
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

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 and more intuitive than bothering with the AWS console, and I often reference Terraform's own AWS resource documentation over the AWS docs since it usually has better information density.

Anyway, the issue is all beside the point, I think we realize that Terraform was used as a placeholder example. Another example might be setting up single sign on, Active Directory, and other things that are truly not necessary for a company of that scale.

The other part of this that if you've got a startup with 5 month runway and 10 employees, hiring an Infrastructure as Code SME is probably not the best use of your dollars. Sure, I was able to put this side project in Terraform in under a day, but I also can't write a front-end application to get myself out of a wet paper bag.

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

#125
post #80

> I know how fast it is to develop when people write good code with discipline. Interestingly, IMO writing good code with discipline is also slow (CI breaks, code review takes forever, updating unit tests takes time, integration tests take a long time to run etc.). The main advantage of disciplined process over the cowboy approach is that, in cowboy approach, the code can become unworkable after a couple of years, wh…

From my observations the payback is far quicker than a couple of years. Unstructured with below average coders we are talking a mess in weeks that becomes intractable without a lot of work.

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

#127
I'm on sabbatical right now because I get how frustrating that can be. That being said, maybe me sharing some points about my sabbatical can help put things into perspective:

- It's taken four months since my project (a personal-use hybrid OLTP/OLAP streaming BI framework) has started, and I'm only wrapping up the development now. I'm fine with this because I know what I want and I don't want to deal with users while things are in flux, but if this was a business, I'd be out on the street by now.

- Engineers are paid well because there's not that many of us. It's not because we're important. Sales is what brings home the bacon, marketing kicks off the sales funnel, customer support closes the sales loop, product management translates sales' requirements to engineers...and engineers just build the thing according to requirements. Many one-person startups don't have engineers, or even anybody technical, they just use no-code tools and pay contractors and they do just fine.

I'd consider broadening your options in order to grant yourself more agency, especially paid solutions that you can form a demonstrable ROI-based argument for. Terraform may seem like a bit overkill, esp. if you don't have serious cloud charges. Maybe managed APIs as a service makes sense, like Netlify, that have CI/CD and can spin up various apps for money. Then you can say "for $25 / mo. we save X developer hours, which @ market rate saves us $XXX per mo. which increases our runway by this much."

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

#128

Earlier quoted context omitted.

This is why it's important that early team members are experienced engineers. They know which corners should be cut today to get the prototype out, and which shouldn't because they'll take 30 mins to do "properly" and save a day of work before the runway is even up. I work in a small company that has all the things the author mentioned and that can work quickly as a result. Almost none of it comes from "we'll do it t…

I highly agree here. Do not staff a very new startup with junior engineers and expect a good outcome. Furthermore, you absolutely do need to cut corners _somewhere_, but a seasoned team understands that taking on such tech debt will require a reduction in velocity at some point in the near future. It is then incumbent upon engineers to ensure management understands that the team is borrowing from future velocity to d…

Really, really agree. Especially on the last point. Having a small, experienced team is I think the least risky way to build products. Taking the right shortcuts is the big advantage here. Not only about technical debts, but also on reducing planning things to the last detail and reducing overhead on researching best practices for a non-proven stack.

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

#129
post #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…

You mention f2p games, but those definitely need testing because they can bring in money that most startups and other companies can only dream of. If their servers go down / if the game becomes unplayable they stand to lose millions.

But I guess there's plenty of games that don't have that kind of criticality. Just mentioning a counter-example. (Personally I'm still salty that GTA Online was released for free but the servers couldn't handle it, I mean come on, it's a decade old, you'd think they'd have sorted out scalability and stability by now. That game still earns its publisher hundreds of millions a year).

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

#130
My suggestion as a candidate remember that you are also in charge of interviewing the company you are applying for. Joel Spolsky had "The Joel Test" and it was written decades ago This author tries to revise it: https://dev.to/checkgit/the-joel-test-20-years-later-1kjk

The interview is often seen as a one-sided interaction you are on the "I hope they like me", and the company is like "can they do the job?" when in my experience you should treat more like a date: do we have similar tastes, what we have in common, where we differ, can we make this relationship work?

I don't think your expectations are too high, it's just that you as a professional can work at most into what, 35 companies during your entire career? If you stay at most 1 year on each company. That sample simple is very small and not indicative of the industry.

Improve how you select your next job.

Post reply on HN