I'm a full-stack developer living in Boston, MA. I currently work at GitHub where I primarily write Ruby/Rails and a bit of TypeScript. I care a lot about building the right thing and writing great code.
This morning I was drinking my coffee and eating a pastry while reading about how you shouldn’t defer Close() on writable files and dove into the HN comments. The first comment calls out a minor improvement that can be made to the code. Specifically, using errors.Join
to combine the returned errors in a succinct and clear way. I wasn’t familiar with errors.Join
so I decided to dive into the source code a bit.
ActiveRecord is arguably one of Rails’ best innovations and killer features. Lately, however, I’ve questioned if the abstraction goes far enough. It’s a great abstraction over SQL and I’ve come to believe that we need one more layer of abstraction for maintainable applications. We need the curation and encapsulation of queries.
In my time as an engineer I’ve reviewed (and will review) tons of engineering proposals. So far these proposals have ranged from small changes in infrastructure or code all the way to extensive architectural proposals that could span years to reach completion. In all of those proposals there’s a single factor that separates a good or poor proposal from a great proposal: They “show me”, not “tell me”.
I started hacking on a side project during the holiday break and ended up giving TypeScript, TypeOrm, and Express a try. I’m very impressed with the level of type safety the combination provides but was disappointed that the view layer was type-unsafe. I started with handlebars but after a few bugs, I decided to spike out using JSX/React as a server-side templating language and was surprised at how easy it was to set up.
In my day-to-day work, I often find my attention being pulled in several different directions. It’s often some combination of meetings, pairing sessions, code review, actual coding, API design, responding to issues, and much more, depending on the day.