From Latino Dishwasher to Software Developer in Australia

First Dev Job at 33 Years of Age, and in a Foreign Country

April 18, 2021

I first came to Australia in 2014, with bad English and no experience in (proper) coding. My first job was washing dishes. Last Friday (April 2021), I got a job offer as a Full Stack Developer. Below is my journey, highlighting the skills that I think got me my first job as a Developer, at the age of 33.

The Full Stack Journey

First of all, what is "Full Stack"? It's nothing but a mixture between backend and Frontend Development. Plus a bit of IT Operations for deployment, etc. If you're thinking "That's way too much". Let me tell say that you don't need to know everything. In fact, there are a lot of things that I have no idea about. As with anything in life, you learn as you go.

But, why Full Stack? Because it's entrepreneurial. If you can code a backend and a frontend, you have an app. You have a company. You have something that could make you money "while you sleep". In the worst scenario, you can still become a freelancer—that's the fallback. If landing a job gets hard, you can always pitch for work to your family, friends, or people on the internet. At the end of the day, you still get to build useful stuff—which is awesome.

The "Unplanned" Path

1. Bachelor of Business with Information Systems

Only a handful of subjects from my long degree (2006-2011) actually helped me to become a Developer. And now all of that content is on YouTube—for free. HTML, CSS, and JavaScript are essential for anyone trying to get into this industry. Also, a good understanding of algorithms, loops, and variables is fundamental. Knowing about Object-Oriented programming would come in handy too. I learned these topics by making projects with C++, Java, and .NET. To be honest, I don't remember anything about these languages—except for the core concepts mentioned above.

I learned SQL too, which helped me to get my first job in a Tech company. Although not as a software developer but in Email Marketing. And I also learned PHP. Not too much but enough to understand (or imagined) what was going on behind Facebook's interactions back in 2008.

In the last year of Uni, I had the best subject of the whole degree: "Entrepreneurship in Digital Businesses". It was taught by the founders of DentaLink, Roberto, and Daniel, and by the co-founder of Fintual, Pedro Pineda. Amongst my classmates, there was my friend Guillermo from Buda.com. There was also Alan from Shipit.cl, and Oscar from Greenglass.cl—which is killing it, apparently. So that was an amazing, inspiring experience.

2. Good (?) Old WordPress

Between 2008 and 2012, I built a bunch of WordPress sites for friends and family who wanted to have a basic online point of contact. It was fun, at the beginning. The ability to have a "CMS Backend" for the administrators was great. A place where they were able to log in, and post blogs, content, and everything without you having to do anything. I also learned some other concepts, such as DNS, Local Development, Hosting Server, as well as FTP and CPanel—which I don't use now.

WordPress helped me to understand concepts such as "Template Rendering" and to see the contents of a page as information stored in a database.

I got to push Plugins to the limit, of course. At first, they make you feel as if could do anything (which you can—to some extent) but then updates are required and that's how compatibility issues arise. It can get ugly, quickly. Getting my hands dirty allowed me to start building a "Hacker Mindset" — what I value the most out of my experience with WordPress.

3. CRM Specialist at Cornershop by Uber

With a great degree of luck, in 2016 I went back to Santiago de Chile, my home city, and joined this early-stage tech startup. I was the CRM and Email Marketing Specialist, so I created many email campaigns to segment audiences and then analyse the results. This helped me a lot to refresh my CSS and SQL knowledge. It gave me experience in the IT industry too.

I also learned concepts such as A/B TestingQA, Troubleshooting, Product Lifecycle, Testing Environments, Rollback, etc. As well as other techie words that I would hear at lunchtime, but made no sense at the time. eg. "The WebSocket".

By working closely with the CEO, I got a good grasp of what "Founder Mentality" is — for which I'm deeply grateful.

4. Data Analyst Nanodegree

In 2018 I was coming back to Australia and through the natural progression after "Business Analysis" was "Data Science" so I enrolled in this Nanodegree from Udacity (Google). I learned heaps about Python and its data structures. Getting to know a language that required so little syntax was very encouraging. I also learned how to use the Terminal and Git.

I built projects with Web Scraping, Data Wrangling, and APIs, which were fun and useful, and also helped me to start my GitHub profile.

If you don't know what GitHub is, you should. Basically, hiring managers will go to your GitHub profile and they are going to look at your heat map of past commits—which is basically a history of the code contributions you have done, to any project.

5. Web Analytics Consultant at a Melbourne-based Agency

Changing careers is hard and getting a job as a Data Analyst was more very competitive than I thought. So in 2018 I ended up accepting this role in Data/Web Analytics, which was sort of related, seemed fun, and the team was great.

Once again, I was very lucky to have landed in a supportive environment that gave me local experience. This role also gave me client-facing skills such as professional English and how to deal with clients' issues.

There I learned Scrum—which I highly recommend. Not only because of its growing popularity but even for personal or freelancing work.

I also got some web-related experience, such as SEO and CRO. I also got to know many SaaS, or "Softwares-as-a-service", such as Squarespace, and WordPress (sadly)—both CMSs. I also worked with Shopify, an e-commerce platform, and with some other CRM systems, such as Hubspot and Salesforce. I also got to know Zapier—which is an automatic integration service.

All of these things opened my eyes to the many opportunities that are out there once you know how to code. Yes, WordPress and PHP were painful experiences, but then I thought "I know Python —which is great for Data Science— maybe I can make it work for making web apps—and eventually build a profitable business."

6. Launching an App out to the Real World

Just before COVID-19 hit (and the subsequent recession), I quit my job* to start up a web app, in the search for meaning. Again, this gave me a lot of that "hacker mindset". Most importantly, I got to learn Django, the most robust Python web framework. This counts as backend experience.

Because Django comes with "batteries included" you don't need to have a modern JavaScript framework. But I did, with VueJs—(which I highly recommend). That counts as frontend experience.

Then I had to learn about deployment. First I tried AWS but I was still a newbie, so I went with Heroku and loved it. I still do, even though it's a little bit expensive. That's why I moved into Dokku, which is a mixture between Heroku and Docker. It's a good pathway to get familiarized with Docker.

Also, this gave me GitHub profile stats as well as the "founder mindset", which I think is something that hiring managers do want. At the end of the day, when you start your own business, you are the last responsible for everything. So it's another way to signal that virtue.

*Note: Please do not quit your job unless you have thoroughly evaluated the risks involved—especially if you have kids.

7. Freelance Gigs

2020 was hard for most of us. My business didn't go as planned but, because I was documenting my journey on social media, a freelancer friend offered me to work with him on his clients' projects. And that's how I started freelancing.

This gave me more Python experience and I learned to use Git in a team environment. I mean, pull requests, git merge, git rebase, etc. I was lucky my friend was a seasoned freelancer so I learned many more advanced tools like Celery, Selenium, more of AWS, and a bit of Linux.

Similarly, because the app that I had built was in production, I was able to share it with friends. One of them reached out to me and said "Hey, I've got this app idea and the budget, can you build it for me?" This led to the development of another greenfield project, which was a great addition to my portfolio.

Finally, just to be clear, freelancing gave me more client-facing skills and improved my Github profile: more commits, more coding more experience.

8. Technical Assessments

In 2021, while looking for jobs, I've done a bunch of technical assessments. This is how it works: After you apply for a job, you might get a first initial call and then —if you're successful with the first screening part— they will give you a technical assessment. For example, "Build this weather widget, with React or Vue", or "Build a console program with Python to process certain JSON file and compare it to something else".

Out of these challenges, I have learned heaps. I learned about O-notation, Test-driven-development, Domain-driven-design, Behavioral-driven-design, Continuous integration and continuous delivery, and Docker. Things that you don't really need to know perfectly, but they've been really helpful in every interview.

Most Important Point

You are not defined by your past. Reflect on it, and learn from it. Keep in mind that you get to write your future by taking action. It's OK not having all the answers right away, as long as you keep trying and keep moving forward. If you are not sure about what specific path to take, look for opportunities that will increase optionality as well as give you specific, in-demand knowledge. Everyone's journey is different.

What's Next

The second part with recommendations to become a Full Stack Developer will come in another post.

← Return to Articles