Ask HN: Where can we find the unsexy jobs?

247 points by throw1138 ↗ HN
Everything is double-digit YOY growth with impending exit, and kubernetes all-the-things, and DevSecOps, and SRE, and web-scale etc etc.

Where are the places running their setup out of a rack in a rando datacenter grandfathered into an affordable Edgecast plan running a LAMP stack on Debian using borg for backups?

This may read like satire, but I promise I'm seriously asking.

Or am I just way too old?

Related: https://boringtechnology.club/

221 comments

[ 1.6 ms ] story [ 257 ms ] thread
I didn't downvote you, but I did consider it because your answer doesn't add anything to the discussion.
I downvoted you because what you said was simply wrong.
> Everything is double-digit YOY growth with impending exit

I'm going to say, on a random job board, this is actually the vast minority of jobs. Most, even at FAANG, have lots of unsexy maintenance that just needs to get done. Even in fancy machine learning land (where I work) 99% of the work is fairly 'boring' in the traditional sense.

Also, there is a strong bias to talk about 'sexy' work outside the company. For a variety of dev marketing reasons. Nobody does a conference talk about the uninteresting boring work that gets done.

> Nobody does a conference talk about the uninteresting boring work that gets done.

Id go to that

I had a job with a lot of ML and Data Science a few years back.

I learned that the job really should’ve been called “Data Janitor”. 90-95% if the work was cleaning data sets and making sure that last update in some ML library we used didn’t mess up something.

Look for small companies you never heard of, in places you've never been.
Local companies, usually not technology companies.
(comment deleted)
My impression is that there's a lot of Kubernetes jobs because all those unnecessary scaling tools come with additional maintenance work. So if you use new & messy technology, you just need more people. My boring deployments (Nginx+Ruby+PostgreSQL on Debian) can be maintained for multiple projects by just one employee, because there isn't that much to do apart from updating Ansible scripts and running them. But on the Ruby side, stuff gets deprecated/broken all the time, so we need much more manpower to maintain it. And Docker/Kubernetes (where everything depends on access to random GitHub URLs) is even a lot more fragile than that.

EDIT: I was considering doing this myself recently, so maybe you'll like the idea, too: Just walk physically to all the mom&dad shops in your area and ask them if they want a free website, if they allow you to put Google text ads on the side. If you have time, you can build those websites and super cheaply host them themselves, and it'll certainly help those shops get their feet wet in the digital age. Plus you build up some ad/link inventory which you can monetize later. The reason why I considered doing it is because I'm 100% sure that people will tell you a lot of technical stuff that they need solved, if you're there and willing to listen. And those small shops are going to need small cloud-free solutions.

> And Docker/Kubernetes (where everything depends on access to random GitHub URLs)

Where is this true? I'd say this ecosystem is more dependent upon Docker Hub et al.

It isn't. There is helm charts and such that can be hosted on GitHub.
Don't confuse Docker with K8s. Docker is more for solving dependency management problems than scaling and redundancy which are the problems k8s solves. I highly recommend some sort dependency management solution like Docker or Nix - it makes changing hardware or OSes down the road much easier.
> I highly recommend some sort dependency management solution like Docker

Just to clarify: Docker isn’t a dependency management solution, but for most people it’s an important part of the solution.

When I worked for a small web agency, I loved the fact that when you did a website for someone, you'd be introduced to their entire business model and everything within. It was a great opportunity to help them optimize all the things if they were willing. It lead to doing a lot of add on work like spreadsheet-> program work, physical network setup, ads, logos, kiosk applications, Christmas tree databases, etc...

I loved helping those small businesses but a lot of them don't have a lot of money to burn so going with a monthly rate they can plan on is powerful, as is managing expectations. A lot wanted Facebook for $500. There are patterns that emerge and one could build an in house stack to handle most everything I'm sure, just increase your monthly as they add services.

> A lot wanted Facebook for $500.

Mind explaining what this means? Did they want content generation for posts? Or did they actually just want someone to post what they had on file? Or did they just want advertising help?

My family has small businesses and I've thought about helping others, but the asks seem too all over the place.

They wanted to have a well-cared for FB page for either 500$ upfront or monthly, I'd presume.
I took it to mean "[...] managing expectations is important. A lot of places wanted something the size of facebook but to only pay $500."
>> A lot wanted Facebook for $500.

> Mind explaining what this means?

As a freelancer, what I’ve seen is requests for building a Facebook-scale social network with all the scalable infrastructure and other bells and whistles, mobile app integration, etc., sometimes for a specific community (lawyers, doctors, or some such), that offer $500 as total budget.

Mastodon is perfect for this use case, though.
See that’s the way I like to think — sure $500, and I’ll spin up an instance for you. Then $50/mo for server uptime.
A lot of people have no idea how much work is involved in software development. It's just like magic to them.

I've lost count of the number of customers who said "this should be easy, I'm sure you can knock it up in an afternoon" whilst I'm thinking there is probably two years work in what you are asking for.

Sometimes a customer suggests one little feature for the site and you have to gently point them to the entire business employing 25 people that just does that one feature as an entire program/service on its own, so no, they won't be getting it as some little easy and cheap thing in one sprint, and probably won't be getting it at all, on their budget.

Other times, yeah, they want some crazy machine learning driven whatever with bells and whistles and social and apps on every major platform and blah blah blah and don't get why that will take at a bare minimum dozens of very talented and expensive people, and probably multiple years, to achieve. Which is the "Facebook for $500" thing.

> But on the Ruby side, stuff gets deprecated/broken all the time, so we need much more manpower to maintain it.

Maybe you should consider Perl? I'm only half joking. I have a few Perl projects running unchanged for 15 years and hopefully for the next 15 years as well.

Considering how much Ruby borrows from Perl that is one of the better suggestions I've seen here
I don't have that much Perl experience, but I was positively impressed with Python CGI scripts. And with statically linked things like C/C++/Go. Haven't tried Rust in production yet.

Plus I still use one service in production which was written in C++ in 2009. It's statically linked and as such the binary survived 3 major OS upgrades unmodified. Around 2015 I put it behind Nginx just to be sure with all the OpenSSL issues being discovered. It was designed to be multi-threaded to fully take advantage of a dual-core Athlon with 2GB RAM. Oh wow is that one blazing fast on today's hardware.

It's not Ruby itself that has features being deprecated/broken all the time, it's the libraries they're using that are changing.

If you built an app targeting Ruby 1.8.7 (~15 yrs old now?) with maybe rack and sinatra as your only dependencies using only the bare feature set that was available then, it would easily run on Ruby 3 with no code modifications. It would be a lot nicer than Perl too I bet.

If you rely on industry standard software libraries however, you have to keep in mind that keeping up with the industry standard is in the bargain.

Software culture plays a role. If there's one big dog successful project around that everyone's using for a particular purpose and that crowds out and de facto kills other libraries that might do the same thing, but that project's leadership just loves breaking backward compatibility every two years (or more) and not providing security updates for older versions... well, you're stuck with frequent, painful upgrades that require code changes. If that's the norm for lots of projects in an ecosystem, it gets hard to do anything in that language without either avoiding many of its most useful libraries or having relatively high-cost long-term maintenance and/or projects that basically just die and have to be replaced with something new if they fall out of view of your developers for more than a few months at a time.

OTOH, if the culture of a language is that mature, popular libraries tend not to receive breaking changes, even if the principal maintainer reads a blog post and falls in love with New Paradigm X, maintenance can be much cheaper/easier, while still using plenty of 3rd party libraries.

The middle ground between the places trying to be mini-googles and places running their own server under a desk has been squeezed pretty hard by SaaS/PaaS stuff - you either run your small business entirely on other people's services and sweat OR you have a big enough budget to have the faux-SRE experience.

In my experience only owners who had enough momentum from previous businesses with that setup or who just maintained a fairly small pool of revenue (and so didn't change.)

Also the economy went through a lot of M&A because its hard in the middle, failures are catastrophic, and paying some guy who will probably take you to beer lunches to host your stuff makes you look smart to all the other up and coming CEOs.

If a company has 9 racks with their legacy products and 1 product sounding like the ones you describe, then the job ad will mention the kubernetes all the things product/job, but if you apply you'll be maintaining 10 products where 9 aren't very sexy at all.

So unless the company is extremely young (say younger than 10 years) then there will be tech of all ages and all levels of sexy.

I think many places with a setup like you describe don't have in-house staff to manage their tech.

I briefly worked for an agency early in my career where most of the clients had WordPress or Magento sites with low to moderate traffic. They would usually only need a few hours a month each, so it wouldn't have made sense for them to hire full time programmers or sysadmins.

Small design studios. They still exist and they often need developers to develop “regular” websites using very down to earth stacks.

There’s a ton of business that simply need basic websites and those still need to be developed by someone.

This is a great answer. At a small studio you'll absolutely see some LAMP servers being run in a corner of the office and some deploy pipelines that boil down to "FTP into the server and then copy and paste the files into the www directory."
That is much more common that people probably realize. I worked with maybe 60 or 70 different clients over my years freelancing and not one of them was using anything more complex than a basic shared hosting to host their sites. That’s just the reality for the vast majority of businesses.

Most businesses don’t need anything complex. It’s just basic sites and emails.

There's a ton of businesses with mail servers, ERP systems, workstations, industrial equipment, web sites, and hardware to support salespersons, events, and visitors.

Keeps me busy, and automating as much as I can, before I ride off into the sunset. Sometimes the shiny ring isn't what you need to chase.

Hedgefunds/podshops might fit what you're looking for. Depending on the size of the place, it might be a fairly lean set up (colo,minimal cloud). Usually they don't need to scale to "web-scale"
Smartleaf runs out of high-quality third-party datacenters on hardware we buy, install and maintain ourselves, running Ruby on Rails and C++ and Oracle/Postgresql on Debian with borg backups. Is that close enough?

We also deploy with Chef and an in-house application deployment system written in Perl, do monitoring with mon, and understand that a sysadmin is a subject matter expert.

Hiring, too.

Local/regional companies outside of tier 1 cities. Before the pandemic they only hired locally and their salaries were good for the US but 1/3 to 1/2 of salaries in NYC and SF. Companies that were bootstrapped within an hour or two of Philly, Dallas, Phoenix, Denver, Virginia Beach, Jacksonville, Sacramento, you get the picture.
>Local/regional companies outside of tier 1 cities. Before the pandemic they only hired locally and their salaries were good for the US but 1/3 to 1/2 of salaries in NYC and SF. Companies that were bootstrapped within an hour or two of Philly, Dallas, Phoenix, Denver, Virginia Beach, Jacksonville, Sacramento, you get the picture.

This. There are thousands of great "Tier 3" (not FAANG, not Fortune 500, but still large) companies out there in the US that will pay $100k-$200k with great benefits, 9-5 culture, and good job security. The SV startup world is pretty irrelevant at this point with the shift to remote IMO.

Plenty of places like that even in Tier 1 cities!
Probably government related stuff.
You’d be surprised how much business is still running on paper …
Look at industries that typically have a very low level of digitalization. I think I read once the lowest ones are: Oil and Gas, Agriculture.

And then you pick local smaller companies and then you have you what you look for.

I know a social media analytics SaaS company, they're pretty successful at ~200 employees and 100% bootstrapped. All their servers are in the basement of the main office building.
The problem is you will also want job security. The answer is to look in a company that is not tech. Lots of companies that have tech in the background, where it’s needed but not driving revenue. However even in that scenario there is a risk that the job could be cut because software wants to eat everything, move everything to a service oriented architecture or automate, or do the same thing using new buzzwords. So you need to look at a lot of parameters score you jump in.
I disagree that coolness of tech has any relation at all to job security. You're implying pure tech companies will always use cool tech. But there are plenty of pure tech companies outside of major cities that primarily use PHP and Rails and Django and ASP.NET and Perl and JQuery and maybe colo servers and haven't seriously changed their stack in 5-10 years if not longer.
I was not suggesting that at all. Cool new tech has more churn actually. I was simply saying, if someone wants unsexy that would also imply they want job security.
A lot of the companies that do/did this potentially no-longer do it themselves.

E.g. years ago a company might have run their own LAMP stack to host a website or a small online store or whatever.

But in this age of SaaS it is easier for these smaller shops to just use something like Wix or Shopify to handle it for them, complete with fancy wysiwyg editors etc.

I used to get requests to "add payments" or something to websites I used to help out with so that they could basically do an online shop. At the time I actively rejected those requests as there were huge headaches around things like PCI compliance and the like. Fast forward a decade or more and with GDPR and Cookie laws etc it is a total non-brainer to use a hosted service where they handle all of this, rather than spin up your own ecommerce solution.

It does not make sense to roll your own unless you have a large engineering team, at which point you move beyond some random thing running in some random data center somewhere.

Of course not everything online is ecommerce or CMS-oriented - there will be niche and custom stuff that is not handled well by SaaS offerings.

> Where

On LinkedIn.

This is the best answer that you will get.

It also depends on how boring you want to get. Any company with a mainframe will have a large amount of 'boring' tech stack, even if it is paired with newer offerings. The core might be RPG or COBOL, but there's usually a layer of newer languages around it that has had time to crystalize.

For historical reasons, this is also heavily tied to the adoption of EDI. So I'd start looking for boring tech stacks in areas that have EDI documents associated with them: https://en.wikipedia.org/wiki/X12_Document_List

I don't want to use K8s. But I also don't want to use a manually setup rack in a random DC.

Back in the day when we had to hire a guy to go down to the cage every day to repair yet another faulty machine, we would have given our left arm for the ability to magically spin up a new VM of any size with a baked image by just running an API call. It's freakin' magic.

I also love, love, love plain Fargate. Not as stupidly complicated as K8s, but I can still run containers without ever thinking about managing hosts. Just keep my containers up to date, push new ones, and trigger a deploy. Never have to "upgrade my cluster to keep from using EOL versions" or "migrate ingress to a new API version" or some other ridiculous thing. It just works, and all I have to think about is my app/container.

So much this. I have painful memories of talking a not-very-technical "technical support" guy through the use of `lsof` on Linux (they'd never heard of it) to diagnose a deployment issue. Also of multi-day to multi-week waits to get hardware lined up for our projects.

I miss it not one jot.

Don't confuse faulty hardware with software abstractions of perfect hardware. Those cloud VMs are still running on some hardware somewhere, even it's been abstracted away from your control. And that hardware can and does fail.
But with an autoscaling group a new one magically pops up in the same AZ if an old one dies. You don't get that by rolling your own rack (without having hot spares on hand, in multiple racks or data centers). Not to mention getting a managed SAN basically for free (EBS) and backup/restore, and managed DBs... I'm a pretty good engineer, but I'm not good enough to be an expert at managing racks of hosts, switches, routers, storage, tape robots, databases, etc. And I don't have to be with cloud services. I just press a button and it's all there.
Except for that one time a new one magically doesn’t reappear… only to find out that the entire region is down. Then you have to explain to the owner that you don’t have multi-region deployments because they didn’t want to pay for it… and you have no idea when it will be back. (based on a true story) At least with more traditional setups, you can have visibility into why/how your entire system is down and can even have a reasonable timeline to get back to running.
How are you going to make money as an entrepreneur if you are afraid to take risks? The risk/reward here is obviously good. You say this because you are scared of failure.
Me, I didn’t really give a shit then nor would I give a shit now. My job was to lay out the risks/rewards to clients. Sometimes, they choose the dumb thing. You can tell them that’s it unwise, but ultimately it’s their wallets. If they don’t want to pay an extra 20k a month just for redundancy, I totally get it.

They lost about 50k in sales that day, still less than the cost-of-ownership for redundancy.

PS. Please keep conversations civil. You probably don’t know me, but I’m the least “scared of failure” person you’ll ever meet.

(comment deleted)
As a software engineer you should not ever have had to be responsible for those things - that would be the job of network engineers and system engineers. For a small company that is only rolling one rack then I agree it makes sense to cloud host a lot of it (especially variable workloads). But keep in mind you can also roll your own hardware and have "the cloud" as your magic machine that pops up if your rack (or the connection to that datacenter) dies.
> I also love, love, love plain Fargate.

Same goes for the HashiStack. I really don't want to work with Kubernetes anymore simply to deploy some containers.

Whatever you were doing with those faulty machines that failed daily was a problem with you, not a problem with running remote hardware. I’ve run remote hardware for 20 years and only have to physically go to the data center a handful of times per year (and never need to use remote hands support). It just sounds like you were using crap quality equipment and/or didn’t have remote access setup correctly.
You must have been running some damn cheap or old or faulty hardware because that is an insane amount of hardware maintenance.
Industries that actually run the world and won't be disrupted by whatever VC-funded "Uber of X" whose business model is ultimately a Ponzi scheme. Think banking, engineering firms like Schneider/ABB, tools that are actually used in hospitals, etc. Look for major industry players that provide the backbone of basic infrastructure that you probably never heard of because they're too busy growing at a clip of 2% per year at $2B profit and don't need to crow. And of course the companies that support them
Medical hardware is great. Boring time tested technology and good profits.
All of the non-Web GUI development jobs I see are for either military applications or medical devices.

They also pay much lower than even enterprise webshit, despite requiring increasingly more specialized knowledge.

Well Said!

I suspect this where the real "expertise" in Building Software Systems lies. Stable, Steady, Fault-Tolerant, least MTBF etc. characteristics are the name of the Game.

Not sure that financial services (banks) are less likely to be perpetrating a Ponzi scheme than Uber, etc.
Can't argue against that. Although to be fair, the MBAification of the leadership class is turning most places into Ponzis or client-hating Monopolies
The difference is banks will always be bailed out by the government. It's the Ponzi that keeps on giving.
They’re outside of the “tech” industry. Look at companies 200-300 on the Fortune 500; their IT group uses boring tech.

Just fair warning: you seem to be under the assumption that “boring” means “straightforward and just makes sense.” It does not. If you’re looking for that… good luck! Update if you find somewhere and I’ll join you.

Small-scale manufacturing is another good spot. I spent some years doing consulting work with a steel processing company. "Boring" tech, but interesting problems to be solved.
This is it. Currently at a local manufacturing company, and their in-house software runs mostly open-source stuff. No major proprietary headache to deal with, it's not a tech company so I'm not dealing with the obnoxious meetings and calls; and since the software I maintain is internal, I don't have to deal with angry customers. Coworkers let me know if something needs to be better, and I make it so. Simple.

I would recommend anybody this approach.

For that you need a small/medium business where the owners realize that IT is fundamental to their business even if it does not appear to be so... and the amount of people open-minded enough to admit that is not exactly large.

Rule of thumb for Germans, if they write a fax phone number on the imprint or the website looks 90s style... don't waste your time, skip them.

You’re also likely solving very tangible point problems. Dreamy
Thanks for the advice. I had an internship at medium-sized manufacturer in California, above SF a bit. Was really cool to be next to a bunch of CNC machines while writing some code. I think I’ll try to find that vibe again sometime.
How close to Sebastopol?

I went to visit out there and kinda dig the area.

Especially banks on that list. They're slow to adopt new tech due to risk aversion.
Not only risk aversion - they were really early in digitizing their baseline services, so many of them have quite old mainframes by now. It's difficult, expensive, and, as you said, risky, to change old code that the whole organization is operating against.
Not the case; I work at a bank and we have widescale adoption of Kubernetes and cloud products (in fact most of the major banks do at this point)

If you happen to be looking for a DevOps or SRE role, check a large banks job boards, you'll be surprised how many open roles are available.

My (rather out-of-date) experience with banks is that they have no problem adopting new tech but they don't retire the old tech. Add in a bunch of mergers and you get an unholy mess.
Yes! See my sibling comment . . .
The scope of IT at a JMPC or a BAML is massive, and has grown both through acquisition and organically over decades. Virtually any technology you can think of is most likely being used or (at least being supported) by some unit at the bank. In a recent year JPMC's IT spend was $12 billion. In my personal experience (at JPMC) I knew groups who were using Clojure and Scala (while my manager assured me such technology was not authorized at the bank.) I knew of groups on AWS, on e on Azure and some using an internal Cloud Foundry implementation. (My group was running bond monte carlo's in an abortion of an IBM compute grid system straight out of 1992.) I personally knew of Mongo, Cassandra, Oracle, Sybase, SQL Server and KDB installations. Kapital - possibly the most famous commercial use of Smalltalk originated at JPM.

The point is - it's difficult to make generalizations about orgs that big.

JP Morgan Chase Bank of America Merrill Lynch
I work in finance. My point was basically that the industry is usually slower to adopt the new stuff. Of course they will adopt cloud, but are the the first ones or are they 5 years behind the leaders. It seems they also tend to not change COBOL code often and are just adding new stuff in the new tech. So change still happens, but the scope and rate may be different than other industries.
+1 to this. I've worked in tech but never enjoyed the "upgrade the system every 2 years approach." Banks and financial services are now regulated to be slow, methodical, and dependable post 2008. I found a manager I respect in a group that does work I'm curious about (options/futures) so it's a good fit.
Well, I work in finance and we do a lot of upgrades. We rarely touch the old COBOL systems. But we rewrite plenty of JSF and even AngularJS front ends. In fact, I created a system about 2 years ago that is currently being rewritten by a different team. So it does still change. I have never worked at a true tech company so I'm just assuming the change is slower.
Public utilities are high on that list, too. Old tech, stable IT jobs, good benefits, but (IMO) also boring as hell. My 2c.
I used to work in a Customer facing role at a Enterprise Software Company that sold up and down the Fortune 500. I got to see a lot of different tech stacks.

Many use a lot of proprietary software, which can be a type of hell nobody understands till you end up as an expert in a niche area and spend your day dealing with vendors and tech support to fix anything. After 5 years you are an expert on "EnterpriseSoftwareCorpA On-Prem Elastic Scaling Stack and Integration to EnterpriseSoftwareCorpB On-Prem Data Stack" which nobody really sees as valuable, so you are now trapped in your career.

I know a bunch of people who wisely let go of 10+ years of their experience in some aging software so they could start again as an AWS solution architect. I'm sure it's was brutal doing that in their 40s/50s, with family, etc. It was tough, but 2 years later they are in a far better career position than those who are still praying for something to happen with those Enterprise stacks.

You are describing my positions today. FML
Thanks, it's so reassuring to hear this.
Yeesh I feel that way working at a FAANG (or MAGMA or whatever it’s called this week). I’m an expert at our internal systems and platforms, but that’s not a skill that’s transferable anywhere else.
This was probably the most surprising thing about working at a FAANG company (although in hindsight it shouldn't have been). What, you all don't use Jenkins, JIRA, Spring, insert-OSS-or-other-well-known-tool-here and instead have all this crazy internal stuff I've never heard of?
Question: Are the system you using open standards (e.g. RESTful APIs)? Do they have Data Models that follow some sort of sensible standard that allow for interop with other systems via sensible mechanism systems?

A lot of the hell that is enterprise software is how systems talk to each other. I'll give an example. Project is started to bring data from Vendor A Product into Product from Vendor B. Vendor A claims system is "open" but there is no documentation outside of some cryptic .NET examples. Even when a successful connection is made, the data and data model makes no sense and nearly impossible to map to what users see in UI.

Vendor A gets a call. Vendor A repeats "open" and brings an "SME" to explain data model. SME is really a Sales Engineer who concludes Vendor A has another product that will expose the data in usable way. Start evaluating this product, and it turns there is a lot overlap between features in Vendor A new product and Vendor B's product. Plus, you still need to use .NET and a proprietary connection to get data from A -> B. Plus,Vendor A's new product does data transformations in a black box..nobody knows what exactly.

Vendor A and B are pointing fingers and each trying to make a case for why their product needs to do X features. Nobody understands this .NET library, so a consulting company is used to build data pipeline from Vendor A -> B.

Granted, a lot of the above wouldn't be acceptable today and a lot of these types of systems are going away and being replaced by ones that are actually designed to be interoperable with other systems. This type of story is hopefully going away sooner than later.

I use a lot of proprietary systems in my current job at extra-big company, but at least they use stuff like SQL, RESTful APIs, etc. I can understand our Data and how it maps. Those are transferable skills.

I can only hope that FAANG isn't building systems where everything is proprietary and make no sense to anybody outside of the Eng team that built them.

I have never worked at FAANG but have had coworkers + have friends that have.

I'm under the impression that gRPC is popular, and in some places GraphQL.

I prefer AAA - Amazon, Alphabet and Apple. Netflix is irrelevant, while Facebook is too evil.
It's kind of funny: I dealt with more garbage proprietary stuff (NetSuite for example) at my previous job at a tech company, but use almost all open-source stuff at my current job at a manufacturing company.
Manufacturing is in an interesting space right now. There's a lot of hype around Industrial IoT (IIoT) and IoT 4.0. A lot of companies are using that hype to ask for budget to migrate their systems to open source and systems which are more open.

That being said, companies like GE, Siemens, and PTC are trying desperately to capture that space as well with their Saas/PaaS.. I won't say they are crap, but it's just more lock-in under the guide of "open." One of them has already gone the way of Watson.

YMML will vary in manufacturing. If you can jump to one of these companies that is on their journey from legacy systems to more open ones, you can definitely land in a good spot. Just ask the right questions when you interview there.

I've worked with such niche enterprise software before. It only pigeon-holes you if you let it. One I worked with was, at the time, a VB6 based application for trading bank debt built on a combination of SQL Server/Access (SQL Server was the source of truth, but entire data sets would be pulled into a local Access database for reporting...). It had no integration points to speak of, not even a reliable report runner (had to run reports manually through a GUI). Over the years, they were doing a piecemeal transition to .Net, but I never saw a .Net only implementation while I worked with it (I left the company in 2012).

A lot of my Python expertise on Windows comes from working with that system. I used Python because 1) I already knew it, 2) I could easily run parts on either Windows or Linux and 3) all of the internal APIs I needed access to had Python wrappers available (or I could easily write one in Boost Python at the time). I forget exactly which Python libraries I used, but there was some Win32 COM going on, some ctypes and other Python based GUI automation, as well as a lot of process management (reports tended to hang quite a bit needing killing/restarting) and ETL work.

I spent roughly 7 of my 9 years at that company working in part on maintaining the integrations of that 3rd party system with our own internal systems. Yes, a significant chunk of my time at the company, but what software it was is just a footnote on my CV. Instead all of the interesting integration work I did and the efficiencies gained are elaborated upon (e.g. with 8 hours of development effort, I was able to automate away a previously 8-hour manual task that had to be done monthly).

Fair warning, many non-tech F500 may be less of “places running their setup out of a rack in a rando datacenter grandfathered into an affordable Edgecast plan running a LAMP stack on Debian using borg for backups?”

And more of “places running near archaic .NET/JVM versions that somehow manage to combine bureaucracy with lack of organization”.

You really nailed it with that last sentence.
Mind you, it can get even more archaic than .NET/JVM ("hey, never change a running system, plus, even if we wanted, we wouldn't have the money to pay for it")
A friend runs a small consulting business and he recently took on a customer running NetWare and a bunch of server side software. I'd take .NET/JVM over that.
The non-tech F500 I worked at several years ago is doing everything they can to abandon .NET/Java in favor of low-code tools. Their engineers are jumping ship and they're having a hard time finding replacements.
Interesting, there was some low code at the last F500 I worked with, but mostly for very small tolls not requiring much of any business logic.

Majority of the services were older .NET framework projects with some other stuff scattered around. They had a sizable mainframe team, but we’re trying to migrate away from that platform.

>in favor of low-code tools. Their engineers are jumping ship and they're having a hard time finding replacements.

I have a friend who works for a major low-code software company. They're doing quite well financially because of all the excitement around low-code. The product is good if you stay within the boundaries of what it can do. Some managers people think they can replace their enterprise Tableau/Spotfire/PowerBI license with low-code and they get bitten very badly.

Finding engineers for a low-code environment is a challenge. You need to understand software development well enough that you can build something because loops, conditional statements, all of those concepts are there. You also need to find somebody who is willing to possibly lock their career into a single tool and forgo the benefits of knowing a general purpose language like C#, Python, etc.

Some companies have success with finding technically minded business people or IT folks who don't enjoy coding and training them. They can thrive and build some nice apps. Lots of folks can't make the leap and fail. Software Engineers are probably the worst bunch to try an convince because the opportunity cost is too high.

My nonprofit works with a very talented Microsoft consultancy to help our transition from on-prem servers to Microsoft 365 cloud. My main contact there (Director of Biz Operations) says they have transitioned most of their custom development from .NET to Power Apps/Power Automate. It's not the only toolset they use, but he says it's the right tool for many small-medium biz CRUD needs.
This is the direction my current employer is headed. I was sent on a week long course to evaluate the viability of PowerApps. While there is certainly some cool stuff in there, it just doesn't feel like we should be moving all our development there wholesale. There is certainly a time and place, or at least that is how it seems to me.

Business / money making / crucial systems? No. Some random HR survey application? Maybe. Sadly Microsoft seems to have convinced a number of folks in our organization that this tool set is appropriate for all our development.

My prior job had a ton of PowerApps apps for very basic internal CRUD stuff. It always seemed like mostly a form builder though
> under the assumption that “boring” means “straightforward and just makes sense.” It does not

I'll second this. Strongly.

It is not so much boring as more of an amalgam of scar tissue and duct tape that accumulates over time and is a maintenance nightmare. You might run into the rare place that does things "right" with old technology but those are rare.

I do think some new things are "crazy" but I'll take "crazy new" before "crazy old" most days of the week.

"crazy old" likely has years and years of people documenting all the workarounds and hacks that need to be done to achieve X while "crazy new" might not have that much cruft, but you'll be stuck trying to figure it out by pretty much alone

but of course it also depends on how clever the people beforehand have been, is it stuff tied to impossible knots that cross over 5 parallel dimensions, where nobody knows what it does or how it's doing it, just that "it somehow works, so we don't touch it, that guy was a wizard", or is it just layers of faith held together with duct tape and rope, where people tried to fix stuff over years, throwing in patches that "probably should help, I think, maybe", which could be condensed into less than a third of the size, when rewritten...

> Just fair warning: you seem to be under the assumption that “boring” means “straightforward and just makes sense.” It does not. If you’re looking for that… good luck! Update if you find somewhere and I’ll join you.

I suspect that there's a fair amount of overlap—not total, but quite a bit—between companies that were doing old stuff The Right Way, with lots of well-considered automation and high-quality backups and well-documented, repeatable, largely scripted configuration, and companies that are on some of the "sexy" tech now. So it might be even harder than it used to be to find a company doing things the "boring" way but who don't have a horrible, barely-functioning mess on their hands.

I'd think some of the nerdier, niche tech places probably run things OK and not super new-school. Something like Rsync.net, maybe. Possibly places that like BSD in general will tend not to be on the new hotness. Difficulty: those sorts of places tend to have pretty low head counts so it may be hard to land a job at one (go figure, much of the tried and true stuff Just Works and doesn't require a ton of babysitting if you halfway know what you're doing)

>> companies that were doing old stuff The Right Way, with lots of well-considered automation and high-quality backups and well-documented, repeatable, largely scripted configuration

Are there any examples of this? I’m coming up on 20 years into my career and i’ve genuinely never seen a large company that had their IT function ticking over sweetly. Every single one had aspirations and had some things nailed to a greater or lesser extent but none were “done”.

If anything, things are a LOT better today. The old mis-configured MS Exhange host hanging off the office DSL line is gone these days. The MD / CEO’s password is unlikely to be Password1 nowadays.

> The MD / CEO’s password is unlikely to be Password1 nowadays.

Well, yeah. It’s been 10 years, and we need to change the password every 3 months, also, you told me not to use ‘Password’, so the password is now ‘CompanyName40’

This might just be stereotype. As a single data point, I work at a large boring non-tech company - my team's ML runs on Kubernetes just like the cool kids do it.

I've seen a lot of modern tech from other large companies too (banks, retailers etc.) - the culture and pace of development might be different but their tech stacks are very up to date. Even if some of those companies have an old mainframe still running somewhere, they have tonnes of other software too, most of it much more up to date.

Running boring stuff definitely doesn’t preclude also running cool stuff!
I do not think you’ll find “straightforward and makes sense” anywhere inside the fortune 500.
> They’re outside of the “tech” industry. Look at companies 200-300 on the Fortune 500; their IT group uses boring tech.

If only it were so... A lot of teams in these companies are heavily into fad-chasing, so your random internal web app that has 1 user per hour will be deployed in fully-scalable manner on the company's k8s cluster (which is shit, because company didn't put nearly enough people into keeping it running).

Often these are the types of companies that let numerous consulting companies run roughshod over their organization. You end up with a dozen different proprietary systems created by a dozen different consultants/contractors implementing the latest fad.
> companies 200-300 on the Fortune 500

And I think companies 500-1000 of the Fortune 1000 would be even more interesting to work for.