Hello Everyone,
Thought I would share this with you all, anyone who is interested in the full stack journey. This has been shared from my own blog and hope this might be able to help anyone.
The last twelve months has taught me a lot on the full stack journey. I’ve learned some amazing new technologies and made some wonderful contacts through twitter and hashnode, and the journey only keeps getting better. If you’re looking to take on the full stack journey, beware it’s a challenge but one you must keep your mind open and have your eyes on the goal where you want to go. Be stubborn, know your game and most importantly know your market you’re sitting in.
What have I learnt over the last twelve Months?
The frontend is a very different process to the backend role. This specific part of web development enters the software development, which introduces you to Software Architecture and Software Engineering (Depending on where you want to go with your application).
Back in 2008, when I had just landed my first role and turned 18, I joined a startup business who was renting space at the local library enterprise centre. What’s remarkable about this period is that I purchased a few books at this time which is now almost ten years later and only just now because i'm doing backend I'm able to understand them.
To understand how the backend works, you must understand how the architecture and process on the backend and weirdly these books contained the information that I have sought for to understand the last few months, which is the Model View Controller part. (MVC Architecture) – (On note, different one now exists with Angular which is MVVM - Mobile only)
The books I would not look much into because seriously these books are about 14 years old! But at least for me, it gives me the insight of how it all started, and in some case they are still handy and sure worth a read at least in my case. Not bad for 20p each for discarded out of date library books!
The frontend is HTML, CSS, Javascript, few pages and you have a small website in a small folder, ready to be uploaded onto the web. On the backend, you soon learn that you can’t just edit what you want. HTML is compiled which is a big shocker, and there's alot more workflows in the backend end.
The point is for a full stack, you really ouch to keep your mind open and know the ground you tread with technology. I know currently, React, and Vue js are hot, but I’m keeping an open mind about these as they are more mobile application development and even though it’s an interest, it’s just not now I’m focused at the moment.
Architecture / Patterns: – Now as I’ve mentioned recently I’ve been having an issue trying to get the Javascript down, but then a few weeks ago someone recommended Python to me. I started with Python, and you know what, I’m now finally picking up the Javascript. WooHoo! If you’re on the full stack journey its certainly worth taking a look at OOD, OOP and anything else with OO in it. Design patterns, architecture, information architecture, it sure all fits the box when you are building a full stack following web application.
Differences: Framework and Libraries – Work out the differences between these, because it makes a huge difference, and learn how to use them correctly!
Eco-System: – If you’re going to build something, then expect to maintain it and know where you want to be going with it. It’s also about commitment.
Learning Strategies: Don’t think, you gotta learn “XYZ” fully first. Knowing one or two languages is a good start, but at the same time, I’ve noticed many courses or e-learning providers that the material on the course is often out of date! Yes, this includes Linked In, Udemy (Popular one) and even (Plural Sight – Premium!) – Always make a note of what version you’re learning otherwise you might find you’re programming in python 3 and you only have python 2 installed.. and it is just not playing ball! If you have to hop to keep learning, change it up, otherwise, it sure will bore you to death learning it. It may take longer, but you’ll come out a lot stronger overall compared to the developer who only learnt “ABC”.
Node JS – This is the biggest thing, because it truly opens all the doorways to what you want and need to develop, as well of its flexibility, to almost work with almost any language or environment. Must have and Essential. If you are coming from the Front-end, best course I’ve found on Node is on Pluralsight. It makes much more sense!
Podcasts: – These are incredibly handy! I love putting these on while i’m in the shower or washing up and its a brilliant way to keep up with the latest trends on the market.
Tooling: This is a big part of the backend, knowing the tools you need to work with such as GIT or Jenkins, maybe Grunt or Gulp? Babel, and did I forget to mention the workflows each for these?
Web Security: – If you are building a full stack application by yourself then this is quite important, so remember all of those easy data leaks, a majority of them caused by unsecured API’s at the time developed, not maintained, or vulnerabilities have come with them overtime making the data not secure.
I’ve learnt a hell lot over the last twelve months but i’m getting there, it’s on my list and now finally i’m connecting all the dots to keep building the applications that I want to build.
Hope this article helps at least someone!