6 ms·
Ask HN: How to find companies that build sustainably?
This is going to be a very cynical post. If you just want to sneer at me, please just save us both some time and skip it.
My current position has left me questioning much of what I thought about my career, tech industry, and business.
The philosophy here boils down to:
"We need to move extremely fast.
Why? Because there's no moat, and competitors will eat us alive, eventually.
Therefore, we have to build the crappiest thing we can as fast as possible and make enumerable business promises that we don't have the human capacity to keep.
Therefore, the only people who will survive at this company will be those who don't really care that what they're building is setting up the next person for a world of pain.
Everyone who wants to do a truly good job will burn out and/or be pushed out.
But we'll keep attracting starry-eyed talent by puffing ourselves up as this incredible, smart organization (that, for now, is making money)."
The thing is, I chose this situation based on what I thought a successful company looks like. Now, I want to work somewhere:
1) That has slack built in.
2) That gives a damn about system quality.
3) That can grow without overreaching (see point 1).
Does this type of company even exist? I feel like even if it does, I'm blind to it because my head has been in this "uber-lean startup" space and I almost can't believe anything else exists.
It seems like, if something isn't trying to grow at breakneck speed, it is stagnating or dying.
I want to believe this isn't the case.
Have you found a place in this world that grows sustainably? If so, how, and do you think I can replicate the search strategy?
Thanks.
- yuppie_scum 5y agoGreat question and I’d be very interested in knowing what to look for as I pursue future opportunities. Because I have seen multiple times that usually non-technical upper management doesn’t give much of a crap about the tech debt that piles up around a “done fast not right” production stack, and wants to continue operating as lean as possible to attract further investment, and you will continue to operate your franken-MVP in perpetuity.
- bckr 5y agoexactly! the business has to actually value employee satisfaction and system reliability.
- mooreds 5y agoMy two cents: Find a company that is profitable and hasn't taken VC money. This can either be a bootstrapped software company or a company for which software is an enabler. In both those cases the software is an asset like any other, so maintenance and quality can be built in. There'll be trade-offs of course, but in these environments there is a most of some kind and you can put better practices into place.
- simplicialset 5y agoThe main issue is that barriers to entry in software are very low. If there is a successful company doing something with software then there is no way to lock someone else out of building a similar service with some slight variation. So I'd say that as long as you are looking at for-profit companies then there is no way to avoid the issue of cutting corners, bad system design, and burning out engineers with stress and overtime because the leaders at these companies know that all the other companies are doing the same thing in order to stay ahead of their competition. You might have better luck if you start looking at non-profit companies but you'd have to actually figure that out for yourself and work at one to see if it was a better fit for what you are looking for in terms of work.
- bckr 5y ago> The main issue is that barriers to entry in software are very low Great point. This is such a double edged sword because it is the reason that I got into software in the first place.
- xcambar 5y agoIt seems your perspective on the industry has been built over the hype of "Software will eat the world". Aell, I'm not discussing whether this is true or not but just remember that building software is about building automation and experience. What I mean is that you must look for a company that enables or offers leverage to an existing company or industry. What it will provide you is the understanding that software is not the beginning and end of all things. It's a tool. A very valuable one, but still a tool. And then, you will leave the vicious circle of hype and software centrism and maybe you will land in a much less fancy, much more interesting, software project in which you can commit for a longer term and actually feel like you have an impact. FYI: it feels good.
- paulcole 5y agoAsk in the interview! Some ideas to get you started: • How do you make money? • Do you make more money than you spend? • What’s the size of your market? • Who’s your biggest competitor? • What do you do better than them and vice versa? • What’s the biggest threat to this company being around in 10 years?
- bckr 5y agoThanks for this, I do have some (EDIT: A LOT) other questions around this that I'll be asking. • What is your company's relationship with velocity? • Do you find yourselves doing more slowing down to be more careful, or speeding up to win a competition? • What slows you down? • How do you accelerate? • What is the expected time scale of a typical initiative? • How many initiatives does a typical engineer work on simultaneously? • How was a recent initiative measured for success? • How do you know when to stop an initiative? • How do you decide when to start an initiative? • Describe the company's philosophy about planning work in terms of top down VS bottom up planning. • In your experience, does the company behave in accordance with its philosophy? • Describe your approach to on-call shifts? • How many alerts does an engineer receive on a typical on call shift? • How do you make sure that engineers are not succumbing to alert fatigue? • Describe a situation where I am getting an alert as an engineer. What does it look like for me to successfully respond to that alert? • How do you document the steps necessary to take when responding to alerts? • How do you decide when to create a new alert? • Do you have a central list of all alert policies for your system? • How do you know that everything is working or not working in your system? • How many subsystems do you have? How do you determine ownership of your subsystems? • Describe your approach to observability and instrumentation. • Can you show me your observability system? • Can we pretend to solve a problem in the system together, using your observability platform? • How do you do deployments? • How long does a deployment take, assuming approval? • How long does it take on average to get approval? • How do you ensure code quality? • What's your worst section of code? What makes it bad? • Can you show me part of your codebase? • What is your approach to onboarding new engineers? How long does it take to get a dev environment set up? • What is your current architecture? • How do you make architectural decisions? • Where is the architecture going? • What are the downsides of the current and future architecture? • How much work is driven by “deep integrations”, in other words how much code supports unique partners? • What is the onsite culture like? Do coworkers typically become friends? • How many hours does the average engineer work per week? • How many weekend days does the average engineer work per month? • What is the typical cause of after hours work? • How much time does a typical engineer spend in meetings per week? • How many days off does a typical engineer take per year?
- bennathanson 5y agoYMMV but I think it all boils down to incentives, institutional maturity, and leadership. Here's what I look for: 1) What industry it is. A banking or security company typically has strong incentives toward building secure, stable systems. 2) Maturity. Experienced organizations may still have the impulse to hack things together, but at least have had a chance to internalize the value of security, testing, and realistic ship dates, and to hire sufficient staff to actually look after those things. 3) Who leads the organization. Nontechnical cofounders can be indispensable in their own way, but technical cofounders are more well equipped to appreciate why good software takes time and should be built robustly and securely, and balance other voices in the organization that may not have the benefit of that same background. Business risk can come from a failure to innovate in some situations and a failure to provide stability in others. I've been at both extremes of this. It sounds like you're at one now. I prefer to be somewhere in the middle - pushing myself, learning, but not burning out. Fortunately my current company fits this criteria. Anecdotally: 1) Tests are included in the scope of tickets 2) We have institutional memory of what happens when you build too quickly 3) Leadership is rich with experience in security and engineering Good luck in your search!
- bckr 5y ago> Leadership is rich with experience in security and engineering I think this is so important. Thank you
- dinopete 5y agoI think most of this comes down to leadership. The company I work for is trying to grow rapidly in terms of users and doesn’t make a profit currently, but does care about quality and does have some slack and most importantly cares about its staff and its users. The company is in the mission-driven social enterprise category so maybe that helps.
- grldd 5y agoI have been looking for 3 years and haven't found one. I think only bad companies are hiring because only they have money. It's hard to make a profit from quality software products.