Screening developers should be easy

I’ve been thinking about programmer hiring for several years now, and I have a new theory for how to do it:

Make it clear what it is your software team does, and hire people who can make an enthusiastic case for why they want to join your team.

That’s pretty much it. Class dismissed.

I guess I should justify this theory. The remainder of this piece describes my journey to this radical realization.

Continue reading “Screening developers should be easy”

An epic Webpack mystery

Webpack logo

For reasons I’ll explain elsewhere, I’m building a desktop app, which stores its data locally. It’s built using Electron, a toolkit for writing desktop apps using web technologies. and it uses a pure-JavaScript database called NeDB for persistence. Pretty quickly, I ran into a headscratcher of a problem. My data wasn’t actually being saved to a file but I wasn’t getting any errors or warnings.

As it turned out, it wasn’t a bug, but a complex situation involving Webpack defaults. Understanding and solving this issue took me waaaaaaay down a rabbit hole, and I thought it would be informative to share the story.

Continue reading “An epic Webpack mystery”

Mission accomplished (Our financial planning voyage — Part 3)

As has happened before in this process, after making a bunch of progress, I dropped the ball for a couple months. I don’t recommend doing that. It’s tough getting the momentum back. But if you’re like me and you’re allergic to just finishing things, all you can do is pick yourself up and gin up the motivation to get things moving forward again.

Continue reading “Mission accomplished (Our financial planning voyage — Part 3)”

Property taxes, who knew?

Going into buying a home, I had to wrap my head around a lot of things. There was finding the home itself, then the whole process of negotiating the offer, the mortgage, and then all the thoughts of what you want to do when you actually move in. A big part of the financial aspect of the purchase and mortgage is projecting your monthly payments. Property taxes are a significant part of this.

The thing is, even once you pay your mortgage down, you’ll still be paying those property taxes in perpetuity. In a state with high property taxes like New Jersey, it’s a sizable percentage of what you might pay in rent some other places. I was aware of property taxes. I assumed they’d be predictable and logical. Boy was I wrong.

Disclaimer: Per usual, I have to make clear that I am (obviously) not an expert on this topic. This piece reflects my growth from zero understanding, and hopefully underscores that you should get professional advice as you make your own financial decisions. Comments and corrections are very welcome!

Continue reading “Property taxes, who knew?”

Hot Take From A New OCaml Developer

I recently started a new job at Arena.io. One of many things that attracted me to the role was that they proudly use OCaml. Even if you’re a professional developer, you might not know of it. It’s not a widely used programming language, but it has been highly influential on many of the most cutting edge programming languages. If you’re not an OCaml, suffice it to say, this post probably won’t be that interesting to you.

Continue reading “Hot Take From A New OCaml Developer”

A bitter pill

Several years ago, I returned to Baltimore for the funeral of one of the kids I coached in basketball. He was stabbed to death in an altercation at a gas station. I almost wrote a piece about my feelings, but never did.

Last week, I learned that a student I taught was found shot to death on the street. I don’t know anything more about what happened. There’s no news story about it. If you know the intro to the track Straight Outta Compton…well, almost 30 years later, not much has changed.

This kid was one of the kids who defined my experience as a teacher. He was funny as hell, complex, brilliant, stubborn, inquisitive, and energetic. In one particularly out-of-control class period, he got carried away and was standing on his desk ring-leading the chaos. Floundering to figure out how to regain some semblance of control, I play-lunged at him, and he quickly scrambled back down, saying something probably like “Mr. Johnson ain’t playing”. I earned a little cred, the wrong way. (Not my proudest moment as a teacher, but I never claimed to have been great at the job.)

He and I didn’t always get along, but we also had moments of the two years I taught him where I think I really reached him. On my last day with the students, I let them write reflections about their time with me, if they wanted to. Each one was almost shockingly introspective and grateful for what I had at least tried to accomplish. But this kid’s was hands-down the most heartfelt. That day may have been the last time I saw him, and I’m presuming our lives diverged significantly from that point.

Sadly, I wasn’t able to get enough information to make it back to pay my respects and just express my support to his family and any of his classmates that would have come. But it’s also a reminder of how marginal I am in that world, where media, justice, economics, and just about everything else are entirely different than in the bourgeois world I inhabit. Premature death is so common in Baltimore that young people talk about how they want to be memorialized on a t-shirt in the same way that I might think about a living will.

When I returned to Baltimore for that last funeral, it hit me in the gut that, in a sense that is almost too literal for comfort, I helicopter in and out out of that world at will. But my former students, that precarious world is their default, and they venture out only with incredible difficulty, as the forces of concentrated poverty constantly pull them back in. The people who stay in teaching in places like Baltimore choose to be permanent residents of that world, and a bridge to other worlds. I’m forever in awe of those who stay in the career.