Mel Reams

This author hasn't added his/her bio.

It doesn’t work unless it all works together

Or, let’s talk about context some more! So last week I talked about how you can’t know if code is good or bad without knowing the context, what you’re actually trying to accomplish with that code, what was most important when it was written (priorities change, that doesn’t mean that the way the code was written at the time wasn’t perfectly reasonable for the context it was written in). But.. Read More


So I was browsing questions late one night, as you do, and came across an interesting one: How to explain business priorities to a programmer. That one didn’t go at all the way I thought from the title. It turns out the business priorities actually did make sense (the business had this wild idea that queries, even especially complicated ones, should take less than 4 hours to run) and the programmer.. Read More

Be a better programmer while still having a life: part 12

Keep it simple! It sounds obvious, but I have wasted so much time debugging problems that turned out to be something ridiculously simple like my browser cache being outdated, having forgotten to deploy my code, having made my updates in my local database instead of the staging database, etc, etc. Better developers are more productive, and you know what instantly makes a person more productive? Wasting less time! Double checking extremely.. Read More

OnePlus 5 review

Because you definitely all care about my opinions on phones :) The very short version is I really like this phone and recommend it for anyone who likes the Google Pixel but is put off by the price. Now for the details! The hardware is really nice, it feels solid and well put-together. Fair warning, it is a phablet and the formfactor is very large – without a case the.. Read More

Back to basics: Classes

Let’s talk about classes! Classes in Java are super weird (okay they’re weird in any language), and I really struggled with them when I was learning Java, so don’t feel bad if classes/objects are hard for you. When you write simple code where everything is in main and runs immediately, it’s way easier. With classes you can’t just write it and call it, you have to create an instance first. What’s.. Read More

Be a better programmer while still having a life: part 11

Don’t be a time thief. More precisely, if a decision has been made let it stay made. This tip won’t necessarily change your personal output a whole lot, although you will have more time for your own work if you don’t waste it rehashing old decisions, but it will be fantastic for your team’s productivity. Being a better programmer isn’t just about how much you personally get done, it’s also.. Read More

Be a better programmer while still having a life: part 10

A little bit of self-doubt is good for you! That might sound weird but hear me out. Doubting yourself just enough to accept the fact that you don’t know everything and will be wrong sometimes is incredibly useful in software development. So many projects have died when the thing that everyone assumed would be easy (or at least doable) turned out not to be. If you can accept that you could be.. Read More

Tip of the day

Remember how great Authenticator Plus is? Recently a coworker told me about another great thing it can do – categories! If you have 2FA set up for many accounts like I do, it gets to be a pain scrolling through that list to find the one you want. Categories to the rescue! From the settings menu go to manage categories, from there you can create new categories and put authenticators.. Read More

Be a better programmer while still having a life: part 9

Don’t reinvent the wheel! I’ve touched on this before, but it definitely merits its own post. A huge part of becoming a better developer is understanding when you don’t need to write new code to solve a problem. The more code you write, the more code you have to maintain, the more chances you have to screw it up, and the more time it takes to write it. So before.. Read More

Code smell: long parameter list

Today’s code smell is long parameter lists. If you have lots and lots of parameters, something is likely going wrong. Odds are good your method is just doing too much, which leads to confusing code that’s hard to understand and change. Another reason lots of parameters causes problems is that when you call that method, it’s very easy to accidentally get two parameters of the same type in the wrong order.. Read More