After been inspired by the creativity that are erupting, leading to live changing inventions and innovations, and its enormous role in today`s society, impacting everything from communication, medicine, transportation, social and environmental development, even to climatic improvement and lot more, as time passed by I noticed my ever rising curiosity towards computer and computing as a whole , then the urge to have a solid knowledge about understanding the designing and development of devices and software, for the betterment of lives is a service I which to offer. (But I missed something)
Setting out to become a developer can be a very easy and smooth trip, but what if you don`t have a roadmap, it might turn out to be the most stressful journey you have ever embark on, except if you have the burning desire and the willingness to learn in all condition. Though am still on my journey, because it is a life long affair, but these are the things I found out to be helpful to anyone trying to become a developer or on the path to world class.
Having a WHY
Before you decide to become a developer, something must have been the reason for that decision, many people confuse inspiration and why together, imagine you are ask, what is your why, what will be your answer?.
when starting to program, you will encounter lots of challenges, lots of frustrations, in the beginning of a developer`s journey, even when you`re a software engineer or a senior software developer, only your why can keep you firm on track; the reason you started this stuff at first, that, is greater than inspiration.
Understanding the game before jumping
Having proper understanding of the path you want to take, jump from a career to another or a programming language to another and start learning all at the same time, in my opinion, it is not right that way, it is just like you don`t know what you`re doing or you don`t have a clear vision of who you want to be and where you are heading to. I will suggest these steps:
> choose one thing you want to do (web development, app development, game development, machine learning, embedded systems, cyber security….)
>get overview of the different technologies used in the field ( programming languages, frame works..)
>write a clear path on how to get the knowledge needed to achieve your goal, it maybe information from youtube videos, blogs, books or podcasts.
> start your journey from there.
Get the basics right.
When you start learning, the first thing you need to be sure of are the “fundamentals”. It is the first step of becoming a savvy programmer/coder.
To get the basics right, you need to learn the foundation of programming, knowing the main purpose why programming is needed, which is to find a sequence of instructions that will automate the performance of a task (which can be as complex as anything) on a computer, a proper understanding can give you an advantage early in the path of learning to code. And often for solving a given problem, just like any other trade you will come across, there is always a pattern of trading, which overtime begot experience or an expert, likewise is programming language, there is a pattern of solving problem , which one may later realize its importance in the future, but could have save that stress by learning it from the onset, which is algorithms and data structure it is basically the core of computer science. It doesn’t matter if you are doing web, apps or game development, or maybe Machine learning or Embedded systems, you are always using algorithms to achieve the end-result. With vast experience in Algorithms and data structure, you can take your skills to Fugaku mode. give it a try ,to keep your programming skill sharpen.
Set a goal, and move towards it
Goal-setting can be a powerful booster on your path to learning to code. If you are planning, for example, to learn python or C++ language, set a goal for your learning path by the end of the week or month. Once the goal is achieved, set another goal, and repeat the cycle. But before setting the goal, you have to vow to be consistent with it.
There is no end to learning and improvement in programming, and that’s why it is a good idea to keep setting goals, and not to lose track of your primary goal.
The goal should be achievable, so don’t try to focus on building Facebook or creating a fully-featured game, don`t aim at perfection, rather make sure you`re getting better than your yesterday. Try to move slowly, and then aim for bigger and more complex projects as you progress further.
The number one obligation to become a successful programmer is building patience. Patience can let you stand up like a pro, after series of failure. It makes you ready for disappointments.
Not to mention, patience can help you become a better problem-solver, and improve your understanding of computers.
Computer concepts are complex and require patience, determination and hard work to understand. Most of the time, people are too expectant, like you want to start writing the code of the future now. Yes, but you don’t come with all the power at the beginning. Too much optimism is dangerous anyways.
Due to failure in ones expectations, many people just give up, and move to another career, from there to another. To counter this, you should build patience, it is not every thing we carve for ourselves at the beginning of the journey that are always achieve, this is similar to the story of Mahatma Gandhi, who from been a lawyer, became a freedom fighter. Apart from your end Goal, you may discover another uniqueness about yourself, it may be your ability to teach or your speaking potential, which may later be your specification.
Project, project and project. The best way to learn is by building more projects, even if some are not encouraging, continue. You will understand not only your weakness, but also improve your analytical and problem-solving skills. After all, learning to code is not all about learning programming language, but about learning how to solve problems using them as tools.
Though the thought about project requires creative thinking, and a plan to build something meaningful. there are platform where one can get ideas from, like GitHub , by going through other public repositories for the programming language you are learning ,you can see project ideas, it is also a place where you can store your code for easy access.
Build your social presence
The main purpose of the social media is for Networking, Marketing, Learning and inspiring/impacting peoples live, not for anything else. And there is no point to be shy or to be concern about people`s acceptance to your opinion, just ensure what you`re saying is right. I had to learn this the hard way, that`s why I may sound harsh . Go for meetups, conferences, hackathons, participate in programs voluntarily, it goes a long way, trust me.
Learning to code is never a solo quest. If you are thinking of building the next big app without any help, then you are in the wrong career. Programming is a group activity, and if you want to survive, you need to get help from different social platforms catering for programmers, and also help.
Check out GitHub, StackOverFlow, Livecoding , or any other social coding site or Reddit, Twitter to find a suitable community for yourself. Each of the communities mentioned above has its own advantages, and will help you improve your skills.
Learn to document your work
The importance of documentation is not a thing that can be underrated, in the career of a developer, unlike writing code it has to be easy to understand, good documentation helps the reader (user, software developers and yourself) to understand how the code works, without much stress, and while writing, never assume the reader should understand any particular piece of your work, simplicity is key, start from the very beginning, follow the standard procedure of documentation, you can make use of pictorial representation, make it well organized and straight forward, lastly keep it updated, as you make improvement in your code or product, because it is a documentation.
Personally, you can try to document your experience as a coder or with a language, so that people can learn from you, you can blog about it or make youtube video, or perhaps, you may host a podcast and that way, you are making contribution to the development of someone`s live.
Get a mentor
The purpose of mentorship in the growth of a programmer is inevitable, apart from the fact that they contribute greatly to your progress, they come in handy for somethings, take the instance of you applying for a job, and the recruiter happens to be a friend to your mentor, the rest is story…, and many more value you can get from a mentor.
I hope this piece becomes helpful to someone.
“ live, learn and impact your environment”