I personally had the worst experience at such jobs. Small/medium sized non-tech companies don't value technology and don't understand its importance. If it works, you're invisible and just a cost center, if it doesn't you're to blame.
For work/life balance I've found big tech corps the best (not FAANG). I haven't worked on Saturday/Sunday in the last 10 years. I've seen people negotiate reduced hours/days successfully.
I work closely with IT departments within such companies through ERP implementations/localizations and can coroborate this. In my experience 9/10 non-tech companies with their own IT departments(1+ person) don't value and especially don't understand what their IT department does.
On the other side, the people working within such departments are in my experience just terribly bad at sticking up for themselves, and explaining what needs to be explained. They don't draw lines where lines need to be drawn and they see themselves in the same way as the management/leadership does.
Yes, there are loads of other problems, especially on the technical side, because tech isn't the company's strong point (our processes, especially revolving around the DB and deployment, are quite a mess) but the right things are in place that make me enjoy my job.
In my own humble anecdotal experience, the less focused a company is on tech, the worse. Beyond that, if management is not from a software (or engineering) background, they will likely have no clue what to expect from programmers (because such hard things are simple and such simple things are hard) and the treatment will be . . . strange.
Any advice on how to find those kinds of positions?
Some of them are great and they're the ones worth keeping in touch with.
You don't have to know much about programming languages to know that if none of the words on my resume match the ones in the job listing, it's probably not a good match.
Maybe I need to be more clear that while I'm willing to learn new tech for a job, I probably don't want jobs where I have to learn an entire new stack just to get started.
they're basically glorified salespeople. they would only reply to you if they thought there was quick money to be made.
I don't feel qualified giving advice but personally I think I would look beyond what is commonly considered "tech". As another poster mentioned, everyone uses tech. When a company's work is sufficiently complex or special, chances are they may not rely on external vendors 100%.
Really out of my depth here but maybe some types of firms where I think there could be some interesting stuff internally:
- engineering - analytics - games - graphics/animations
There is no shortage of anecdata on HN and elsewhere of people being shocked at the poor quality of the code base at FAANG and other high level prestigious companies.
Sure, it's a gross generalization, but after 25+ years in this industry, I stand by this bigotry.
If professional at top quality firms with the best tools can't write code that works, how is "no code" written by people that don't understand going to work better?
They generally only think happy path and have a really hard time understanding why you need to think about edge cases. They don't understand how to structure data or implement robust processes.
No code is great for very simple things. Fill out a form and send it in an email. But for more important and complex things we'll still need programmers. I'm not yet convinced that no-code is an amplifier for programmers. Beginners maybe, but more experienced developers are in my opinion far more likely to be productive in a text based environment.
I've worked at a broad spectrum of different sized firms with various titles ranging from analyst to engineer and have found no consistency between size of firm and work/life balance.
Ironically I've had a better work/life balance working for larger firms, but ultimately it comes down to your manager and how they manage the department.
One example - worked for a large investment bank building software and systems from scratch. Worked 6-7 days a week for up to 14 hours a day at times, but I honestly loved the work and was under no obligation to work that much. My boss and I had a great friendship outside of work and he would call my personal phone to remind me to stop working and do something else.
Any requested time-off was always approved by him, he would give me three weeks off for the month of December in addition to the PTO I had already taken during the course of the year.
Contrast this to a smaller (albeit one of the largest in their industry) company where we grinded every day 50-60 hours per week, PTO was a hard limit of 3 weeks per year and you were not permitted to take more than a week of PTO at a time and had to check-in every 5 days by e-mail. It was the worst job I've had in engineering. That said, there were brilliant folks working there but most left within a year. I sort of hope the company implodes but they're running away with success atm thanks in large part to the high quality engineers they hire (kudos to their hiring squad).
I presume you didn't see much industry yet. In reality, every existing company that is around for 10+ years have already tons of legacy apps or apps nearing that threshold, a lot of times tightly integrated in the rest of ecosystem. That isn't going away for some shiny new SAAS overnight, nor over year.
I've been hearing similar predictions since at least 2010 and they are just not true for much of the business.
Our bank (and in bank, IT is always just a cost center) has tons of external SAAS systems. Yet our internal systems grow, their integration grows and we are actually hiring more people to handle all this.
The other thing is that things that were possibly not handled by technology before, are now handled by technology - so while they leverage it, it creates increasing demand for IT.
Sort of a shift from regular staff - purchasers, AP, etc and more IT staff.
>> The one worry I am having these days is how long this strategy will remain viable.
I just started reading "Ask Your Developer" by Jeff Lawson, CEO and co-founder of Twilio. He advocates that ALL companies should be building their own software, but only software that differentiates them from their competitors. They wouldn't build the next Twilio, NetSuite, Oracle, Salesforce, etc but software that enhances their brand, customer engagement, etc.
From my own experience, I can recommend the following approach for someone with a database background: Look for successful small companies. They typically have some homemade information management solutions that do not scale, such as using Excel where a database would be the right thing, etc. Then tell the management how much better such a database system would be: how much time they could save, how much more consistant and reliable their data might become, how many interesting key figures they could extract from it, etc.
When you are hired, you are usually the only person responsible for the new database project. This gives you all kinds of organisational freedom and limits meetings to occasional consultations with the management.
> I didn't think anyone would say yes to a 4-day work week
Do not set a fixed time per day or week, but instead agree on an annual time budget that is slightly less than what you might want to work. Do not agree on fixed project deadlines, but instead create a detailed to-do list with priorities. Work above average at the beginning of the year until March. After that, you should mention from time to time: "I am already x weeks over the planned time budget". You will then usually not be pushed to work more and can take days or weeks off at will to get back in line with the planned time budget. In December, no one will usually complain if you charge the company more when you are still ahead of the planned time budget. And if they do, just take a longer Christmas holiday.
He hates regular jobs. He wants to work on his inspiring projects, but doesn't know well how to monetize/market them.
Otherwise he'd be happy keeping a job and having the weekends for his own projects.
But this is obviously not the case.
Quit worrying about what other people are doing.
Some days I wonder what it would have been like if I had chosen to program professionally. I try to maintain my skills just in case.
I do the first part: finding smaller to medium company. Smaller companies have better visibility, more work than people can finish so everyone gets to work on big whales. There's in general a better comradeship too. Revenue per employee in good smaller companies are usually larger than that in big companies, so people don't have to fight for resources as much.
I'm not sure about "non-tech" companies, though. IT in non-tech companies are usually cost center, so there's usually insufficient investment in tech workers in those companies. Some line of work can be hard to find in non-tech companies: distributed systems, large-scale database systems, high traffic systems that require deep optimizations on throughput, latency, and etc.
It is possible, just keep looking! :)
When it comes time to negotiate, negotiate HARD. And not just for money, but especially time. Ask for so much that you think they will laugh or be scared away. If they say no, you lose nothing. Eventually the right opportunity will appear. I didn't think anyone would say yes to a 4-day work week, but I kept asking. Eventually someone said yes.
The one worry I am having these days is how long this strategy will remain viable. As SaaS and low/no code solutions proliferate, it makes little sense for non-tech companies to build when they can buy. This is especially true as engineer compensation continues to rise. Engineers who congregate at SaaS companies can build better products than a handful out on their own who are building a solution for just one company. Increasingly, the only engineers that non-tech companies need are people to manage their data, people to glue the SaaS APIs together, and maybe some frontend people to put a custom interface on it.