As Software engineers our most powerful skill should be adapting to new tech, and I think this isn't related to us only, after all of this milestones and improvements this is major skill to almost all other jobs as well 😊
Specially in software we are always evolving, changing & improving.
I will try to sum up the process to 5 cool short points, which at least helped me in my journey.
Let's say you want to start learning Python, try doing good research on it, where its being used, how its used, pros & cons, try finding some data about the tech.
- If you already know the basics of any other language then its much easier to learn a new one faster.
What I usually like to do is to split features & functions and try to find resources on each topic separate, and then start connecting to each other.
- We have plenty of data on the network, for example on YouTube, Udemy, edX or Coursera you can find really good content, which are organized in a good way and will boost your learning process.
- Start following the official Docs site, and always keep up with updates and new versions.
At this level after your familiar somehow with the new tech, lets start reading other codes, where we explore new ideas, better ways, and try editing on your own if you have already started one.
- I highly recommend to search for best practices. This can be done through reading Open-source Repos, Blogs, Articles etc.
Refactor someone's random code, try brainstorming for better way, start critical thinking, and how it can be done in an easier way. This is really one of the best practices to make you learn even quicker about the language, and of course while your doing this, you'll start using online resources to tackle minor challenges, which will improve your learning curve.
Finally my favorite one is doing by practice, after finishing the other 4 points, at this level you do your own "from scratch" project, where you will start using all that you've learned in the previous parts. Eventually this "Simple" App will grow by your path, and you will add other new stuff that you'll learn later, and its always good idea to have this project by your side, and improve it always during your journey.
This is the shortest article I've written, and still its one of my favorite topics, cause in the nature of our major, its extremely demanding and really powerful skill to quickly learn and adapt to new tech 🔑
Hope through this short points it made the process mush transparent.