Possibly unpopular advice on HN, but stop joining startups. Idiosyncratic-Culture Risk is off the charts for startups. Join more stable firms with a more "boring" but predictable culture where things get delivered every Sprint, everyone gets paid well, there is no Mountain Dew being guzzled at 8 pm in the office to meet some deadline, weekends are truly off, and your mental health actually recovers. Your dream jobs are leading to your nightmares.
My current job has > 1000 employees, it seemed from the outside like it would be sufficiently stable. It's not actually the culture you describe, it's pretty mature, good work-life balance. They don't have a great planning process but it seems insane that it is just impossible for me to onboard successfully as a result.
The number of employees does not correlate to positive management function. In fact, it's usually the inverse. The faster and larger the company grows, the more dysfunctional it becomes by hiring into the organization culture mismatch, internal promotion of incompetent managers. The sheer number of decision makers causes indecision (ironic). The lack of direction comes from going too many directions at the same time.
Meanwhile, investors reward the company for "traction" and regardless investors both private and in the public markets reward growth at whatever expense and first-mover / big-mover advantages.
The sweet spot are those financially stable, slowth growth companies with enough employees so that people aren't worn too thin but not too many that the wheels are coming off. Often that's around 100-300 or so, could be less a bit more.
How many employees were there a year ago? If the answer isn't ~1000, it doesn't meet the definition of stable
I onboarded at a > 1000 employee company before the pandemic. Even then I found it frustrating that it took months to have even a small a project and get a PR reviewed and merged. Coming from a small startup co culture made that a shock and wondered if I'd made a mistake. Your journey seems similar but far more challenging in having to onboard remotely. Make the most of communication channels you have, not specifically your manager or onboarding buddy, but any team or project Slack channels, etc. Take time to browse the codebase without worrying about shipping PRs. The company hired you hopefully as a long term investment that will pay off once you've onboarded so do that well, even if it doesn't have any visible artifacts. Merely asking specific questions will show that you are getting up to speed. My #1 suggestion to fix most of these things is to pair program on tasks. There's so much miscellaneous information that is useful and isn't otherwise documented. It also provides some human feedback from peers indicating that there's no problem where you imagine one to be.
I'm going to get downvoted to minus infinity but let me say this: consider also less techy firms. Or, companies that do have technology but aren't tech. I have some friends having a blast working with agriculture, there's lots of technology involved, but it's as far away from the stereotypical startup culture as you can get.
Another opportunity - there are so many small businesses who need a tech person, but have no idea what to look for or haven’t admitted their needs yet.
If you show up saying you can develop apps and also manage servers, handle complaints, etc., they will often hand you a lot of responsibility to do things yourself.
Not great for advancing as an engineer unless you actively challenge yourself, but I’m just suggesting that it’s a field out there.
I did this for an education company. Been employed over a year, developed a few web apps for them, basically been handed keys to the kingdom, and they love my work.
I think we overestimate the unpopularity of opinions auch as yours and the person you are responding to. Tons of HN users work for BigBoringCo after experiencing the typical startup and realizing they can't and shouldn't handle thr volatility anymore, and tons of developers work for non-techy firms because that's more problems can be solved.
Most of my best times as a software engineer was when I worked at non-techy firms. When I worked at a local NPR affiliate station, I was able to both solve new problems and improve existing things without a lot of the buffoonery seen at a lot of hip tech firms. As a mid level developer at the time, I had lots of room to try things and could afford to fail, yet my seniors actually had time to help.
A lot of people not happpy with their careers should consider non-tech over hip startups, Silicon Valley, and fintech. You will still encounter headaches, but you may also avoid a lot of the mental agony from the big tech world.
In my experience on HN, people here actually really love hearing/learning about businesses outside of tech, particularly those that are introducing tech... agritech, etc.
I run an ecommerce business, which is at best tech-adjacent (honestly I would say a farm using fairly advanced technology for their industry is more of a tech company than me using Shopify to sell dog treats online), and people love hearing about it.
Honestly, part of why I left enterprise software was because I found a lot of the SMB customers I worked with really inspiring. They were doing something... real/physical/tangible, and of course the ones who were looking at our software were the smart, tech-savvy types who I could relate to.
While I have very little desire to go back into enterprise software, sometimes I do get pings from recruiters hiring for companies that do stuff like agtech, and I think that working on something like that (as opposed to making software for call centers, which I have done) might be worth getting back into the working world for.
It's more nuanced than this. I have worked at large companies with terrible culture, and startups with great culture. Unfortunately it's very hard to get an accurate read on the important things before actually working the job.
The polar opposite of startups is large-government.
I happen to be close to some people who work at the CDC tabulating death statistics. You know what one of their greatest success stories over the past few years was?
Updating their death-reporting from once-per-year to once-per-month (albeit preliminary / unreliable statistics, but monthly reports nonetheless). They still revise the numbers up to a year out but it turns out that having this project done _BEFORE_ COVID19 hit helped a lot, since decision makers at the White House (and other parts of the country) got the statistics they needed faster.
And before you say its easy: the 50 states have 50 different death certificates. The information is standardized but the data-entry and reporting methodologies are non-standard. Plus territories (ex: Wash DC, Puerto Rico, Guam also have their own death certificates). Pushing for more standardization (ex: the rules for how to report COVID19 deaths and on what line) and pushing that training out to doctors also results in partisan bickering, as you might expect.
----------
Doing these kinds of things is a massive undertaking in general. If computers were easy, everyone would do it. A lot of it is just growing up and realizing that the Iron Man movies you watched 10 years ago are unrealistic crap, and that the daily grind to make small bits of progress are hugely important.
Other bits are to truly celebrate these accomplishments, even in the face of widespread disdain. There's a ton of people giving crap about the CDC's death statistics with regards to COVID19 (some legitimate criticisms due to the accelerated release schedule they've got behind monthly statistics). But a lot of the criticism is just partisan bickering that no one really takes seriously. Everyone basically agrees that monthly-reporting (though less accurate) is better than waiting a whole year.
Still, its hard to argue against progress or the usefulness of this "monthly death statistic reporting" project. Originally created in response to Hurricane Maria (where US Newspapers reported a different death number than the CDC), the whole project was launched just in time for COVID19 (and was online for part of the opioid epidemic as well).
EDIT: That goes to show what a "real success" is like. Its like lighting in a movie: if you do it perfectly, no one notices. If you make the slightest mistake, a ton of people online make a big stink about it. High risk, low / non-existent reward. But its hard to deny the importance of the project. This is the prototypical "easy job but not really" scenario, everyone just expect it to get done, people don't really realize how hard it is to do (50+ states with 50+ different formats. In the case of the Opioid Epidemic, there was new language being used on Death Certificates that didn't exist before, words like Fentanyl, and people just expected the CDC system to automagically detect these words, new-misspellings and collate results together despite no one actually asking for that feature, etc. etc.)
> stop joining startups. Idiosyncratic-Culture Risk is off the charts for startups
I think that's true when joining a young startup (e.g. company less than 2-3 years old).
But there are plenty of 15-40 person "startups" that have been around for 5+ years and are profitable - I would say these types of companies are good to join (if they've had a stable and consistent management team) since after 5 years, the company would have worked out most culture / HR kinks.
PS - things like "are you profitable" and "tell me about the management team/culture" are very acceptable questions to ask during an interview.
Edit: "how many employees were there 1 year ago" is also a good barometer for how hastily the company is scaling. If they're 100 today but were 50 a year ago, I'd steer clear. As another commenter mentioned, go for slow and steady growth startups rather than high/fast growth.
One hundred percent. I spent five years at a thrashing startup and then crashed and burned at a well-known cloud workflow company. It crushed my spirit. But I remembered a very friendly recruiter who had an opportunity for a tech lead on a marketing team. I set aside my ego and pride and he put me in touch of with a team of humble, hard-working folks who love web development. No one is out to be the most brilliant. We work as a team and we all actually like one another.
+1
Honestly never understood why joining startups is meant to be so amazing unless 1) They are working on exactly the niche that YOU personally want to work in and 2) The startup's company culture is exactly your kind of weird/niche culture too. IMO unless it's a perfect match, you're going to have a bad time as there is less stability and diversity of ideas/experience in small startups.
I love large orgs because there are tons of characters, experienced professionals and frameworks designed to support and enable me. I can always move projects when I get bored or something isn't right.
I would join a startup however if there is something very very specific I want to build and I want to circumvent all the corporate barriers/rules to move fast and ship something. But so far, I've not felt that yet.
> I can always move projects when I get bored or something isn't right.
This comment is so underrated. In most big companies, if your manager is an asshole or the project is boring, you can always move to a different role.
As far as official protocol goes, at most places I've worked that means you can change teams after a year. They placed you on a team, so they want you there.
People who switch faster either have very accommodating leads or they feel secure enough to give an ultimatum.
Yeah, I realized my aspirations to be a founder / work at early stage startups were kind of idiotic after a while. But more importantly, I realized I just liked making more money and only dealing with my own problems.
It sort of sucks, but idk - in my late twenties I'd like to think I have a much better understanding of what makes me happy now.
I'm actually trying to pass FAANG interviews and it sucks, but at the same time I've realized just optimizing for TC over the next few years is something I actually prefer.