Setemi, please, I want to ask you, is there a tech school where you learnt all these skills? Because I’m thinking of how you started this tech journey, tech is not easy, the country’s conditions aren’t even making things easy for someone to learn the way someone wants. I hope we survive this tech journey.
Before I answer this, let me put some things into a clear perspective. I am not a super genius kid who got access to a computer before their teenage age, nor am I a knowledgeable person with a bright IQ rating.
I am a developer with over five years of experience writing codes and three years as a software engineer. I started as a self-taught (not self-made) in programming basics. It means I got a fundamental understanding of programming concepts from watching a video, reading a blog post, or attempting to read a programming textbook I never completed. I did some form of low-grade boot camp after the semester, which was usual at the university I attended. I studied computer science, which, in the context of my situation, did not teach practical programming basics. I learned a lot here and there. I have written code with the following programming languages: Pascal, C#, Java, JavaScript, TypeScript, Python, and Nodejs. I am only proficient in JavaScript and its type variant.
I will highlight four things that worked for me based on my situation and learning conditions. Stumbled on a course titled Learning How to Learn changed the dynamics of my being and gave me the confidence to learn anything I desired. I learned Discipline and Motivation while serving in my Christian fellowship during my undergraduate program at Ladoke Akintola University of Technology. Finding the best resources that work for me is a strategy I gleaned from learning how to learn a course I took from Coursera. Practicing or Building stuff from what you learned like your life depends on it was a cue I picked from two books.
Learning How To Learn
Learning how to write code is a lifelong journey; it involves grasping the concepts of deconstruction and recombination of Knowledge. It requires having the superpower of figuring things out, a childlike wonder. A child will always wonder about everything and want to know the mystery behind the operations of anything they encounter. This lifelong commitment to learning is a testament to the patience and dedication required in the tech field.
It is the courage to take on a piece of information and distill it until you can reproduce it in several formats. Addy Osmani talks about learning in his Software engineering soft parts and Shawn Swyx Wang also put great emphasis on this in the last chapter - The Operating System of You. He linked to Max’s Two Cent article on learning how to learn, which also linked to a great material I recommend to everyone I am actively mentoring.
It is a first principle thing to grasp the concept of learning; it will be helpful in your coding career and help you in every phase of life.
Motivation and Discipline
I left this only at motivation, and a brilliant student added discipline after reviewing for me, which is worth mentioning. I do what I do because I love it; I do it passionately, and it does not feel like work. I could do it with a reward and much effort because it is natural. This emphasis on discipline and motivation should inspire you to stay determined and focused on your tech journey.
It would help if you generated motivation for this subject when trying to learn this coding career. Whether money, sapa (hunger or poverty), or economic hardship in our part of the world. The discipline is to continue even when you feel not good enough or do not see the impact of your learning. That means you should not give up; you will improve at writing code.
Living a purpose-driven life will always be a source of drive and a profound reason for your WHY. It reminds me of books like START WITH WHY by Simon Sinek, Drive by David Pink, and the famous Atomic Habits by James Clear.
Searching For The Best Resources
Naval - A very successful, famous Silicon Valley investor shares his opinion that - if you are the best mathematics teacher in the world, then you should be teaching the world mathematics. To get so good at this coding career, you must look for the best resources with good explanations and a high bar for excellence. This advice should empower you to seek out the best resources and take control of your learning journey.
The JavaScript community has a lot of high-profile Engineers who are great educators and produce quality content to show new concepts. Read code writing by industry experts. Use web apps and software created by these gifted hands who bless the world with their skill and content to help improve others.
A notable example is the famous Josh Comeau, who is unmatched in quality content production in the web development space focusing some of his teaching courses on React with a course named Joy of React which is planned for the 1st quarter of 2023, the famous CSS for JavaScript Developers which is a paid content, his blog ozes quality with the illustrative teaching approach. Some people will say the situation in the country makes it hard to pay for courses in foreign valuation. I would argue you could get some great material for free, just like JavaScript.info. Other notable high-bar courses are the Testing JavaScript Course and Epic React by the famous Kent C Dodds. Matt Pocock Total TypeScript is another excellent content. Build UI, Frontend Fresh by Hassan Djirdeh, Vue School and Vue Mastery are great examples. Some documentation is enough, and some frameworks have an example folder showing how to implement basic things. Getting quality content will take a lot of research and talking to experienced people about what you are trying to learn.
A final destination for high-quality content is Open Source, Contributing
and looking through the codebase on GitHub will expose you to how mad
some
people can write fantastic software. The world is more open than ever. That
reminds me, we are in the hacktoberfest season.
You contribute to open source and get fantastic gift items.
Practice - 10000 hours or 10000 Iterations
Malcom Gladwell, who is one of my favorite writers of all time, says we need 10000 hours to master a craft in his book Outliers but I have often found out that what you do during those 10000 hours will determine what you will be. If you watch and read without practicing code for those 10000 hours, you will be a guru in what you have consumed. You will end up in a tutorial hell cycle and will eventually be unable to build a Todo app.
Even though we cannot rule out time to help us understand and become that sound software engineer, there is often more. The kind of problems you are exposed to will determine what you can do. The number of iterations of complex situations you can solve will be your badge of honor. Don’t ever run from big and daring problems solve them in iterations over and over until you can solve them in your sleep. Building solutions is your job as an engineer, so the earlier you start practicing and building, the better you will become. Whether it is hours or iterations, keep solving problems and building small examples that will become your portfolio when looking for a job.
“The brilliance of the stars would be invisible without the vast darkness of space behind them.
Do not wish away the difficult portions of life. They provide the contrast needed to appreciate the joyful moments.” James Clear.
Never disregard the challenges you are facing or will face while trying to become a software engineer in whatever clime you may be learning from, embrace each of them. It is a making process. REAL GOLD FEAR NO FIRE. I expect what you will make out of your journey. You are brilliant and unique in all shades. Keep pushing and never give up.