What Is The Best Way To Learn A New Language Or Framework On The Job ?
There is a key skill required to work in corporate, which is your ability to onboard quickly on a new technology. Most of the time you are expected to learn a new language or framework before you can start contributing to the codebase. In this post I will cover the process you can follow to get onboarded smoothly and be productive in your current role.
There are two important steps involved whenever you are learning a new language or framework in your job:
Learning the theory of technology.
Getting practical experience on the existing codebase.
For the learning step, if the technology is not proprietary to the company and it is available publicly, then you do not need to depend on just the internal documentation. You can take some basic courses available outside and get started on it. You do not need to complete the entire course to start coding. You should start practising programs once you are through the basic chapters. Then the subsequent learning can happen in parallel to your work in the company. It is super important to remember that you need not be an expert to get started with the coding part. If you wait for the theory to complete before you start coding, you will end up forgetting what you learned at the start of the course.
Once you have some beginner knowledge in the technology, it is time to start understanding the codebase of your team. You do not need to be an expert to start exploring the codebase. The best way to do this is to set up the code on your local machine, put breakpoints in the code and start debugging the most common flows. For each user flow, see where the breakpoint is getting hit, what is the code flow, what all functions are getting called, read it line by line and understand the code. Do not worry about understanding the full codebase. Just focus on the most common user flows, or the flows which involve your immediate area of work.
Before you get started, it is important to manage your expectations in terms of how much time is required in the learning process. This way you will not panic because you seem to be taking more time. Depending on the technology, getting on board may take a few weeks to a few months to gain some expertise. Initially you will struggle to fix even some bugs, but in some time you will be building complex features in it. I have done it numerous times in the past myself, and trust me, the process works, no matter how hard it may look in the start.
How To Get Started With Open Source Projects ?
Open source is one of the best ways to contribute to the wider developer community and build a good developer profile at the same time. These projects are much better than any self made project as you get to work with experts on real world problems. These projects are live in production and you can see your code changes being used by the real users. It …