So you got a job as a software engineer. What now? There are 1,000 technical skills that you can dig into. There is always a new framework to learn. Your company probably has a large codebase that you can get familiar with. You need to know Git, the command line… the list goes on. In many ways, how you approach career growth is more important than the specific things you learn. In this post, we’ll look at 5 tips for helping you grow as a software engineer. We will not be talking about specific technologies since those change all the time. Instead, we’ll look at the mindset that will best help you advance in your software engineering career:
Continue reading Recently, I was thinking about how many of the nontrivial problems that I run into with software engineering boil down to a few simple problems. Just look at any book on algorithms, and the majority of them will be some variation on sorting or searching collections. Google exists because the question of “what documents contain these phrases?” is a genuinely hard problem to solve (okay, that is vastly simplifying the enormous scope of Google’s product, but the basic idea still holds).
Continue reading Recently I was looking into options to add rate limiting to a specific endpoint in an application at work. Most endpoints are only exposed internally, and we are careful to not make more requests than the system can handle. However, in one case, the endpoint is open to our customers, and it runs some pretty intensive database operations, so we wanted to limit the rate at which clients can make requests. This functionality is available in pretty much every API gateway out there as well as in a lot of reverse proxies. In our case, application updates are easier to make than config updates, so we opted for a simple solution that we could deploy as part of our Node.js app.
Continue reading For years, my dream project has been to build a database from scratch. For most of my career, the most challenging questions have revolved around how to ingest, store, and query data in a performant way, and while I have found a number of really great solutions, there usually has not been a single product that can meet all of the requirements.
Continue reading For the past few days, I have been playing around with Elixir to build an API gateway for WP-Pulsar. While I am far from an Elixir expert (I’d barely even consider myself and Elixir novice yet), I have really started to fall in love with the language!
Continue reading