I'm Joining the Forem Team
Tags: meta, career, forem
Published: 2021-03-09 21:48:02


It's my first day at Forem, the company that operates DEV. I'm excited to be here, part of this really amazing team. In the genre-defying nature of modern work, I've taken up a QA role as a software engineer. This means part-time automation developer, part-time shift-left advocate, part-time developer experience triage, part-time support triage, part-time test refactoring and maintenance, and full-time debugger. If this works out well, it will be a lot more like SRE the way Google described it in their book. 

> Software engineers tasked with automation and response to issues, rather than adding operations/systems engineers to manage these resources and handle incidents (or do manual end-to-end testing for QA). 

Like a lot of Ruby projects, Forem internally already has a strong culture of testing and test coverage, as well as actively monitoring and paying down tech debt. A lot of the green field setup work one might expect as the first QA hire should already be out of the way. This means I can start on hard and interesting problems. Who doesn't like solving hard problems?

I'm a generalist, rather than an expert or specialist in any one subject. I hope I can make things _generally_ smoother, faster, and more reliable at Forem.

# You may ask yourself, "Well, how did I get here?"

I like to say I had a non-linear career path, and I sure feel like I slipped in the back door to become a developer. While I had a fairly traditional math and computer science education in college, the "requirements" for most entry-level programming jobs were a strong pain point when trying to find a good fit after school. 

I ended up as a webhosting server admin for a number of years, worked as a SaaS support engineer for a few years after that. Eventually, I built up enough immediate experience and general expertise with that system that I was the go-to rubber duck in the office when someone was working in a part of the system they were unfamiliar with. Whether I'd written or designed any of the code was irrelevant as long as I'd read it carefully and recently enough to know what it did, what role it played in the system, what called into it, what supported it, and where the output went and why. 

The fact that during this growth I changed my job title to "Software Engineer" was accidental, and I think I'm a loose fit for that job title the way many companies describe it. However, I did gain a lot of experience watching the Rails culture at work as well as the friction or centrifugal forces present in trying to knit together a larger and larger team as we grew. I also discovered the value of intentional, regular, software maintenance.

# You may ask yourself, "Am I right, am I wrong?"

Forem is an exciting breath of fresh air for me since the project and its plans are so directly connected to the desires and needs of the users. I think this level of connectedness to the community we're serving and openness to improvement is going to be a huge boost in the value I get from the work I do. I hope this provides something of real value to a lot of people, and I hope I can see that value when it's delivered.

# Under the rocks and stones, there is water underground

When I'm not working, I enjoy walking and biking. Now that it's spring in Chicago I expect to get more time on my bike than I did this winter. I read a lot, kind of non-selectively, in English and French, and I've started reading in Italian recently to keep my mind comfortable being confused. Learning how to guess well, make decisions when you're sure you don't have all the information, and recognizing things you've seen before are powerful skills in gaining technical competence. A lot of those just happen to overlap with diving headfirst into foreign language acquisition. 

When I'm fooling around with computers outside of work, I use emacs, lisp, and enjoy mathematical computation. Even though I'm probably not especially skilled at any of them, they're different enough from web development to keep me uncomfortable and interested. These are the programs where I can't just "pound out code" and have it work right the first time which helps reinforce my humility and willingness to approach new things.

# Same as it ever was, same as it ever was

So like many of us have experienced several times in our lives, it's my first day at a new job. So far, so good. I'm both excited and scared to see what the immediate future holds. I've got a lot of reserve optimism stored up about how great this is going to be for me as a growth opportunity, for Forem as a growing platform and product laying a strong foundation, and for the community to add one more voice. 

I'm eager to find out how we at Forem interact and integrate the company with the product and the product with the community. I expect to have more ideas than I can possibly deliver, more opinions than I will win arguments for, and more asked of me than anyone has ever asked of me before.