How I learned to Code - my Roadmap | from 0 to Big Tech

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everyone and welcome back to my channel if you're new here I'm Jackie and I'm a self-talk programmer with a background in mechanical engineering I'm currently a software development engineer at Amazon Prime video it took me exactly two years from the moment I started studying until I had my first big Tech offer while working full-time as an aerospace engineer so in this video I'm going to be diving deep into the exact roadmap that I use and everything that I did and that I learned to do so [Music] I just want to preface this video by saying that it is sponsored by codecademy and code academy was generally the platform that I started to learn to code on I purchased their subscription in 2019 and in 2020 here are the receipts to prove it and I'm very grateful that I had this opportunity to work with this company which has helped me so much in the past so obviously I want to be very transparent with you guys but at the same time also make it very clear that I generally stand behind the platform and I recommend them to my own friends who started learning to code after me these were truly the things that I did and the courses that I took to learn to code clarify at the time when I started I wasn't even certain I wanted to get into programming I kind of fell into it in a way I did a bachelor's and a master's in mechanical engineering at the University in Portugal after I graduated I did an aerospace program at Rolls-Royce in Germany and I was in aerodynamics and in this team I had to send aircraft simulations to a remote high performance cluster and then retrieve them and analyze them and as a result I was forced to write a lot of data pipelines to send and retrieve jobs and also some post-processing scripts to analyze data and I did that mostly with bash scripts and Python scripts these were the first like real problems that I was solving by coding and I found that I really enjoyed the problem solving aspect of it so much so that I enjoyed it even more than doing the aircraft simulations and sort of like the physics of it don't get me wrong like obviously the physics are super interesting but these simulations follow a very strict process and protocols and there's not a lot of room for creativity or for trying things out and I found that by doing the scripts and setting up these pipelines this is where I had most of the freedom to apply some creativity and some like original thinking obviously these scripts were terrible they were like mediocre at best it's spaghetti code but they worked and they got the job done and I found that I really like programming once I realized that I had an interest in the field I spoke to some colleagues of mine who had studied computer science and I did some research and I found that a lot of people actually learned how to code online without going to school for it and it was during this research that I found code academy which was the platform that I ended up going for to learn to code sorry for the change of scenery I just had to turn on the lights because it's getting a bit dark outside it's very cloudy today in London but as I was saying I did some research and doing this research I found code academy which is this online platform that I ended up using to learn how to code at the time I did the typical Google search what are the best platforms to learn programming online and code academy was at the top of the list and it had really good reviews and that's why I picked them so I signed up for the free trial and I decided to try out an introduction to JavaScript course I picked JavaScript because it is known to be a good language to start along with python and I have had some experience with python from work and I thought that JavaScript could be a good alternative and it is a web development language meaning that it would be very suited to create web portfolio projects but if you're wondering whether you should pick python or JavaScript I don't think it matters much in the end just pick one of them both have really simple syntaxes which is why they're good for beginners but in the end it doesn't really matter as long as you get started as it turns out I did enjoy doing the course it was fun and different and I like the projects that I created because they were very visually appealing and it was very satisfactory to get something working in the terminal and to see it on the web page I also appreciated the structure of the course because it was very engaging but not intimidating at the same time and it explained everything in a lot of detail without assuming any prior knowledge which I didn't have at the time having had that first experience with JavaScript I thought that it wouldn't hurt to learn more about web development I knew that in the end everything run in the cloud and everything communicated through the internet I even saw a lot of web development happening at the company I was working at even though it was like an aerospace engineering company so it gave me a lot of confidence that this was the sort of field that you could apply anywhere basically in the end I decided to purchase the one-year subscription and I started the full psych engineering career path the career path seemed to have everything that I wanted to learn about web development and it was only available through the subscription which is why I bought it it was around 190 pounds at the time and I thought that worst case I'm just investing in a new skill which I've already seen can be useful at my job at my company and in the best of cases I could one day build my own websites or I could even do it professionally if I really liked it so I saw it as an investment in myself there are sort of like two different types of courses they are career paths and then there are skill paths the career paths have all the content that we need to learn to get started in a certain job including Hands-On projects and interview prep whereas the skill courses are designed to make us up skill or specialize in a certain area at this stage I picked a career path because I needed something that was very structured and that was guided and that was very beginner friendly in this career path I learned a bunch of things related to web development it looks slightly different now from what it did back then because it has been updated which is good it's good to keep updating these courses but the big picture ends up being the same I learned fundamentals of front-end development such as HTML CSS and some JavaScript I also learned react and then I learned about GitHub and how to deploy a website writing tests node.js Express rest apis and I also learned how to design relational databases and set up a SQL database and then I also learned how to connect the front end to the back end and some website security fundamentals the course also offers some interview prep material now it didn't at the time when I did it so I think it's a really nice addition because I ended up having to prepare for interviews in different ways it goes into the typical data structures and algorithms and you have some coding challenges to to do to get used to the typical interview questions and it also gives you some interviewing tips along the way I also did a few small projects along this career path and then a final big project which is similar to the current e-commerce app that they built as part of his career path this was pretty much everything I learned about web development and at the time I was still doing my normal nine-to-five job it took me about eight months to finish this career path you can definitely finish it quicker but I was working full time so this was the best that I could do the courses self-paced and flexible so what I ended up doing was dedicating around one to two hours every evening to the course and then about four to five hours every weekend I have to say when I did complete the course I was very proud of myself because it's a big course it's nearly 300 hours and there's a lot of content a lot of material and a lot of projects to go through but it is very rewarding and I did learn quite a lot at the time I was in a data science team placement at Rolls-Royce the company I was working at and this kind of sparked my interest in data science more specifically machine learning the team was doing a little bit of supervised machine learning and a lot of like the typical data analysis and some data science case studies machine learning wasn't as popular at the time as it is now but my team was using it for some flight data analytics and I found that super interesting and it kind of sparked my curiosity into data science I still had the code academy subscription and I had enjoyed the other Curry pop so I actually enrolled in the data science career path and I did that to learn more about machine learning and to also get better at python I didn't finish this career path but I did about 30 of it I did the supervised machine learning modules and I did all of the Python modules which is the stuff that I could apply to my job I remember feeling a bit guilty for not completing the career path but you're doing this to advance your career it's not just about ticking all of the boxes you should stick to what you need and what you think brings the most value to you and just invest in that at this point I have to say that I was very fortunate along my journey to be in this graduate program because it really allowed me to pick teams that worked in area that I was interested in I got to try out computer science and programming kind of applied to physics when I was in aerodynamics and then I also got a chance to do web development and learn data science when I was in the data science team so that was really good after I finished my graduate program I became a methods and tools developer at World's wise and this is sort of like the equivalent of a software developer but it is very applied to engineering and to physics at this time I was working on an internal tool to help people forecast aircraft engine maintenance [Music] eventually a friend of mine had this idea to build an automated crypto trading journal and my friend invited me to collaborate it obviously I said yes because I knew it would be a really good experience and that I would get to learn a lot of things we were going to build it from scratch using node.js and typescript and AWS and then react in typescript for the front end I got to apply a lot of the knowledge that I had learned from the career pack here such as building data models for databases and using node.js and react so that was really cool however it was by building this project this journal that I really got to learn AWS Amazon web services it's one of the most popular cloud services out there and I also learned a lot about infrastructure as code and I became comfortable with microservices as an architecture this experience was very learned as you go my friends which were more experienced than me would suggest a certain technology or a certain type of architecture and then I would just like go on the AWS documentation and I would read everything I could about it and I would just like learn on the go as they were discussing these things and trying to understand all the trade-offs and trying to understand why decisions were made a certain way by being very active on reading the documentation and following up on all of this I got to ask a lot of questions which really helped me to learn all of this I also use the AWS GitHub page a lot to look up examples of how to work with the apis this is really good and I can definitely recommend it if you're working with a certain AWS technology for the first time in retrospective I would say that this project as well as the project the big one I did for code academy they were ultimately the most important part of my learning experience the I love Theory I wish that real life was more like textbook examples but unfortunately it's not and it's very important to build something Hands-On that people or even if it's just yourself are actually going to use Hands-On building projects is the best thing that you can do as a programmer because you learn by doing and you will learn much more than if you just stick to tutorials and it just also incredibly rewarding to see your ideas come to life around this time I also started reading the book designing data intensive applications by Martin clapman Martin klubman is a very very good engineer this is a really great book about distributed systems and how to scale data applications I used to have a one hour commute each way when I was working at Rolls-Royce so I basically read the entire book over like two months or something just during the commute time so the side project kept me busy for almost a year it was just something we were doing for fun and then I kind of started feeling a bit like I was stagnating at work I was a little bit bored and I loved working in Aerospace like the use cases are really cool the physics is really cool but ultimately it is an engineering company it is not a tech company and I knew that if I really wanted to take my software engineering career further I would have to switch companies and industries because ultimately I needed more opportunities to grow [Music] so now we get to the part where I wanted to switch jobs and it was almost two years after I started that first JavaScript course so at the beginning of that year I started studying data structures and algorithms at the time the career passed from code academy didn't have the interview prep material that they do now so that would have been nice back then but I didn't have it so what I did was I started by reading cracking the coding interview I found that it's a really good book that helps you to understand how to solve algorithmic problems however I found out it doesn't explain data structures and algorithms in enough detail for someone who hasn't studied the stuff at University to understand so I struggled a bit when I was going through the book so I took it right from reading it and instead I went online and I did a bunch of research and I created my own study notes for our data structures and algorithms I would literally just go on Google and search for the must-know data structures and the must-know algorithms for coding interviews so I compiled a huge list of stuff and then I dive deep into each and every single one of those data structures and the algorithms I really wanted to understand how all of these worked under the hood so I was looking at time complexity at memory allocation and memory management and I also looked into how these data structures and algorithms worked when you use them with a certain programming language which is the language that I wanted to later on use for coding interviews spoiler alert JavaScript for me I got the content mostly from YouTube and from medium blog posts I took the same approach for system design and I found some YouTube channels which were really good and really helped me and from that content I took a lot of my own notes so that I would understand and like memorize everything so after studying the theory I then moved on and I started solving algorithmic coding problems I think I gave about a month or a month and a half to study the theory and then I did the coding problems for about two months I did over a hundred problems many of which I repeated and I solved them multiple times to make sure that I would understand them they are not easy however there are a lot of patterns that you start seeing and understanding if you do enough of them I also prepared around 20 behavioral questions for upcoming interviews I used a typical star method to formulate my answers and I basically just Googled what are the 20 most asked behavioral questions and coding interviews for software engineers and then I prepared answers for every single one of those most asked questions looking back the code academy interview prep material would have been very helpful and would have been nice to have at the time so I think there are really good additions to the content after three months of prep I started applying to companies and while I was doing interviews and waiting for other interviews I just continued doing the coding problems [Music] so I applied to 30 companies I got interviewed by six I got invited to three on-sites and in the end I got two offers the two offers were from Amazon and kazoo kazoo is a UK startup do keep in mind that the job market in 2021 was very different from the job market now I do believe that it's a bit more difficult now because there's more competition and less demand however for example there are features now on codecademy that help you to search for jobs and they give you certifications as well which is something that they didn't do back in my time so that's a big plus point and I think that it can really make a difference as well so here we come to the end of my personal coding journey I hope that this roadmap is helpful for you as always if you have any questions please leave them in the comments below I do my best to try to reply to all questions all the code academy courses and all the resources I mentioned of my roadmap they will be linked below if you want to check them out thank you so so much for watching my video and supporting my channel and I will see you in my next video foreign
Info
Channel: CS Jackie
Views: 180,753
Rating: undefined out of 5
Keywords:
Id: 2tCdDvS7gzc
Channel Id: undefined
Length: 16min 1sec (961 seconds)
Published: Fri Sep 15 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.