Have you ever caught yourself asking this same question over and over in your head, sometimes when you're writing a few lines of code, watching a tutorial or before going to sleep? I reckon this is a ever-asking question for everyone in tech, not only for career-switchers like me.
There's a lot of anxiety involved in this career-switching process. My personal experience so far was kind of led by luck. When I decided I wanted to go into tech, I reached for a friend of mine who is one of the smartest people I know, although he is not a software engineer. He is a civil engineer and worked for several big corps out there, leading international projects etc. He knows stuff, and he's also my friend for almost 20 years. So, my first advice is: if you need to talk about it, reach for someone you trust, not only someone who is into tech and stuff. You need reassurance at this moment, not someone who may brag themselves or let you down, whether intentionally or not. Don't forget, this is about you, not them and they should be aware of that.
So, what have I chosen?
So far, I chose Python . Why? For no special reason. This friend of mine who I reached for at the very beginning of my journey just casually mentioned Python as nice, clean and beginner-friendly language, so I decided to give it a go. I started chasing free resources online to learn Python, and one day I came across Coursera. I started browsing the Python courses and one day I received an email from Coursera asking me to take part in a survey; I did and then I received a new email from them saying I had been granted a free course and a list to choose from, and then I chose this one .
This is where I started to write my first lines of code, like this one (of course!):
This is a very, very basic course, for people who have actually never written a single line of code. It took me while to understand what exactly I was doing there. This course is focused on very basic stuff on Python: data types and structures, basic syntax and functiones. Nothing about libraries or real applications, nothing about OOP (object-oriented programming). I was very confused at the beginning, nothing was falling in place and I had no idea what exactly I was doing. Hello, Gabriel, this is anxiety knocking at your door!
At the time I started this course, I was also starting a new job in tech support and had to learn a whole new set of skills. Yes, I'm an adult, I have a family who relies on me - a beloved wife, a cat and a little girl who's coming within the next few weeks -, so I couldn't actually immerse myself in programming like I wanted or needed. But here's another piece of advice: don't blame yourself if you can't go too fast. It's okay, seriously! Life happens and you have to deal with it, we have responsibilities, we are not 18-years old anymore. I may sound cheesy now, but here I go: the most important thing is to start and never, ever stop.
Am I easily distracted or am I just curious?
When I first started researching about tech careers I was amazed and overwhelmed by how many languages, technologies and fields are out there. There is a myriad of acronyms to learn, languages to explore, applications and learning resources available online to kick-start your learning journey in tech. It's wonderful, you can find lots of YouTube tutorials, podcasts, blog posts (hi, there!), you name it. But, as I said, to me it was (or it is?) a little overwhelming. It's just too much, sometimes I feel like a dog that can't decide to focus on fetching the ball or chasing the bird in the yard. With time and some therapy sessions I understood: my problem is not lack of focus, it's a multiple interest across this wide spectrum of exciting, juicy stuff to learn, absorb and explore. This is more a virtue than an issue, I just need to tame it. I have plenty of time in my life (hopefully!) to learn not only Python, but also Java, C++, multiple frameworks or whatever.
Where am I at now?
Well, so far I've decided to focus on Python and that'front-end development or even web development at all, but I keep it open. Who knows? The uncertainty can be scary, but can also be the window you need for change, the open field to be seeded and cropped, and that's beautiful. Enjoy your learning journey and make the most out of it!
To finish this post, I just want to share with some resources that ended up being helpful to me so far.
As I mentioned before, freeCodeCamp is amazing and provides a complete curriculum if you want to be a full stack web developer. Recently, they even added a Python curriculum!
My choice to learn Data Science was with 365 Data Science , and I strongly recommend them. Their curriculum covers basics from mathematics and statistics up to BI and Machine Learning with Python, R, Tableau and other tools.
At the very beginning, I heard loads and loads of episodes of both podcasts created and hosted by the great Saron Yitbarek , CodeNewbie and Command Line Heroes. The later even has a whole season focused only on programming languages, which I found REALLY helpful.
Also, Coursera brings a lot of excellent courses at affordable prices - there's even some of them for free due to the Covid-19 outbreak.
Again, if you've read this far, take my big THANK YOU! I'll see you later. ;)