As Fullstack continues to host events and classes virtually, we want to ensure that we’re continuing to support the next generation of software developers by providing valuable tools and resources.
Built In is a go-to online resource for thousands of tech professionals across the US. It helps people learn about the industry, build connections, and find new opportunities.
One reason we share conversations like these is because we believe in keeping our students informed about emerging technologies and how top technology companies operate so they’re prepared for the workforce.
This interview has been edited and condensed for clarity.
How is COVID-19 impacting Chicago and Built In?
We’re all working from home and have been for over a month at this point. That’s a big deal. Some people are fine with it, and some people are not. I think some departments were really freaked out, but the engineers are like, “We’ve got this.”
We’ve always had distributed engineers at Built In, so for us, we’re like, video conferencing, yes, we have stand-ups every day, we have check-ins biweekly, we use Slack a lot—we know how to do this.
We’re in a really weird time right now. Companies aren’t sure if they should keep hiring, and I feel like we’re in this weird limbo phase where people just aren't really sure what to be doing. In the long run, we’ll be fine. We’ll get through it.
As a CTO and mentor, what advice do you have for engineers looking for a job right now?
This, too, shall pass. I’m not trying to make light of this situation, but in terms of the economy, this has happened before, and if you’re going into programming because you’re interested in the work and you love it, you’ll be fine.
Be curious, continue to be interested in this work, and just let it lead you where it will lead you.
What are your tips for finding or reconnecting with the joy of programming?
If you’re new to the field, you want to keep that sense of wonder.
You need to keep pushing and keep learning—and this applies no matter where you are, even if you’re like 10 to 15 years into the field. Put yourself in an uncomfortable situation and keep learning.
How can junior developers stand out to an engineering leader?
I always look for people who have a good feedback loop—I’m going to explain to you what I’m doing and why and what I think and collaborating.
That’s not something everybody does. And being open to saying, “I don’t know why this is working this way. Can I ask you why?” proves to me that someone is going to be open to learning and open to understanding what we’re doing.
What is your process for interviewing technical talent?
On a phone interview, I’ll identify a few dimensions of how you handle execution, and then I’ll think about how you handle mentorship. Have you ever owned a project? How was that? I’ll try to gauge what your level of expertise is and that will inform me if this will be a good fit for you.
In more advanced interviews, we’ll do a code exercise and some pair programming. I typically like to work with people, so we’ll just pair on something depending on how much time I have.
What I like to do is give you a problem you probably won’t solve in the time allotted because I don’t care if you solve the problem or not—I only care what your process was.
What was it like to be a programmer in the 1990s?
Nobody was talking about startups. Startups weren’t really a thing. Everybody wanted to work for a giant company. I wanted to fit into a giant engineering organization. It seems like a lot of those jobs are the ones that have kind of faded away from us.
As far as programming goes, I was really thinking about C++ and Java. There were a lot of other languages that were big at the time, like PHP and Python, but they were really upstart languages and you didn’t see any companies that were based on them.
How did you end up at Built In?
I joined Built In in 2018. At the time, it was about 40 people, and now it’s like 120+ people. The engineering team is now up to 18 (we started as six when I joined), so I’ve seen a lot of growth, and that’s always kind of fun.
We’re headquartered in Chicago, but then we started to scale out to Colorado, Los Angeles, Austin, New York, Boston, Seattle, and San Francisco (starting last year).
What were you tasked with doing when you joined and what choices did you make?
We were a startup that wanted to move really fast. We use a lot of Go on the back-end and Vue.js on the front-end. We also have a platform that’s based in Drupal and use lots of Python on the data side.
Part of the reason we went with Go because it’s a fast and simple language and it’s easy to write tests for.
What is your perspective on using Go from a developer ergonomics standpoint?
There are two ways to think about it: I have to write in this language, but I also have to read this language and both of those matter. If I develop a language that’s highly expressive, I’m optimizing for the writing of it, but I’m potentially sacrificing on the reading side of it.
Go is a language where you might have to write a little more code to do something than you might have to in Ruby or Python, but when you read it, you’re pretty clear on what’s happening. And that’s powerful because you end up reading more code than you write, and that’s always been my experience.
To me, it makes more sense to optimize it for people reading it than for those writing it, since more people are reading it than writing it. Rob Pike has a quote about this—“Go is nobody’s favorite tool, but it’s everybody’s favorite tool.”
If you were building a startup now, would you build it in Go?
I think it depends on what you’re building and what your comfort level is.
You have to consider your outcome. It’s not purely that I want to use another language, it’s rather that I want some type safety [ed note: Type safety is the extent to which a programming language discourages or prevents type errors].
Why did you choose to work with Vue.js?
I worked with Vue.js before, and we were early enough that our choices were to use Angular, Ember, or React, and at the time, no one really knew what a front-end framework should look like, so we made them look like Rails even though that’s not really the right pattern for front-end development.
Where do you see the biggest tech growth in the future, the Cloud, AI and machine learning, or Blockchain?
I don’t think you have to pick one or the other. There are a lot of really cool tools out there that are trying to solve problems in the machine-learning space in Cloud.
I think AI and machine learning will continue to be big, but you always have to remember that we’re not that good at artificial intelligence, we just kind of figured out how to make pattern matching go faster, but we’re also really bad at bias. And that’s a huge problem that will continue to be a problem until we can just keep iterating on it.
It’s not a matter of picking a better algorithm. It’s more about understanding what you’re measuring and what it means to measure those activities.
Interested in learning how to take your career to the next level? Attend one of our upcoming virtual events to see if software development is right for you.