For all those saying "get a new job": not that simple. Immigration. If things are real shitty (which they aren't!), I'll get a new job anyway and move back home. But I'd rather not.
Ask HN: How to convince big tech team that tests and code quality matter?
21–30 of 76 posts
Re: Ask HN: How to convince big tech team that tests and code quality matter?
#22But if you want to try, measure downtime or loss of productivity. Then convert it to dollars assuming average rate of dollars in the industry. And put the dollars in parenthesis ($10,000) to denote the loss.
Write an email, forward it up the chain. Then when the next outage happens, gently point out that email, and be prepared to offer solutions.
Re: Ask HN: How to convince big tech team that tests and code quality matter?
#23You should first establish yourself as a productive member of the team. No one is going to want to hear about how they could do things better from someone who just started. Once you have credibility and maybe some allies you'll want to have some evidence to support any new processes or workflows. Anecdotes about how you did things at other jobs won't carry a lot of weight. The problem with software development techni…
I don't understand why more people don't get this. Like thanks for showing up and implying everyone is incompetent with your suggestions?
Re: Ask HN: How to convince big tech team that tests and code quality matter?
#24If they're suffering the dire consequences that you predict, the mistake that you've made is joining the team. Newcomers can't fix systemic problems unless the organization actually wants said problems fixed AND said newcomers are tasked with fixing said problems. Even then, odds are against success.
If they are shipping reasonable product, then they're not suffering said dire consequences. (You did check whether they ship before you joined, right?)
In that case, you're fairly ignorant about some key aspects of the company and how it works.
Such ignorance is a bad basis for suggesting change, no matter how good said change might be.
Re: Ask HN: How to convince big tech team that tests and code quality matter?
#25Re: Ask HN: How to convince big tech team that tests and code quality matter?
#26Thanks everyone, great advice. For all those saying "get a new job": not that simple. Immigration. If things are real shitty (which they aren't!), I'll get a new job anyway and move back home. But I'd rather not.
Re: Ask HN: How to convince big tech team that tests and code quality matter?
#27The answers should be pretty revealing about the engineering culture at the company. You can then decide what it is that you want to do about it with better information.
You never know, maybe the Big Kahuna tells you you have open mandate to make improvements in the area...stranger things have happened.
Re: Ask HN: How to convince big tech team that tests and code quality matter?
#28Re: Ask HN: How to convince big tech team that tests and code quality matter?
#29Earlier quoted context omitted.
Totally agree with all your points except >there's not a lot of empirical evidence to support claims that automated tests will improve developer productivity or code quality. If you'd have said "there aren't any published papers _proving_ this" I would've agreed simply because I do not know if such studies exist or not (they might); but I'd argue that automated tests obviously improve code quality and productivity. A…
It's so obviously self evident that automated tests improve productivity, especially for developers new to a codebase. A developer makes a non trivial change. How do they know nothing broke? If there are no tests, they must spend an inordinate amount of time learning the entire system / product to gain any confidence they didn't break something, only to likely miss something that a senior team member will point out.…
Re: Ask HN: How to convince big tech team that tests and code quality matter?
#30You should first establish yourself as a productive member of the team. No one is going to want to hear about how they could do things better from someone who just started. Once you have credibility and maybe some allies you'll want to have some evidence to support any new processes or workflows. Anecdotes about how you did things at other jobs won't carry a lot of weight. The problem with software development techni…
Totally agree with all your points except >there's not a lot of empirical evidence to support claims that automated tests will improve developer productivity or code quality. If you'd have said "there aren't any published papers _proving_ this" I would've agreed simply because I do not know if such studies exist or not (they might); but I'd argue that automated tests obviously improve code quality and productivity. A…
No, automated development-time tests do not necessarily equate to higher quality, given that they:
- Take time away from other activities
- May provide a false positive, lulling developers into a false sense of confidence
- Increase the time taken for certain CI/CD operations, sometimes by hours or days!
- The presence of a large volume of "test" code means that certain refactoring operations take a lot longer, which is a real cost.
People go into some work environments where tests DID help, and they generalise that to ALL work environments.
Automated build-time tests are less important, and entire categories may be potentially unnecessary when:
- The product is written in a strongly-typed language that catches most errors at compile time.
- If high-level "linting" tools are used to further enhance the code quality before the executable ever runs.
- If feedback from the production environment is more relevant. E.g.: for web applications with performance issues being monitored by an APM, but no critical code stability concerns at build time. Think typical web apps with no real consequences to a crash, not finance applications where a small error could mean Real Money.
- Where time-to-market is more important than chasing 100% robustness at the expense of meeting release dates.
You often see people from a PHP or Python background go on and on about the importance of tests, but those are dynamically typed languages with lots of unexpected pitfalls that only testing will uncover. Meanwhile entire teams do just fine without any automated tests when using languages like C#, Java, or Rust.