In one word, FOREVER!
You might think I am exaggerating, but learning to code is an iterative and lifelong process. Every day new technologies are being developed to optimize old workflows or introduce new and more efficient workflows. Staying up to date with these technological advances and breakthroughs is important to stay relevant to the ever-changing workplace landscape.
First Steps
Let's backtrack for a moment, if you are a beginner just starting on your coding journey or someone learning to code, coming to know that learning to code is a journey, not a destination could seem quite daunting and might deter you from carrying on, but stay with me. Learning to code is highly dependent on what your aim is, what you want to do with your skills after you learn to code.
If you are learning to code as a hobby, your aim could be learning the basics of programming, then try out a bunch of avenues in coding and pick the niche that resonates the best with you. If you picked up coding for professional enhancement or switching careers, you might want to focus on developing the skills that are in high demand and can be picked up fast like Web Development.
Learning never stops
If you want to build the software of your dreams, after learning the basics, you should break down the features of the software and then focus on learning those technologies only.
One of the things to keep in mind is you will face a plethora of challenges, especially at the beginning: when you don't know what you don't know. But as you practice more and gain more experience, you will discover more ways on how to write good quality code. Going from this weird mix of single letter functions and variables:
const a = [];
function f1(x) {
a.push(x);
}
function f2(x) {
console.log(a);
}
f1(Date.now());
f1(Date.now());
f2();
to this high quality, self-explaining code:
const dateList = [];
function recordDate(date) {
dateList.push(date);
}
function displayDates() {
console.log(dateList);
}
recordDate(Date.now());
recordDate(Date.now());
displayDates();
Both pieces of code do the same thing, but one is far more understandable just in a glance. This will take time, but as long as you keep going you will definitely get there.
As you progress through your journey you will also learn about the conventions and good practices for the tools and technologies you are using such as usage of snake case in Python
snake_case_object.some_function()
and camel case in JavaScript and TypeScript.
camelCaseObject.someFunction();
Since coding is a journey, make sure you are enjoying the journey. If you are not enjoying the journey choosing a different path is always an option, but make sure that you don't just run after a new shiny object whenever you come across one or the going gets hard, put in 100% of your effort because if you put in half-hearted work, the results you get will be half-hearted as well.
By changing paths I mean if you are highly enthusiastic about Artificial intelligence, Machine Learning, and Big Data, if you try BlockChain Development, it's highly likely that you would not enjoy the process, or if you are a visual person like me, you would be better off pursuing Front End Web Development or App Development than diving into the field of Artificial intelligence.
Coding is truly a vast and wonderful domain, which offers you endless possibilities from making a script to automate mundane tasks to enable everyday people to change the world by creating new pieces of software like Google and Facebook.
Chase your dreams
One of the key ingredients of coding is it enables common folks to change the trajectory of where the world is headed, such as the landing of a helicopter on Mars during Mars Helicopter Mission 2020 by NASA was facilitated by almost 12,000 people from all around the world contributing to Open Source Projects on GitHub.
You can also leave a mark on this world using programming as a tool to achieve your dreams. The process of learning to code is not easy, just like anything worthwhile in life, but it definitely highly satisfying and financially rewarding as well. Another perk is having such a large number of sub-domains that enables any developer to switch over to another field as he or she seems fit.
If you start off on this journey and keep putting one foot in front of the other even when challenges and difficulties show up, you will make it!
Top comments (13)
The problem with this code piece are recordDate and displayDates have outer dependency: dateList. Without that variable these two function is useless.
100%. Much better to use pure functions.
Or provide the dependency as a parameter even if it contains side effects you have overall control. Following the Inversion of Control principle.
You would export the functions from the module and keep the variable private. It's not the point of the example.
I absolutely agree. And it's another proof of the fact that learning never stops 🚀
Right, it's like dancing, you are never done learning, so focus on enjoying every moment
Absolutely agree! Enjoy the ride or change the track :)
I was almost expecting an answer like "Two months." or "All you need is this one course.", but this article actually sheds some light on the topic the right way.
Two months is a reasonable timeframe to study the basics of JS. But realistically it's more like 6-12 months to get from zero to the first job as a software engineer. And then you really start learning :)
My thought as well.
Thanks for your sharing!!! 😃👍
I'm glad you liked it 🙏
A bug will still haunt you as you walk into your after life. FOREVER AND EVER