Estimating engineering tasks is hard. It’s a skill that can be improved with practice, but even experienced engineers are often way off base. Let’s look at some of the reasons why and discuss some options for dealing with this inevitability in your company. The requirements were not fully spec’ed This is probably the most common… Continue reading Why are engineers so bad at estimation?
Software engineers place a lot of emphasis on code performance. There is often tension between non-engineers who want more time to be spent on building new features and engineers who want to spend time on improving performance. The app seems perfectly fast to you. So why do engineers care so much about shaving a few… Continue reading Why does my engineer care so much about a few milliseconds?
NoSQL is a popular buzzword these days. Let’s demystify it and discuss why your engineer might be talking about using a NoSQL database. WTF is SQL? As you may have guessed, the inspiration for the grammatically questionable name “NoSQL” is SQL. SQL was the state of the art class of databases from the 1980’s until… Continue reading WTF is NoSQL?
So you want to build a mobile app. Maybe your product is mobile-first, or maybe you have an existing website and want to supplement it with a native app. This is a big decision, since switching between native and hybrid apps down the road means starting over. So how do you decide, especially in the… Continue reading I want to build an app! Should it be native or hybrid?
Some of the disagreements I’ve had with non-engineers in my career stem from an assumption that because someone else is doing it, we can do it too. While this sounds logical, it is not always realistic. Why not? They own the data As discussed in my last post about APIs, companies have proprietary data that… Continue reading Facebook does it. Why can’t we?
“API” is a ubiquitous term in modern application development. Technically, it stands for “Application Programming Interface,” but nobody calls it that. It’s a broad term, but it basically defines how one system communications with another system. I’ll divide it into two subcategories: third party APIs and internal APIs. Third Party APIs You probably hear about… Continue reading WTF is an API?
If you’re a CEO or other business type, when you think “scaling” you think “I’m excited to increase our userbase and revenue by orders of magnitude!” If you’re a backend engineer, when you think “scaling” you think “oh shit. What’s going to happen to my platform when it grows by orders of magnitude?” As a… Continue reading Why do engineers worry about scaling?