In my early days as a developer, I once released a dev tool which got attention from the internal dev tools team that was always doing really exciting work. I eventually join the team for which there are three main repositories. I get two of them set up, but the third and oldest one required specific old java and mysql versions. Everything was running except for the mysql database. I asked the senior engineer (the team was only ~5), and they showed me their setup. I copied everything to a tee, but perhaps because their mac was older, it didn’t work for me. I spend the next two days troubleshooting with no luck. The week is almost over, and I’m terrified now, being on this new coveted team, and I haven’t done any work because of this mysql database. I ask them for help again, and this time they get mad at me. Oof.
Ok, one week down, we’re doing planning and I have to get productive. The JIRA tickets are put up on the board, and I sprint towards the ones for the two repos that I do have running. The senior engineer was left with the tickets involving the legacy codebase + mysql database. For the year, this strategy continued to pay off! In our team of 5, I miraculously avoided every JIRA ticket on the code base I couldn’t get running.
It’s December 2018 and I had put in my two weeks. In my last week I get assigned a JIRA ticket to that repo. This feels like the universe’s sick joke. I’m ending work on great terms, the senior manager even gave me their number and said I could text them if I ever wanted to return. I couldn’t ask for help getting the environment running.
I wrote the code for the JIRA ticket. It was relatively small, but I couldn’t run it without mysql. I pulled out paper and compiled everything by hand. I spent two hours running everything, including some test cases, all by hand on paper. Is that what coding in the punch-card era felt like?
I put up the PR, it gets approved, and it passes through the pipeline! This might’ve been the loudest sigh of my life. I turned in my laptop and thanked my team for the incredible opportunity to work with them.
Developer environments either take none of your attention or all of it, and there’s no in-between. That’s probably why when there are a lot of small things wrong with our environment, we’d often rather walk around with rocks in our shoes than dare touch it and risk ruining something.
Brev.dev provides local-first developer environments so you can keep using the tools you love on your machine, instantly onboard new engineers, and rid yourself of installation README’s and painful software updates forever.
We should know - we exclusively use Brev for our own development, and we think it’s pretty great - we would love for you to check it out.