This blog is for non-engineers who work with software engineers. Throughout my career, I’ve seen a lot of misunderstanding, frustration, and downright animosity between these two groups. Some of it is normal workplace bickering, but part of it stems from the fact the engineers just think differently than other people. That’s unfortunate, because people in… Continue reading WTF is this blog?
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?
By now you’ve learned WTF a tech stack is and, after consulting with your engineer, you’ve discovered that they’re building the app in Ruby on Rails. Or Python/Django. Or Python/Flask. Why do they always come in pairs? A programming language is what we use to tell a computer what to do. I can write a… Continue reading What’s the difference between a programming language and a framework?