Adam Duro is Chief Technology Officer at Freebird Rides, based out of Los Angeles. Today I get to share his story of getting into tech without a CS degree. Coding bootcamps weren't a thing when Adam started!
Continue reading to hear about his experience learning to code and his advice for developers starting out with programming and looking for jobs in 2019.
Hey, thanks a lot for doing the interview! Could you introduce yourself?
My pleasure! I am 34 years old and have been working professionally in tech/software as an engineer, manager, and executive for over 15 years. I grew up in Sedona, Arizona and moved to Los Angeles, California as a teenager. I started working professionally in tech at the age of 17.
What first got you interested in programming and how did you learn?
I started with the early days of consumer internet. I was fascinated by my grandfather’s Prodigy internet service, and his Packard Bell 386. I begged my parents to get us a subscription to AOL when it came out. I was a gamer and a few friends and I were in a guild and they mentioned wanting to build a website for our guild, so I went home and started tinkering with HTML (there was no such thing as CSS then).
From that point forward I was always a techie kid, building my own computers, hacking around with different scripting languages, and eventually when Flash came out, started tinkering with that. After high school, and a failed run at becoming a child actor (my highlight was an episode of Malcolm in The Middle, and a bit part in a Mary Kate and Ashley DVD release), I woke up to the fact that my hobby could actually be a career, and took some community college courses in software development and design.
It clicked pretty fast. I ended up transferring to a trade school, with a web dev and design program. There I was introduced to OOP principles through what then was the brand new ActionScript 3 language for Flash. I would say that was when the fuel hit the fire. I dropped out after about two years when I was offered a full time web development job at a local agency.
Since then it’s been all learning on the job and staying super hungry to push myself to always be learning and advancing. I try to study two steps ahead of where my current skill set is. I ask lots of questions, and don’t stop till I know “why” the code I’m writing, or the tool I’m using does what it’s doing.
How did you get your first work as a professional developer aged 17?
Ha, not sure “professional developer” really describes that first job at 17. Maybe more like “professional learner”. I actually got that job through a friend of my mom. I was always an ambitious kid, but also a bit of a trouble maker. My parents were right to always push me to have a job, it went a long way to keep me out of trouble. I graduated high school early, so it was important for me to get into the workforce ASAP.
My mom’s friend knew two guys starting a web hosting company, and they just needed someone to help maintain their website, help with email/phone tech support, and some admin here and there. I am so grateful for that job. It paid next to nothing but I got exposed to so much.
From web development (as it was just starting to gain momentum with CSS, jQuery, PHP), to Linux system administration (working on the command line, migrating people’s websites from server to server, setting up Apache, configuring DNS, etc), and people skills (dealing with all kinds of customers on the phone helping them with their website and email problems). I will forever be indebted to my mom’s friend. Thanks Stan!
Do you think things are getting easier for self-taught developers now?
I think yes, and no.
Yes, because the tooling and abundance of learning materials is light years beyond when I started. Especially the latter. Between sites like YouTube, Egghead.io, Udemy, and Treehouse, if you’re hungry, and want to learn, the content is there. None of this existed until I was at least 5-6 years into my career. Also… GitHub! Today we have all the code and examples you could ever dream of right in plain site. Back when I started, the closest thing I had to this was viewing source on the browser and trying to dig through what was going on there.
Nowadays these are things are the standard. And this is why it’s even more important these days to really understand the fundamentals of engineering, and be steadfast and hungry to learn. Gone are the days of casually stumbling into a career in software engineering.
Can you tell us what a typical day for you looks like just now at Freebird Rides?
My role as CTO at Freebird Rides, since we are still very much a startup, is a very hands-on role. I still “get to” code, and for that I’m grateful. On the lower level engineering side of the job, I put a lot of focus into platform architecture, both front-end and back-end, our DevOps pipelines, and Cloud architecture.
Right now we are in the process of migrating many of our back-end services to microservice style deployment, utilizing serverless technologies, and event-driven service communication patterns. It’s usually my job to perform hands on reconnaissance into new tools and patterns, and setup standards and frameworks around these things before the rest of the team starts to plow ahead full steam.
Beyond my hands-on engineering, I manage a team of about 15, across engineering, product management, and QA disciplines. This means developing sustainable and efficient processes for team collaboration, mentoring the individuals on the team, recruiting new staff, and handling the day to day management of humans working together. In addition to managing the technology side of the business, I collaborate closely with our CEO on strategy, business development opportunities, and scaling the organization.
Do you have any tips for people that are bored of tutorials and want to improve their web development skills?
There is only so much tutorials will do to help you progress. In this learning journey, the only way to truly fuel growth is to build stuff. You have to always be coding, and ideally on something that has value to you (a personal project, a client, a job). Having a project is the only thing that creates the necessity to push past any skill gap you have, and seek out the answers you need with the necessary motivation.
If dreaming up the next big idea is not your forté, try building something that already exists. Build your own blog, build an interface around a public API, like reddit or hacker news. I also highly recommend finding a good community or mentor. Sometimes you just need another human to talk a problem through with or hash out a concept you don’t quite understand.
What are you looking for when you hire a developer?
They need to know their stuff. They need to be able to demonstrate an understanding of the core principles that make a good engineer. They need to be able to demonstrate a fundamental understanding of their tools, not just how a particular framework works.
For example, if you are a web developer, you should know about HTTP. You should know it inside and out. You should know about the request lifecycle, the anatomy of a request and response, how does the request get from your laptop to a server in a data center, the list goes on. I’m also looking for someone who is thoughtful, asks good questions, and is genuinely excited to be working in this field, and most importantly, for the company they are interviewing at.
What are your plans for the future in terms of your career?
I want to continue to stay in the product engineering space, building products I care about, with people I love. I want to continue to always be on the leading edge of technology, where there is never a shortage of new things to learn and tinker with.
I want to always be in a position that impacts people, building teams that are centered around a passion for technology, ambition, humility, openness, honesty, and empathy. I would love to continue to advise other developers and entrepreneurs on both the hard and soft traits of software development and technology organizations.