Please enjoy this interview with coffee entrepreneur Alex Caza. He shares his tips on learning to code and getting an entry level software developer job.

You can improve your coding skills by taking one of the very popular courses by Wesbos. He is a self-taught developer who offers a huge amount of courses including Javascript for Beginners, Learn Node, React for Beginners and Advanced React. (Affiliate)

Hey, so can you introduce yourself?

I’m currently building my company Firstbloom, which is based out of Montreal, Canada, after having worked as a web developer in some capacity for over a decade. My educational background isn’t conventional: my parents took me out of high school after a month to explore alternative schooling methods, which enabled me to create my own curriculum based on whatever interested me at the time.

Growing up, I had always been fascinated by video games. I wanted to learn how they worked, how they were made, every little thing I could. Naturally, this became my first point of interest to explore. I was at 12–13 years old at the time and I started learning C/C++ but found myself lacking the self-confidence to proceed and quickly dropped it.

I never felt intelligent enough; like I’d never understand the syntax or the logic. It wasn’t until a few years later, when I was 16, that I reignited my interest in programming after discovering Python and JavaScript. From then on I started diving deeper into it, taking freelance work when I could, and building toy projects for myself.

What does a typical day making Firstbloom look like for you?

Right now we’re in the prototyping phase of our product, so it’s less day to day coding and more user discovery & product planning. We’re going to eventually build it using React Native and having it interface with our pre-existing Ruby on Rails API. As the sole developer dealing with multiple codebases in different languages will be a fun, albeit self-imposed, challenge, but I’ve yet to find a JavaScript stack that spins up backend functionality as quickly as RoR lets me.

How did you learn coding?

I learned to code mostly through trial and error. Whenever a term came up I didn’t understand, I’d start researching until I felt I had a solid grasp of what they were talking about. I can’t imagine trying to learn programming on my own without the internet. Going 20 topics deep from a single root term/concept I didn’t understand, then immediately trying to apply my new found knowledge was paramount in my educational journey.

I would constantly try to throw myself into situations where I would be slightly out of my comfort zone, and be ready to open 5–10 tabs researching what a specific term meant in whatever language I was learning. I’m lucky I decided to try learning to program again not long before GitHub materialized. Being able to see entire programs, for free, ended up playing a huge part in being able to pick apart ideas and concepts early in my educational journey.

I’m not sure I would go back and tell myself to do anything differently. Except maybe trying to find a mentor earlier in my career. Ultimately, I think my path worked well for me. The way I learned to research continues to pay dividends. Anytime I get interested in a new topic, I use the same methods I did back then to go deep quickly.

bootcamp index

How did you get your first entry level software engineer job or freelance work?

My first freelance jobs were all from friends & family, so I definitely was privileged to be in that position. I was already known as the “computer guy” by my peers, so being able to code seemed like a logical conclusion in their minds, which typically made me one of their early stops when they wanted something built.

My first “real job”, however, came unexpectedly through Meetup.com. I was signed up to a JavaScript meetup group near me, and the founder of a young startup saw my profile while trying to find developers to hire. He thought it was interesting, reached out and we spoke on the phone. They had 2 engineers working for them already but neither of them had the experience with AngularJS or the design skills to move their site from a traditional Laravel web app to something more dynamic quickly.

At the time, my portfolio and GitHub were a little stale but my chat with their main engineer went well, so they took a shot at hiring me to come on full-time. I was also willing to take a less-than-market-rate for my skills since the company was young and there was a higher potential upside if this idea took off. Spoiler alert: it didn’t. However, that experience taught me an incredible amount and I would absolutely do it again if I had the choice.

What advice do you have for getting an entry level Software Engineer job?

I would encourage them to try and get comfortable learning publicly. Post stuff on GitHub, no matter how simple. Ask developers you admire pointed, concise, questions and try to make friends with other programmers. Submit basic Pull Requests to smaller projects you admire, even if it’s for documentation.

I totally get that it’s easier said than done—as someone who has a great deal of anxiety I know it’s not easy—but that continues to be a great way to get your foot in the door. It’s tough to start but It definitely gets easier the more you do it. There are also more and more companies looking to bring on junior devs, especially self-taught. This site is a great resource to tap into when looking for those opportunities.

If you find yourself struggling to interact with people online, I would encourage you to start small; try to make 1 or 2 connections with other developers and grow your network slowly while you continue practicing. When starting out, it can be nice to have someone you can turn to before taking a leap socially, knowing they’ll have your back.

No-CS-OK-screenshot

What is a mistake you see newbie coders making a lot?

I would say it’s 2 fold:

  1. Negative self-talk
  2. Wanting to move too quickly

Loads of developers starting out feel like they’re never making progress, or are stuck in a rut of education. It’s tough to quantify progress in education until you look back at what you’ve done, which is why I think keeping a history of your progress on GitHub or GitLab is really fun and important. This way, after a month of feeling like you’re stuck, you have something to look back to see how far you’ve come. In the early days, a month of learning can show a lot of progress! You’ll probably find yourself facepalming at what you were writing.

Wanting to move too quickly is something I’ve seen loads of devs—junior and senior alike—make. Whether it’s the pressure of deadlines or wanting to progress to the next stage before you’re ready: it typically leads to half-assing things and skipping steps, which means more headaches later.

I would encourage new devs to take time and sit with what you’re trying to build. Write it out in your notes in plain english, and think through how things will communicate with each other, what the problem you’re solving is, and what the end result of your data structure will ultimately look like. Once I started doing this, I found myself writing much clearer, easier to reason about code. I still slip up and rush through things (it happens), and it normally bites me in the ass when I do.

Can you tell us about your goals for Firstbloom?

Our mission with Firstbloom is to make specialty coffee more accessible and approachable. We want everyone to be able to brew the best cup of coffee they possibly can at home. Over the last 5 years, we’ve noticed that there are so many people wanting to have that cafe-like experience at home but are continuously disappointed when they try to replicate it. Whether they invest in new equipment, really expensive coffee beans or both, they often find it doesn’t live up to the tasting notes on the bag. So, we wanted to help with that! We believe that your morning cup should be as enjoyable as that end-of-day glass of wine, letting you take a moment to yourself before you have to get your day started.

We’re currently running a private beta of our Coffee Coaching service, which matches you with the perfect coffee beans for your tastes, and guides you through getting the most out of them with the equipment you have at home. Our goal is to turn this into a digital product so we can scale this service to help many people as possible grow their love of coffee.

Thanks for the interview!


If you enjoyed this article please send it to a friend

And you should totally sign up for the newsletter

If you are job hunting, head over to the job board for entry level software engineers