I did it!!! After two years of coding obsession, I got my first programming job! I’m in freaking heaven! So many days working at 4 am, banging my head against the wall feeling stuck and hopeless and daydreaming about code, I got my offer!!!! I think this is the second happiest day of my life (getting my Aussie visa at Jun,11 2020 being the first).
I was browsing this blog to check on the first few posts and this phrase from two years ago sums up my mindset for the past couple of years. Thinking of code all the time, doing whatever it took to know whatever I had to know.
I can say I’m lucky that I found something I love so much. That made it easy for me to get out of bed straight to my computer (actually after a cold shower) almost every day to get my coding hours early in the morning before life throws things at me. My passion was the fuel to code in any spare time I had. And change my habits and routines to carve out as much time as possible to code. I always knew that the only way to get to where I wanted was to have my butt on the chair and put in the time.
During this time I had a couple of relationships that were pretty much ruined because I didn’t want to dedicate much time to them. Lovely, valuable, incredible women. But for the most part I just wanted to code. I’m lucky that I could quit my dancing job and drive an Uber (with all the flexibility it allows), otherwise I would probably have problems keeping my current girlfriend. And she’s THE ONE. I want to spend the rest of my life with her.
Quitting was the best thing I could have possibly done. It wasn’t hard work per se, but the nature of the job requires a lot of preparation, training, researching and just good old thinking about it. In Uber I do long hours, but there’s none of the extra stuff. And even when I’m driving I can do coding exercises, think about programming, listen to podcasts about it and so on.
Getting the Job
Another crucial realisation was that in order to get a job I’d need to focus on a portfolio. That was super important because it made me focus on completing projects. And all it took was ONE SINGLE full stack application for my recruiters to shortlist me for the job.
I had tons of accumulated knowledge from my previous semi-publishable jobs. The projects that were portfolio ready were only WordPress websites and one HTML, CSS, Bootstrap, JS website that doesn’t even look that good but that made me proud because it was a first.
So with the help of Ionic Academy and my previous C# knowledge I created a Shift Tracker that has the whole full-stack lot: Ionic in the front end, C# in the back end, Azure for hosting and database and Firebase for authentication.
When that was done I applied for eight jobs and only one responded. I wasn’t expecting it at all. I thought I would need way more work on my portfolio. Everything happened very quickly. I was sent a coding exercise, that was quite complex to me. I had to look up a few things to solve it. I thought for sure I wasn’t going to pass. But I did and got an interview. Again I thought I had no chance but I guess my enthusiasm and the fact that I communicate reasonably well due to being a teacher were enough to get me through the door.
Some people might be on the same journey as I am, so if I could give advice on how to get there, here are a few:
- Build stuff. This is important on so many levels! We’re training to be engineers, so building stuff is the ultimate goal. The feeling of completing a working application is just incredible. And it will provide the confidence boost that self-taught folks out there need so much not to quit. Oh, and of course, completed apps will populate your portfolio, which is absolutely essential to get even considered for a job.
- Find the time. If you work full time as I do, you’ll either have to wake up early or code after work. I would choose doing it early. I remember listening to a podcast about someone that studied every day from 4 to 8 for 9 months and got a Ruby job. That stuck with me. If you study every single day (or close) for 4 hours there’s just no way you won’t have some solid knowledge by the end of that time. Of course you’ll need some course corrections, but there’s nothing like putting in the time.
- Stick with stuff: For each problem you’ll need to solve there are dozens of options on how to do it and which tool to use. The first couple of questions will be: Which language to learn and which front-end framework to use. It really doesn’t matter. Pick one and stick to it. The principles are the same and once you’ll learn one you’ll be able to pick others up when needed. I’ll have to learn React from scratch for my new job and I’m confident that my knowledge with ASP.NET MVC and Angular will help. After all, it’s just moving data around!
- Read, read and read. Even though you’ll stick with a few technologies, don’t ever stop reading. I read literally thousands of articles about all the hundreds of questions that came up during my journey. Dive into Reddit, make it your poop time read. Read it every single day, there’s amazing advice over there. I promise 100% of your questions for your 10 first years as a developer have already been answered online.
- Get a mentor: Find someone that knows more than you and can help you. I had the luck to have a close friend that’s a C# and Angular Developer that got me unstuck a few times. I’ve also learned a lot just watching him code and observing his thought process. And of course I spent countless hours on stack overflow. Those are my indirect mentors along with the teachers I mention in the resources below.
- Don’t think you can’t fix a problem: I got stuck for weeks with a few problems, but I knew for sure: It has been done before, I’m not building the most complex application in the world. Mankind can control a god damn robot in Mars FROM EARTH, why wouldn’t I be able to do implement some stupid feature in a simple app? Stick to it and YOU WILL SOLVE IT.
I’ll try to enumerate all resources I used throughout these two years. They were all valuable in their own capacity and some were absolutely essential.
Codeacademy: My first online resource ever. I took a front end course, very well organised and explained. Super beginner friendly. I breezed through the html part because I had learned it years ago. Then I learned the CSS part but I finished the AJAX and JS parts without understanding them too well. I didn’t continue with them because everything they did was in an embedded IDE so I wasn’t actually building anything, but just rendering code in their IDE. It probably suits most people to learn that way, but I missed actually building something, so I only learned from them for a month or so.
Maximilian Schwarzmuler: Not long after learning basic JS I realised there was this thing called “framework”, and that’s what everyone uses professionally. My coding mentor uses Angular so that was a natural choice for me, but he warned the learning curve would be steep. And it is, I’m still learning to this day, but I absolutely love Angular. There’s something about how its code is organised and it’s aesthetics that deeply resonates with me.
Learning it was so much easier with the help of this fantastic teacher. His courses are incredible, explaining every little component in detail. I love that not only he teaches aspects of Angular in the context of a project, but also isolates these subjects and teaches them separately, which makes them so much easier to learn! I’ve also taken his Ionic and Angular Material courses and they’re equally great.
CodeGym: I also learned pretty quickly that to build the stuff I wanted to build I would need a back-end language. Also influenced by a couple of friends I picked Java and bought a CodeGym subscription. It has the same pros and cons as CoderAcademy. The way the course is put together is super friendly, progressive and with TONS (I mean ridiculous amounts) of exercises, which I love.
But I disconnected a bit from the course after a few months because I was learning advanced topics of programming without building stuff, which was frustrating to me. I remember spending weeks learning about multithreading, and don’t get me wrong, it was super valuable, but I need to build stuff to really understand something.
I think I’m way better at learning isolated from building now, but that’s because having built a few applications I can actually visualise where the new knowledge will be useful. Back then, it just didn’t do it for me.
When I finally pivoted to C#, due to it being the language my mentor uses in the back end of his free-lance projects, I started learning from Neil Cummings. It was probably not a good idea to start with him because I thought I would understand C# easily after learning basic Java, but I still needed to lay down some foundations. His course is heavy in design patterns and libraries and it isn’t beneficial to learn this stuff without learning the basics first.
Having said that, after building more solid C# skills, his course on Angular + Asp.NET C# was great. Through him I was first exposed to: Entity Framework, Repository Pattern, Specification Patterns, Swagger, DTOs, Automapper and much more. Oh, and it’s impossible not to like his thick British accent.
After realising I need to learn proper C# I got a beginner course from Musavi. Super funny teacher and very enthusiastic about coding. He organises his course building several little applications, using windows forms, from a super simple clock to a data table. I loved working with Forms but too bad those days are over. I’d have loved to be a programmer in the 2000s working with desktop applications.
Loving Angular of course I would love Ionic too and Simon Grimm does a fantastic job covering all topics in both with super interesting projects, updating his Ionic Academy every week. Along with Pluralsight it’s the other subscription resource I pay for and I don’t plan to stop anytime soon. I’ll still learn so much from him. Oh, and funny guy too.
Absolutely to the point Youtuber teaching full stack webdev with Angular and Material + Asp.NET. I built my first few full stack CRUD applications due to this great teacher. No fluff, just code. And code that works. Oh, and all free!
Everyone who learns ASP.NET probably knows Tim Corey, but if you don’t, check him out, NOW. Fantastic teacher, helps you figure out what’s actually important in this vast ocean that is ASP.NET. He was my latest finding and I owe him a big thanks for preparing me for the coding challenge I was given in the selection for this job.
By far the most valuable resource. I pay around 40AUD a month for their content and I can say I owe them my salary, so if you haven’t started paying for something as cheap and as valuable as Pluralsight, don’t think again. You don’t know what you’re missing. They have everything you need. Front-end, back-end, SQL, Cloud, Unit testing, CI/CD, tons of theory about OOP, design patterns and general computer science stuff. It’s just amazing.
I honestly love all teachers at Plural sight, but some deserve special mention:
- Scott Allen (RIP). I’ll never forget his powerful voice and teaching style. I can’t thank him enough for his contribution with basic C# and Linq.
- Kevin Dockx. This is the API master. I’ve done four of his courses on Restful APIs. I promise you’ll learn everything you know about building APIs if you’re a beginner.
- Deborah Kuratah. I could listen to her voice for hours. It’s like listening to a children’s book. Absolute natural teacher. I did her Object Oriented courses and I’m not sure I can convey how well she explains things.
- Alex Wolf, Gill Cleeren, Shawn Wildermuth, Julie Lerman, Filip Ekberg, Jason Roberts, Paul Sheriff, Thomas Claudius Huber, each contributing with a fundamental piece of this immense puzzle.
To finalize this huge post, I can’t forget to mention a few other resources that have helped me so much since 2018 when I first listened to a podcast.
Jocko Willink’s Podcast – Probably saved my life on many levels. I listened to about 200 of his episodes about war and darkness. Listen to his stuff from episode one and you’ll never complain about anything ever again. You’ll get all the grit you need to accomplish anything you want. DO IT.
Tim Ferriss – Due to Jocko I got in touch with Tim Ferriss Podcast. I can say he’s the person that influenced my life the most. The way he talks, the way he thinks and his obsession with growing have had a deep impact in my life. Amazing guy, he has interviews with people from all backgrounds, masters of the universe kind of people. Tony Robbins, Schwarzenegger, Richard Branson, Hugh Jackman, Jamie Foxx, Brene Brown, Ray Dalio, Lebron James just to name the most famous.
Books – I know some people have trouble reading and I don’t even have time myself but with Audible, there are just no excuses anymore. Just play it on your headphones as you go about your business, don’t find an excuse. If your excuse is just: “I don’t like books”, so fucking start liking it! Why wouldn’t you want to have cheap condensed knowledge from years of other people’s experiences? Do you know it all? Books are ACTUALLY impactful and have the power to change the trajectory of your life.
I’ll just name the ones related to my coding journey:
Mastery – Amazing stories about folks that became masters in their field. Learn what it was like in their humble beginning.
So Good They Can’t Ignore You – Pretty self-explanatory title.
Steve Jobs – If Steve Job’s passion doesn’t inspire you (in despite of the way he treated people), I’ll give you a dollar. Read it, now!