Theory of Developer Evolution: Moving from One Programming Language to Another
Everything in life is binary. As Mr. Robot says: “Are you a one or a zero?”
By binary, I am referring to those decisions in life when one chooses a new path for themselves and leaves another. The world is constantly changing and evolving and due to reasons like adapting, experimentation, or in our techie world, the law of the strongest, changes must be made to survive. Because no one knows which technology is going to be the next big thing, when do you know if it’s time to switch your skills?
When to Switch?
Switching a programming language is very common in college because you must study a lot of their paradigms and structures to have computing balance. But, in the working world, you may not have had the chance to pick your programming language, or you did, but it wasn’t what you expected, you aren’t being challenged or there aren’t any jobs in that language. When these scenarios happen, perhaps it’s time to switch your programming language.
This article will explore this decision and show you how to evolve and fight against the world as a programming viking! I will guide you through the steps of switching your programming language, even if you have a lot of years working on one language, and help you rapidly change from a newbie to a confident developer.
It’s important to remember that most developers have had to switch their language at least once in their careers. This is why you should never marry one language. It’s important to be curious as a developer and explore new worlds!
Search on the internet and look at some important highlights of your new language, such as:
- Operating system
- Application field (Embedded Systems, Web, Math)
Remember, you should use your current language as a baseline knowledge when looking at these topics. This is helpful because you have a thorough understanding of your current language and this will help you set parameters to make comparisons. You have experience in another language and you should always use this knowledge when you can!
If you are already a developer, you already have the most important skill: LOGIC. You should read documentation, watch youtube videos, go to workshops, go to meetups and read resources on the internet to further your knowledge. Workshops can be extremely useful to walk you through the real language rhythm.
Realizing the differences
As Linux creator, Linus Torvalds, said: “it’s a taste”. In terms of code, a programming language could be based on another language like Java, C or C++, but it will have its own flavor. Finding the different flavor(s), or differences, is exciting and will open up more than you can imagine. Understanding things like Lambda expressions, concurrent programming and other characteristics that are like “code on steriods” with better syntax or libraries to use, will exponentially increase your knowledge scope. For example, Ruby gems was a revolutionary discovery for me and from that moment my understanding of Ruby was different.
Getting the know-how
Look for certification books or guides with the same purpose. Languages like Java or Ruby have certifications and have many books that teach you about the language. However, you must remember books written for certification purposes are intended for a specific purpose. They are written to not only teach the language, but also understand the language thoroughly. If you aren’t trying to get your certification in a language it’s best to begin with basic guides.
Speaking the language
The best advice to learn any new language well is: Make it part of your life. You can become better at German, French, Russian, or any other language if you increase your personal activities using it anywhere and everywhere: on your phone, Facebook and email. This is the same with programming languages. You should participate in forums, communities, Facebook groups, LinkedIn groups, slack chats, tech talks and day to day activities. You should spend at least 30 minutes a day learning something new in your chosen programming language and talking about it to people.
Testing your skills
There are many ways to try out skills. This includes sites such as; hacker rank, ruby monk, codingame, freecodecamp and many others. All you have to do is type in “programming challenges”, put your ideas out there and create challenges for yourself. It does not matter if you have done these challenges before with your current language, you should always try them again with the new language. Finally, code reviews are very useful and Github has a lot of public repositories from people with more experience than you to review your code.
Even with all these tips, sometimes, in real life, there is no real time to practice. However, in the programming battlefield, it is your responsibility to survive. Keep yourself personally responsible and take notes in Evernote, google keep, find GitHub repos with functional examples, use bookmarks and IDE’s. All these things will help you succeed. If you keep on trying, eventually, you will prevail and evolve. Even if it seems impossible, remember, mankind originally came from nothing and now our capacity has no limits. We were created to respond to critical situations and you can achieve anything!
If you have any questions about how to ramp up your programming skills, don’t hesitate to comment below and I will be happy to answer. Gorilla Logic hires only the best software engineers. Think you have what it takes to become a Gorilla? Check out our careers section and like us on Facebook.
Originally published at Gorilla Logic.