There are probably a ton of jobs where people work just as hard as engineers but are treated as little interchangeable boxes by the money people.
Other office jobs are treated better. They don’t get pinged at random times outside of business hours. They don’t have to attend late night meetings because of foreign time zone
I know a bunch of AWS people and have heard worse things from them
Frankly, I love programming but would rather have a regular office job. This industry is predatory
Just like I know lots of developers that don't.
What a weird generalisation to make.
That combination of needing talent which is in short supply and being essential.
Obviously there are reasons for this, but it seems to boil down to broad generalizations in how the C-Suite sees your role, and very little in the particularities of the org or employee.
You're treated well because you have the potential to deliver multiples of what you're making in revenue.
Other office jobs rarely can do so.
That means that sensible places will happily pay you a lot and make money on you, and that will prop the entire market up, which means even crap places will have to pay more just to get some developers.
Architects build houses.
Software engineers build whole cities, and they exist only in their minds! (i.e they can’t even see them, they’re just abstract concepts of enormous complexity)
Got some good examples?
They're paid in proportion to how much unique value they gatekeep.
Hence why Silicon Valley's masters were so keen on everybody learning to code in primary school and getting more women into the profession. They dream of making us more of a commodity, so that as the chief gatekeepers of the tech economic engine, they get to keep a larger slice of the pie we create.
The best places, in fact my current role in an SV-adjacent tech company, encourages a kind of consulting approach to help define and solve business problems, not just JIRA tickets. This results in much better engagement with engineering overall, and getting better things built quickly.
Would love to find a company like this again, past two roles were JIRA micromanagement shops and actively discouraged talking about anything.
You could also look at this the other way.
They are the ones doing the real hard work i.e. making tough decisions, dealing with stakeholders, incomplete and poorly conceived requirements whilst you just get to build what's written down on a page.
Everyone plays their role in companies and assume they are the indispensable ones.
Mostly they just pass those things on to the developers to deal with. Then we have to figure out how to bypass them and communicate with the stakeholders ourselves to figure out what the real requirements are and what we can build which solves their problem and yet is still broadly recognisable as the specified deliverable.
After that, coding it is easy.
This was a UK retailer, the other two were “tech” companies.
The retailer operated in the way the article describes, direct contact with the business, ability to unearth a problem and run with it, understanding that dev work isn’t just fingers on keyboard and sharing of full business context.
The other two had strict comms lines, not allowed to stray from the Jira board, rarely any contact with the business or users and no sharing of business context because “we don’t want to distract you” - completely missing the point that without the contact you rarely understand what the point of the work is.
The best projects, and when I'm most efficient at work, is when someone explains the input and describes the desired output in as most abstract way possible.
Having worked with teams which have preferred to work in as pure a technology environment as could be constructed while still providing value, I think this might be the "product focussed" (or not) distinction that people make about themselves on their CVs.
Those who don’t like that work environment (so would prefer the latter two of my three dev jobs) would be tech focussed in my book.
It’s all semantics though
At the core of the difference between "traditional" and SV type companies is a fundamental difference on how they view software developers (and I am firmly in the non-SV camp myself): are they engineers or not? In SV, yes. For almost everyone else definitely not. And there lies the problem traditional, engineering heavy companies have integrating software.
that does cut both ways so, most of the SV-software engineering practices are simply as incompatible with hardware engineering as hardware engineering practices are with software development. And for most non-SV-pure-software companies, any piece of software is just another part number in the final product configuration, in that environment, software developers are nothing special. And it takes a special kind of software developer and company culture to properly manage that.
That being said, I agree with the articles conclusion. And I'd add that hardware engineering could benefit a lot from treating their engineers the way SV does their software devs. I do have a question so, where does all that significant horsepower of SV companies go nowadays? From the outside, it seems to go into ad tech, social media (with the aim to sell more ads), crypto (nothing to show for besides bitcoin and ethernum as new stuff to speculate with when gold isn't fun enough anymore) and "AI" (the latest hype which still has to show some real world benefits).
The true innovation to come needs a combination of software and hardware, each bit for itself got as far they could. There isn't much world left software can eat without some allies, at least until the next cycle repeats.
But at (SV startup company) this caused at least for my team complete chaos, what should we do, who should be doing the integration, talking to customers, why are we doing this.
Usually at SV startup company I was like 2-4 times more productive, but often output of my work wasn't really significant, as in traditional company so small dumb feature was raking in money and really improved large customer base.
For most organizations "IT" is just a utility. While information flow and processing is vital for most businesses, the control of these particular "means of production" is not deemed central to the business model. Like the provision of electricity, water etc, it is a stylized something that happens in the basement or outsourced. The C-Suite is clueless of digital tech and will at best include some tech consultant types rotating in and out.
In fact the very strange period of tech we are going through is a testament to how the alien forces of this new landscape have turned everything upside down. Google, Amazon, Meta are not "tech" companies. They are advertisers, retailers, publishers that have made information flow and processing central to their business model (and for now at least, have cornered the market).
What is mildly interesting though is that there are many major sectors where information processing is 100% what they do (finance and insurance the easiest example). A universe where the information market is cornered by, e.g. banks is actually less absurd than one cornered by advertisers.
With the above framing, the role of developers in decision making etc. is in reality just an epiphenomenon and circumstantial. Form follows function and it is the functional difference (what the company does) that is the driving force in organizational matters, remuneration etc. This also gives you some hints as to when things might change: When senior industry personalities are equally comfortable both in digital technology and the details of the particular sector they are in.
My underlying theory is that software is how we map what is happening in the real world and represent a model of it in computer(s).
Great Software engineers have this amazing ability to represent this and write computations that can reason on top of it for effective decisions.
Whether it’s dashboards, social network, extracting patterns from data, advanced electric cars with autonomy, mobile phones etc.
If you can use the power of computers to do more of what is happening in the human brains to create economic value, then that is a highly leveraged engineer.
Regular office jobs don’t have oncall. They don’t get randomly pinged outside of business hours. They aren’t as rat racey. There’s less ageism. They don’t force you to live in areas where a shitbox sfh costs more than 2mil
Seriously, I wish I could go back to undergrad and tell myself to go into a regular engineering field. And my experience isn’t even the worst I’ve heard, just ask anyone from AWS and they’ll tell you