The title of this post is a little misleading, it would be impossible for me (or anyone for that matter) to try and tell you exactly what to learn. It will always depend on your goals, your location and maybe even your skill set.
The last point is probably up for debate, but I would say while it is certainly possible to teach yourself many new skills and attributes it is also a good idea to leverage what skills you already have. For instance you may have a knack for design and should probably look to (initially at least) focus on the front end side of things.
There are many articles online telling you what technologies you should learn, but as I found at myself not all of this advice is sound or relevant to your own situation. PHP has an awful reputation within the community for the most part, however in my location PHP is very much in demand and something that I will definitely be learning at least to a basic level.
I’m going to list my learning path below, which will help give you an idea of what you can expect to read about in this blog and I guess it is a very common roadmap for the most part, so no doubt you can sculpt your own path from looking at mine. If you want something a little more detailed then I can recommend [this] (https://github.com/kamranahmedse/developer-roadmap) awesome guide.
What I’m Learning
Below is a list of the things I’m planning to learn right now, but you must always keep an open mind in this industry, depending on your pace things can change very quickly, but the core items will remain constant and those will be my main focus. The secondary items are what I think is important to me in terms of my region, my goals and finally my interests.
- CSS3 with a lot of emphasis on grid and flexbox to create modern responsive sites.
- Terminal working on the command line makes almost everything easier, but does take some practice, so working on this continuously throughout your development is great idea.
- Version Control get used to working with git and GitHub (on the command line of course)
- React to be honest this could easily be in the core list because it seems React is here to stay and will likely be the framework I spend most of my time with.
- Package Managers NPM Yarn etc.
- Build Tools webpack, NPM scripts, ES Lint etc.
- Testing which seems to be very underrated by most juniors, so this is really important imo.
- CSS Preprocessors SASS in my case.
This list is not amazing but it is a good overview of what I’m doing and what you will see come up on this blog. I think once I am comfortable with the majority of the above I will be very employable in the current market.
Where I’m at Now
Right now I’m very early in my journey, I have a solid understanding of HTML, CSS and a decent grasp of vanilla JS. I now have a [GitHub] (https://github.com/shan5742), which is getting full of little side projects that have been fun to build and taught me a lot.
I’m comfortable with version control, using the command line and now have a solid foundation. This has taken me a few months, could have perhaps achieved this a lot quicker, but I haven’t rushed anything and I’m confident in my ability in the basics.
In the beginning these roadmaps can seem very daunting, there is so much to learn and everything seems so difficult, but you don’t need everything to get a start in this industry. In fact that is the wrong way to do things. Your plan should be to pick up a solid foundation, get employed and learn the rest while you’re on the job working with other more experienced developers.
I myself have recently landed some freelance work for a webdev agency in my area. It’s pretty simple stuff, which instils confidence and means that I can get through projects fairly quickly, which still leaves a lot of time for further learning. However, having this on my CV will be great when it comes time to apply for full time positions further down the line.
So, if you are on the fence about development then just get started, even if you were never to have a career in it, learning some basic computer science principles and basic programming will do nobody no harm, in fact, I would argue the opposite!
How do I Learn!?
I guess your next logical question you will be asking is how do you learn all this stuff? Well, the short answer is it depends, but in my next post I will show you the resources I use and offer some general advice on the subject.