My first job as a developer had me working in-house for a company that manufactures something you’ve definitely had experience with. Unfortunately, you probably threw our product away at your first opportunity. But it serves a purpose!
This job had absolutely no designs on taking over my life. I worked there for seven years and in that time I can tell you, in all honesty, that I stayed late once (by choice) and was contacted on a weekend only twice (for legitimate emergencies). Otherwise, I was out at 5:00 PM and could pretend that I didn’t have a job at all!
I don’t know if this was because the company’s product wasn’t software or if it was specific to the culture of the company. Regardless, it did contrast with an era where it seemed that long hours and a lot of crunch were the norm.
What I do know is that this was an advantage because I wasn’t trying to compete with some idealized version of a software developer who ate, slept, and breathed software. To whatever degree it’s truthful, there was an idealized image that gained traction of the dev that spent their spare time doing a bunch of personal work or contributing to open source projects. This person, presumably, stared down their monitor nearly all of their waking moments.
I didn’t want to be that person. Building software is fun and all, but so is mountain biking, guitar playing, taking trips, etc… I distinctly remember that I had a sense of dread around making sure that I fit the image of a competitive and driven software developer so that I could be considered for jobs. Luckily, I avoided it.
Since they weren’t screening out a ton of candidates, I didn’t have to take part in obnoxious coding tests for that job. I’m awful at those tests. My brain falls out of my head when I see a timer counting down. They irritate me because they do not reflect the reality of the work of a developer. They’re either ridiculous gotcha-style questions that take a second to look up or akin to asking what someone’s all-time best squat numbers are for a job where you have to be on your feet all day. That said, I understand that those tests are a useful filter, as evidenced by the wide eyes and slow nod one of the hiring managers from my current job gave me when I asked if those tests were all that useful.
Instead of a test, I was invited to speak to the manager of the IT department. He had a few small examples of some code and a little logic test that he found personally useful for assessing candidates. Mostly, I believe, he wanted to make sure that I was going to be someone he could stand to talk to in the office day in and day out. Whatever the criteria and motivation, the environment was very similar to what the working environment would ultimately be. As a candidate, I found that more useful because it meant I would be able to reasonably gauge what working there would feel like for me.
The in-house work taught me that this was a job and it set my expectations accordingly. I was able to take the job seriously and expand my skills but this job never followed me home. If I wanted to work on some projects on my own it was my choice to do so. There was no sense of competition for anything and my position was secure as long as I continued to produce results.
In the end, I advanced my career at roughly the same rate as anyone else. I moved on from that job and got a senior title, and ultimately a new position with more interesting problems to work on. Being able to treat the job as “just a job” did not hold me back in the slightest.