Life at General Assembly

Life at General Assembly

And beyond

Long Time, No See

I started the General Assembly journey with the lofty goal of writing not just one blog post per week, but two. Boy was that hopeful, since the last post I made it has been a very intense learning experience. I am not claiming the first three weeks were easy, but I think algorithmic programming is an area I do well in, and a process I was already familiar with. Once we moved into Ruby on rails back-end design the real fun began. I also separated from my wife sometime during that period, which added a whole extra layer of stress and pressure to the equation.

This brings us to the end of the course and the first time in about 9 weeks that I have had time to stop and reflect on the overall journey, and what I have learned along the way. In a very short summary, it was brilliant, as I said in the beginning the class was full of great people, the teaching team was amazing, and while I am nervous (maybe even a little terrified), I feel ready to get out into the workforce and put my new skills to the ultimate test.

The highlights

I have done 3 more projects in my time at GA, each one of them teaching me valuable lessons:

  • Pokemon Team Builder - This was a tool designed for competitive VGC players to plan out their pokemon and teams, allowing them to get immediate feedback on stat choices. This project taught me to set realistic goals, 13 SQL tables, with 2 full crud systems, on a project that was suggested to be 2-3 was an ambitious goal for a single person. The result was a working project that was entirely built using bootstrap CSS, even the colours are just variations on their 7 colour system. One day I will return to this project and give it the facelift it deserves, I might even have an actual picture of a pokemon after that.

  • TRX Prescription Tracker - This was the first group project that I did in the course ( we don't talk about burning airlines ). The group aspect itself was challenging, while Talal and Sophia are both great programmers, it really is a case of the blind leading the blind. Trying to coordinate work when time frames are just baseless estimates. This was not helped by the fact that we chose to use React.Js for the front end after about 3 days of lessons, and firebase for the authentication and backend, which we were never taught at all, so jobs that seemed like they would be easy, turned out to be much more difficult than expected. That all said I think we worked well together as a team and got through the whole process with a nice-looking, and functional website.

  • Atomic Academy - The capstone project for the portfolio was another group project that I shared with Sophia. I would like to say I learned from the last project and picked technology I was familiar with to avoid some of the stress and headaches we had in project 2, but instead, we did Vue.js, with a node.js/express backend using MongoDB for the database, which we had done a single code along in class with. To top it off we implemented JSON Web Tokens (JWT) in our project too, took more than 2 days to get through a 45-minute youtube tutorial and refactor the tutorial to fit with our structures in Vue. After burning airlines, TRX and a UX/UI collab I'll discuss later I think we finally worked out how to collaborate on git hub without having to run to our IA to untangle a messy merge debacle. The biggest takeaway I had from this project was to consider how and where I am pulling data, and whether it would be more useful to pull data and store it at a higher level to feed into child components when needed. The first deployment of this project fell apart largely due to an average of 3 database queries per page. With some refactoring, we were able to reduce this number dramatically and only ever pull data once per workflow.

RORO Sydney let me do a code presentation at their November networking event. It was a quick 10-ish minute demonstration of a solution for a problem presented in the October event. I am quite proud of this as I have not done public speaking of any kind since I was 12, and at the October event, I had never even seen a single line of ruby code. So to be able to come back a month later to discuss my solution, explain the choice to use recursion in the solution, show off some TDD and do so in front of a crowd of professional programmers is an accomplishment that stands out above the rest. So if anyone from RORO reads this, thanks again for the amazing opportunity.

In the second last week of the course, we got to collaborate with the GA UX/UI class that has been paralleling my class. Multifunctional teams are very common in the industry and it was great to see how other parts of the process work. I think we all learned some valuable lessons in communication, expectation management, and compromise (it was only a 27-hour project), making a project that fulfilled all of the MVP requirements and showing the UX/UI class how much work can go into something as simple as a navbar. The highlight of this whole thing though was having our instructor roast all the projects to the point where our entire class was laughing hysterically. His ability to deliver constructive criticism with dry humour amazes me.

Sadly it all comes to an end

The end of the course is a mixed bag of feelings for me. I have met so many amazing classmates I have been learning alongside for 3 months now that I have had to say goodbye to them as they all return to their respective corners of the globe. Having amazing teachers that I could call on for advice and support whenever my code inevitably fell apart. All things that have quickly become staples of my life that I will miss. On the flip side, I got 8 hours of sleep last night, and I am excited to get out and put my new skills to the ultimate test.... getting hired! So if anyone has made it this far and needs an eager junior dev in Sydney please reach out to me on LinkedIn.

Now the job hunt begins in earnest, projects out of the way and blog posts written, a portfolio built now to begin the fun process of applying for roles after the new year.