I am a generalist software engineer. Went back to school in 2012 at the ripe-ish age of 31 to get a BS in computer science, and I've gobbled up as much information as possible since then.
I started out at Nordstrom, working on Java microservices. There's a section in the DevOps Handbook about how our team led the DevOps transformation at Nordstrom. Basically, I've been into DevOps and microservices since I stepped out of college. Eventually, our team absorbed another team that were early adopters of Kubernetes, and when that part of our team graduated to being the platform team for all of Nordstrom, I happily followed. Recently, I listened to a freeCodeCamp podcast episode where, at one point, they talk about a hill climbing algorithm as a metaphor for the interviewee's career choices. That resonated with me because I felt like I was making that kind of choice when I switched to the Kubernetes team at Nordstrom. I had learned a lot about Java, the Spring Framework, and microservices, but then looked around and saw this Kubernetes thing, I new I had to be part of it. So I spent a year on that team learning Kubernetes in a position they made for me that they called Customer Engineering, where I deep dove into Kubernetes from our client teams' perspectives so I could support them via onboarding help, office hours, and daily Q&A over Slack, while also being on-call for the platform.
After spending 4 years total at Nordstrom, I left for a consulting position at Nortal, where I spent another 4 years. It was a strange, interesting, and sometimes difficult setting. I was on 5 different projects at 5 different companies there, including Amazon, Expedia, Motorola, T-Mobile, and a startup. At each project, I purposefully pushed my career further into DevOps territory, getting Developer Associates and DevOps Professional certifications for AWS, 3 of the projects used Kubernetes, built pipelines in GitLab, Travis CI, and Azure DevOps, wrote microservices in Java/Spring, Python/Django, and C#/Dotnet, and more. I've learned how to navigate difficult client relationships and have had great mentorship. I grew quite a lot at Nortal.
I've pushed myself to get better at Python, which has always secretly been my favorite language, despite often getting pushed into Java projects. I've been using it to automate just about everything, even where Bash may have been shorter and saner. I've been using the Textual project to create TUIs (Terminal User Interfaces) and have been following it pretty closely. I created a little project called Avocet, which is a bookmark app that uses the Raindrop API. The folks at Textualize also created a nifty library that introspects Click apps called Trogon, which I started using and ended up writing my first blog post about.
Now, I've decided that I have to climb back down the hill and start learning AI engineering, as described in this Latent Space blog post. I've been working my way through some of the DeepLearningAI short courses and trying to break into this area. It's been fun, interesting, and exciting, and I feel that I have to regularly climb up and down the hills to learn new skills to keep myself moving forward and stay motivated.
Some other projects I'm excited about and keeping track of are System Initiative, where they are trying to re-imagine DevOps, Dapr for building microservices faster, and Dagger for running and debugging CI/CD pipelines anywhere.
- ๐ซ How to reach me: [email protected], https://www.linkedin.com/in/joshuaoliphant/, https://anoliphantneverforgets.com/
- โก Fun fact: I've been sourdough bread backing since about 2019