Week 5: Angular / React – Software Engineering Track

by Hans Hanken, Software Engineer, Talent Path

Many have asked me what it is about Talent Path that got me interested in their program. The truth is, that before enrolling in this program, I applied for a great amount of jobs with no success. Even though I felt like a proficient programmer at the time, certainly good enough to land a junior programming job, the job ads were asking for very specific skills and tools that I hadn’t learned yet. Talent Path took what I already knew and trained me in a bunch of additional tools and skills. JavaScript has rapidly become one of the biggest programming languages in the world, and I liked Talent Path’s emphasis on teaching a JavaScript based curriculum.

Week 5 at Talent Path was all about learning advanced asynchronous JavaScript. We also took a deep dive into how JS function execution works by studying the call stack, the event loop and the event queue. Since I started my coding journey writing in Ruby, which is a synchronous, blocking programming language, the whole idea of asynchronous code was new to me in the first place. Our instructor Andrew did a great job teaching us how Node and browsers, such as Chrome, use API’s in order to make JavaScript work in similar fashion to a multithreaded, asynchronous language, but still having one on single thread. Single threaded languages like JavaScript can only do one thing at a time, but utilizing these API’s, we don’t have to wait for a function to execute in order to let the program keep running and taking care of other important functionality. Grabbing data from a server/database is an example where JavaScript relies heavily on API’s that are non-blocking. Typically, the program will keep running and serve the data back only when our fetching function is done communicating with the backend.

We spent some time understanding how promises help us take JavaScript back into the synchronous realm if needed. Sometimes, it is necessary to wait for something to execute before we continue running our program. We went on to working with the immensely popular JavaScript framework called Express, which pairs up nicely with Node. In addition, we worked with HTTP and persisting data the CRUD way (Create, Read, Update, Delete). We used HTTP verbs such as “Get” in order to communicate with our Node/Express backend, retrieve data and serve it on the frontend of our application. Understanding protocols better has helped me become a better programmer.

Another topic that I had a lot fun diving into was Restful APIs. in the REST architectural style, data and functionality are considered resources and are accessed using Uniform Resource Identifiers (URIs). We created a messaging board that used Web Components, CSS and HTML on the frontend and set it up to communicate with our Node/Express server via HTTP. We learned useful methods such as “GET”, “POST”, “PUT”, “UPDATE” and “DELETE”. This way we could create and store new messages (POST), update a particular message (UPDATE) or delete any of them easily (DELETE). Quite a lot of time this week consisted of doing codealongs with the instructor, creating the message board app. Speaking of creating, that week our class was split into two teams and started working on creating our own web applications. My team and I have been working on creating a website called YaMovie, an application that helps the user select the perfect movie to watch, which I think we all know can be a huge struggle at times. Our site uses an external API of movies and connects the user to the perfect one by communicating with our amazing chatbot “Lloyd”. Users can also browse the large selection of movies on their own and add favorites to their watchlist. Checkout our work and find your next movie here.

Overall, I learned a lot this week and got a better understanding of how to write asynchronous code in JavaScript. I got to work with CRUD and HTTP methods and learn how all of these concepts are tied together. On top of that, we have implemented agile/scrum into our work process. We now work in “sprints” of 1-2 weeks, conduct daily standups, do weekly user reviews as well as keeping track of our project’s progress via our Kanban board (a sort of enhanced to-do list that covers each sprint). This way we can rapidly change our application to meet the needs of our userbase. I find that it works much better than the traditional “Waterfall” approach.

Talent Path has helped me to not only stand out in the job market, but has also given experience that other junior programmers might not have coming out of college/university. These past few months, I’ve grown immensely, both technically, as a person, leader and team player. I feel more confident, and able to tackle any problem that comes my way. Talent Path has inspired me to always keep learning and educating myself. Education is not just four years of school and then you’re set. It is a whole life of teaching yourself in a variety of ways. It doesn’t matter what age you are, you can always keep growing your knowledge. If you put in the work and keep at it, you will find yourself where you want to be in your career before you know it. If you are looking to make a career in technology I can highly advice taking a look at Talent Path.

About Talent Path
Talent Path brings last-mile education for early career talent together with clients in need of technology professionals to fill critical roles. We hire top graduates in key academic disciplines, then provide them with specific learning experiences in sought-after technology skill sets. Talent Path consultants are work ready day one and able to step into roles possessing both the technical and power skills to succeed long term.

Loading...