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?
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?
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?