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 both camps could learn a lot from each other. This blog will try to bridge that divide.
This blog will not be a substitute for hiring a great engineer. It is not intended to settle arguments between engineers and non-engineers. Non-engineers: listen to your engineer instead of this blog. Your engineer knows the context of your situation, which could be critical to whatever issue you’re having. If your company is using a different programming language, a different database, a different architecture, or even a different hosting provider (WTF are all those things? I’ll cover them in future posts!), then my answer geared toward one may be totally irrelevant to your situation. There’s nothing that annoys me more than when my non-engineer says “that’s going to take you a month? But my cousin’s uncle’s dog’s former owner said that this would be easy!” Please don’t use anything I write here against your engineer.
Who the F are you?
Hi! I’m Adam Berlinsky-Schine. I’ve been coding since I was 13 and I’ve been a technical professional for the last 12 years. For much of that time, I’ve been in roles where I’ve been a liaison between engineers and non-engineers. I’ve been in the startup world for the last 6 years, recently as the CTO of Coffee Meets Bagel and currently as the CTO of Nommery. Prior to that, I worked at larger companies: Yelp for a year, and Amazon for 4.5 years before that. I’ve been an advisor and contractor for several other companies along the way.
Throughout that time, I’ve been in many situations where I’ve had difficulty communicating with my non-technical counterparts and had disagreements that stemmed from misunderstanding on both sides. These are very smart people – I wouldn’t be working with them otherwise – they just don’t have the same skill set as I have. Over time, I’ve learned to better communicate with my non-technical peers, leading to deeper mutual understanding and less frustration on both sides. I’ve generally learned that more explanation is always better than less, and that I shouldn’t underestimate my non-technical peers. I will try to convey some of these learnings in this blog.
Who the F is this for?
This is for non-engineers who work with engineers. There should be something here for nontechnical co-founders, early employees, PMs, designers, customer service reps, and marketers for tech companies. Since I’ve been in the startup world for the last several years, this blog will probably be most relevant to new entrepreneurs who are figuring out how to work together to build their company. It might also be relevant to freelancers or those at larger companies who work with engineers in some capacity.
Engineers, please don’t read this blog. I mean it. I’m going to oversimplify, gloss over important facts, and tell little white lies that I would never say to another engineer for fear of losing all credibility. When speaking to other engineers, we all know that we have to qualify everything we say out of fear of starting a holy war. I might say in this blog Cassandra is more scalable than Postgres without going into detail about the ways that Postgres can in fact be made to work at scale. I might reference similar or competing concepts in aggregate – AWS / Google Cloud, Postgres / MySQL, Latency / Speed – without going into details about the differences. I’ll fail my own technical interview through some of these cardinal sins. But I hope to be an asset to you. If you’re having trouble communicating something to your non-engineer, you might show them a relevant posting (without reading it yourself, of course) to help clarify something to them or to show that you’re not crazy. I’ll usually be on your side. If this blog is EVER used against you – eg. “I don’t believe you. I read on this blog that…” then let me know which blog post it was, what your non-engineer misunderstood, and their phone number so I can set them straight.
You didn’t answer my F’ing question
I take requests! Please send requests for future topics in the contact form on the left. If this is a professional emergency, please hang up and dial your engineer’s number. He or she should still be your #1 ally and partner in your endeavor.
Alright, I’m ready to learn how to code!
Go back and read this F’ing post.