That so many people are so focused on things "having" to be in a constant state of exponential growth makes me feel uneasy. It's like so many people can't see the forest for the trees - we can't have infinite exponential growth forever.
Like, little software shops which take on a stable number of projects / contracts / clients a year, focused on sustainability instead of pure profit, lose and gain people at a roughly 1:1 ratio, rarely downscale or upscale offices, have a relatively flat heierarchy, everyone is compensated realistically, reasonably and equitably, and the work is done at a rate that is a nice balance between interesting/challenging whilst relaxed enough to not cause burnout, with a sensible work/life balance. That's what I look for, and they're fucking havens.
Edit: my idealistic take on "I wish I could do software like a tradesperson" has prompted so many insightful comments looking at all sides of the equation! I will clarify a bit, first paragraph I'm lamenting specifically exponential growth a la shareholder nonsense. Paragraph 2 is "I am so tired, just pay me in line with interest rates to solve funky little code puzzles enough that I can keep the comfy roof over my head and have enough free time to go on my long runs and grow my vegetables" :-)
I tried those and TBH they never worked for me. Small shops in my experience have not very good processes, rush to gain new projects and customers at all cost by sales/management always overpromising and burning out engineers in the process who strugle with the unrealistic deadlines, promotions are gained trough favoritism since there's no fixed clear and well documented promotion/career path but you're at the mercy of how your bnoss and his boss/CEO feel about you each day.
So no thanks from me, I'm going back to big old crusty established comapanies with established products and customers, established processes. YMMV of course, there' no one sized fits all for everyone and big companies have their own issues but I feel I can more easily manage and deal with those. Pick your poison.
That's ok. You are just built to work with more structure and processes. Some people like the small company vibe where things are a bit chaotic but also fun and creative. Nothing wrong with either.
> You are just built to work with more structure and processes.
For what it's worth, some of the most highly structured and process-heavy tech companies I've worked at have been small startups.
Small companies can be a haven for micromanaging first-time CTOs, inexperienced VPs of Engineering who learned how to "lead" from books and LinkedIn posts, Technical Program Managers who want to control every aspect of everything in the company, and Project Managers who don't have anyone to guide them so they fall back to nagging everyone about progress all day.
I don't think it's accurate to generalize all small companies as being low-structure or light on process.
Sadly, this is a false dichotomy. I've been involved with plenty of small companies where things are somehow both chaotic and also very structure/process-oriented, bureaucratic, and absolutely not fun or creative. My experience at Airbnb 2012 - 2016 is also that a company that's quite large can also be chaotic, fun, and creative.
Alas, to filter companies, size is not enough. If you want positive attributes, you have to explicitly look for them.
That's not what that comment was saying. It was an idealistic take on a small shop, not a realistic take. eg: "work at a reasonable pace", "compensated fairly" often does not happen.
What it often means is stressful deadlines and low pay for hours work.
> Like, little software shops which take on a stable number of projects / contracts / clients a year, focused on sustainability instead of pure profit, lose and gain people at a roughly 1:1 ratio, rarely downscale or upscale offices, have a relatively flat heierarchy, everyone is compensated realistically, reasonably and equitably, and the work is done at a rate that is a nice balance between interesting/challenging whilst relaxed enough to not cause burnout, with a sensible work/life balance. That's what I look for, and they're fucking havens.
Counterpoint: When I was hiring in another city, I routinely searched LinkedIn for candidates at the local "little software shops". Most of them went in expecting the unicorn situation you described and then realized it was actually kind of grueling, full of cliques, beholden to "customer is always right" thinking, and that they weren't really getting a chance to work on any long term projects done right.
I'm sure there are perfect unicorn little software shops like you describe, but they're not common and they're not easy to get into it. Also, being beholden to a small/stable number of clients isn't as great as it sounds once one of those key clients decides to end the contract or bring development in house. When a small software shop loses 1/4 or 1/2 of their annual billings all at once, things can get ugly.
Don't get me wrong: I, too, would love to work at the unicorn place you describe, but they're not really common or easy to get into.
Time and time again job announcements are mentioning fast-paced environments, and exactly those companies like to churn through an immense body count. Loyalty needs to go two ways. Stability seems to be a game for the older folks, whereas younger people prefer efficiency and risk taking.
"we can't have infinite exponential growth forever", I agree, but I can create infinite exponential personal growth for my younger self is acceptable as well.
This is one of the more perplexing elements of both working as an IC and a manager. I'm constantly battling the line between treating the relationship as purely transactional and one where work is more meaningful than that. The problem is that whenever you bring other things in - "loyalty", "passion" etc etc you are at very high risk that these are circumstantially dependent on the coincidental alignment of the employee's interests and that of the organisation. The minute that changes, you will find you now have an employee whose motivation is at odds with the interests of the larger organisation and all kinds of dysfunction stems from that. The only true stable basis for alignment is that the organisation needs work done and the employee needs money. It's great if there is more than that, but the minute anybody relies on it they are essentially rolling a dice with some odds it turns against them.
It depends on whether you consider software development a rote activity or a creative endeavour.
The transactional approach certainly makes sense from a rote activity stand-point. Money, however, is a remarkably poor motivator for most people when they are required to pour their creative juices into a task. A sense of ownership, a higher cause, or a sense of accomplishment are much stronger drivers.
I think the problem stems from management lumping both types of work into a common bucket. That's when what you describe starts to occur.
Well said. For me, it was a great source of burnout when the true transactional nature of work was thrust on me. I had been giving work 110%. My work ethic and output were part of my identity, and I was integrated well socially in the team/unit. I was motivated, gaining influence, getting interesting shit done, and working with great people. But I was also green, and when all of those motivating factors were eroded away, I wasn't prepared. I found my complaints were falling on deaf ears - surely it's obvious to management that there are legitimate problems which will result in worse business outcomes? Surely all of the rhetoric about passion, collaboration and The Mission wasn't just BS? It was very difficult to move from that naive thinking to a more detached one where work is simply a means for earning money to live. The unfortunate reality is that there are few employers at few moments in time that tick more of my boxes as a human than simply paying me money. I think this warrants scaling ones inputs in the same way a business does; I put enough in to get what I need out, and no more.
I'm curious if you're willing to share more about that experience? I believe that I'm in a fairly similar position atm, and reluctant to let go of the "work ethic and output as part of identity" and therefore career (research vs just a code moneky), and wonder what epiphanies you had to switch your mentality to from one to the other
I wish I could say there were epiphanies, but it seems more like a gradual decline in my opinion of profit-oriented organisations due to increasing exposure to the shitty things they do under the guise of "it's just business", which of course is rolled out the moment that they want to do something shitty, in contrast to all of the levers of morality and virtue that they pull on to extract more from you as a resource. It repulses me and I guess I've just decided that I refuse to be defined by my utility or lack of, especially to some manipulative entity like that. What should I be defined by, instead? I'm still working it out. But I don't think the idea that I am better or worse human simply because of the degree to which I support profit generation serves anyone but a profit-oriented organisation; seems obvious, but you don't have to look hard to see common ideas that do reduce you to a resource: "work gives your life meaning", "the unemployed are lazy", etc.
The topic reminds me of the red pill, blue pill metaphor and to lean into it, I'd say I've taken the red pill but I'm still figuring out what reality means for me now. I hope your situation works out for you. Good luck!
Whenever I read that a place is a "fast-paced environment", I take that as a red flag. I think it's usually code for "this is a difficult and unnecessarily stressful place where you're going to be a disposable cog in the machine."
> That so many people are so focused on things "having" to be in a constant state of exponential growth makes me feel uneasy. It's like so many people can't see the forest for the trees - we can't have infinite exponential growth forever.
From first hand experience, let me explain why I need this. It's because when the growth stagnates, management starts to attack their own reports. This is an effort to squeeze productivity that comes all the way from the top. Middle management politics governs your life. There are constant threats like PIPs, politics, measuring BS metrics such as lines of code. Your director may be getting antsy about their own promotion and want to fire you away to perform a reorg that makes themselves look good. Your coworkers will turn against you because management will start stack ranking. Imagine going into work everyday where every slack message, every email, every code review is all about posturing to let someone else take the blame. The consequences are dire. Productivity actually gets shot because no one is willing to help anyone. Entire services stagnate, dependent teams do not respond timely and the org is not willing to support any efforts.
How does this work environment sound to you, as an engineer?
Everything about that job becomes about management games. You will be blamed for things not in your control.
I would accept stagnation as an employee if the company can accept stagnation. Everyone knows infinite growth is impossible. And if the company runs out of ideas, no amount of pressing IC engineers is going to fix anything. But pressing IC engineers is exactly what they do. And this is why I don't want to work at stagnating companies. I am not a kid who will willingly take the blame for BS management.
>From first hand experience, let me explain why I need this. It's because when the growth stagnates, management starts to attack their own reports.
from my looong experience (I'm retired), perhaps more second hand than first depending on your definitions, of all the people I have known, who got rich rich are primarily people who stayed at one company a long time, and their career/responsibilities grew through promotions, eventually c-suite. I've known plenty of successful startup lottery winners, but a greater number of "unlikely" successes were people who delivered daily reliability, not fireworks. People who don't get caught up in corporate politics, whether they are attacked or not, just remained reliable.
I think that can simultaneously be possibly true (that the people who make serious money stuck around at one company), yet still usually be the wrong or bad move for most people to make.
I stuck around for six years at my previous job, and my boss was there for 13 years. I dealt with a lot of bullshit from the corporate higher ups for four of those years, frozen salaries, no promotions in the department, company 401k match removed, worse health benefits, not replacing coworkers after they left so I (and my boss too) kept having more responsibilities piled up, etc. And I was very reliable at my job (read: let myself be taken advantage of). I even got call outs in town halls for some things I helped accomplish, and when I left I'd be referred to as one of the few phone systems SME in the company.
I finally got sick of the stagnation and left for a different industry and a hefty raise in 2021. My boss stayed. And then two weeks ago I heard they shut down the department and let everyone still there go (we were a skeleton crew in engineering when I left, but we supported 90 other employees). If I had stayed there, I would have still been making barely more than I was making when I left, and would have been let go with the rest of the department.
While there are undoubtedly people like the ones you are describing out there, there are probably far more people that get into situations like mine, especially when the company starts to stagnate.
>of all the people I have known, who got rich rich are primarily people who stayed at one company a long time, and their career/responsibilities grew through promotions, eventually c-suite.
Yeah, that kind of career advice worked fine (great, even) many decades ago at stable companies like Boeing. It doesn't work now, including at companies like Boeing. because companies just aren't run that way any more.
This looks like a whole lot of confirmation bias. For every person who climbed ladders, there were others who were attacked and there were others who didn't want to climb. And only a small percentage of these people were unreliable.
Maybe times have changed. But engineers today are too smart to listen to leadership that will throw them under the bus to hide their own incompetence.
I feel the exact same way. After nearly a decade in industry, I want to transition away from corporate life and start my own small software company. It will not be a high-growth startup; instead it will be a bootstrapped business. The issue is I’m having a hard time thinking of ideas; I’ve only worked in academic or corporate environments and thus I know little about the ecosystem of smaller software companies. Moreover, I grew up in an era of shrinkwrapped software and shareware, but these business models have largely lost ground in the past 15 years; it seems that SaaS is the way to make money in the software industry these days. But I may be unaware of other business models that may be viable.
In my experience, "little software shops" are about maintaining "living fossile" systems. They survive by signing contracts with non-tech companies (supermarkets, healthcare, etc.) to develop a system and offer support, but never update it. There is no need to update or improve anything since there is no competition. The customer would have to sign a contract with another software shop, and non-tech companies are highly risk-averse, as long as it gets the job done they keep paying.
It gets frustrating most of the times since you'll be working with old and unsupported tools, and you cannot update them. I am talking Postgres 8, AngularJS, ASP.NET, etc.
> so focused on things "having" to be in a constant state of exponential growth makes me feel uneasy.
> can't see the forest for the trees
SO MUCH THIS.
I get that momentum is a powerful force but it is incredible how many missed opportunities there are because the blinders we put on. We talk a lot about how difficult it is to align ML models, but sometimes I feel like we are the difficult to align models. A lot of it makes me feel less human too, because part of why humans stand out is that we __can__ do long term planning and have extremely powerful inference that allows us to generalize. But I feel like we're living in this weird world where we're trying to turn humans into machines and machines into humans. That we need to be the strict letter of the law entities and machines need to be the absolute generalizers. I don't know exactly when it happened, but I feel like one day we just woke up in Goodhart's nightmare.
I've been trying to combat this a lot, including in myself. One thing I find that helps me is to explicitly write down intended goals and outcomes. That way I can constantly check my alignment fairly easily and don't lose sight or get tricked by metrics. The other thing I do, which is a bit harder is to write down assumptions. This list actively changes a lot as I learn but it's become vital in projects I work on and how I understand things. I'm a researcher and this has become my most valuable tool (I've been surprised to find some of my peers are resistant to this idea). It's an essential tool to not get deceived by metrics if you have long term goals (this is where I find the resistance. Focus is typically short term). Any other techniques people have found helpful for keeping aligned?
> little software shops which take on a stable number of projects / contracts / clients a year
If I could be promised the stability of a trade gig such as plumbing in the software aspect you describe I'd probably want to stay in technology. The reality sadly is otherwise, almost across the board from my tiny anecdotal experience.
That's the double-edged sword of capital markets, right? If you take investment then you need to produce big returns forever, and if you don't then you're in danger of being beaten in the short term by those who do. Small consultancies and contract shops might be an exception, but that's not because of the owner is wise so much as because those kinds of businesses don't scale with investment like more typical software companies.
store4.js <----- this one was the newest, and current production version
store_new.js
store_newest.js
I got their head engineer fired by explaining to the CEO what industry best practices were and how incredibly common and valuable they were (and honestly, the engineer got himself fired by refusing to even consider changing his ways). I introduced concepts like "store your products, sales, and user data in a database instead of a flat file" and "use version control" and "use a deploy script that supports rollbacks". Then I quit for a better paying job.
The CEO complained that I convinced him to change everything in the software stack and to get rid of the guy with 15 years of experience there, and then bailed on him. I pointed out that $40k/yr is not enough to buy loyalty. Last I heard he got acquired by a bigger company who threw out our entire estore anyway.
He's doing great.
I introduced Git at an industrial automation firm.
A handful of folks thought it was "pretty cool", everyone else kept on versioning with myriad copies of "Copy of plc_control-1a (new) (final) (1) (b).ACD"
I worked for several little software shops, it was fine, really. Big tech was much less sensible, and I lucked into a very nice big tech company to work for...
Any tips on finding these positions? I'd love to work at a shop like this but don't know anyone who works at one and they most likely do majority of their hiring through their employees' networks.
Well, we are forced to constantly be seeking continual growth as individuals. If you don't, you are viewed as stale, a dead-end. So the least we can do is expect the same in return from our companies.
populations are governed the S-curve, which approximates an exponential in boom times. for humans, the exponent is biologically limited by the speed of raising children into reproductive adults, which is ~20-25 years.
financial and technological advances free us from traditional constraints, increasing productivity (wealth 1st derivative) faster than raw biology allows. the dark price is faster, larger boom / boost cycles. see eg the speed of adoption of technology, or the average lifespan of an S&P500 company.
the more removed an industry is from atoms, the higher the exponent, thus the perceived instability. alas, industries close to atoms don't pay that much. it's a tradeoff: low growth and stability + boring work and low pay, or high growth and instability + interesting work and high pay. the places you speak of are indeed havens, good luck finding one!
From experience, without company or team growth there is very little scope for you to grow in your career: everyone keep their jobs at best and someone has to leave for another employee to be promoted.
If you're OK with that, sure. But if you're aiming for promotions and personal growth, move.
Privately held companies have shareholders, too, and some of the inter-shareholder drama at a small company can impact your day-to-day life as an engineer more than at a BigCorp.
Like, little software shops which take on a stable number of projects / contracts / clients a year, focused on sustainability instead of pure profit, lose and gain people at a roughly 1:1 ratio, rarely downscale or upscale offices, have a relatively flat heierarchy, everyone is compensated realistically, reasonably and equitably, and the work is done at a rate that is a nice balance between interesting/challenging whilst relaxed enough to not cause burnout, with a sensible work/life balance. That's what I look for, and they're fucking havens.
Edit: my idealistic take on "I wish I could do software like a tradesperson" has prompted so many insightful comments looking at all sides of the equation! I will clarify a bit, first paragraph I'm lamenting specifically exponential growth a la shareholder nonsense. Paragraph 2 is "I am so tired, just pay me in line with interest rates to solve funky little code puzzles enough that I can keep the comfy roof over my head and have enough free time to go on my long runs and grow my vegetables" :-)