Reflecting on my Journey: Key Strategies I'd Apply as a Software Engineer Starting Over
Learning, unlearning and relearning to excel as a software engineer
In this article, we'll explore various strategies for building an excelling career in Tech as a software engineer.
Sometimes you have to unlearn, go back to the beginning and relearn like a child. ― Paul Bamikole
One of the things we will come across in the pathway of progress in Tech is the numerous ways through which one can efficiently learn a skill. It's not a sign of insufficiency but a definition of commitment to making oneself better. Just like Israelmore Ayivor would say
Grow your talents and skills through consistent practice and progressive learning. Learn to relearn and unlearn. Raise the bar for yourself always.
― Israelmore Ayivor
The video for this article is also available on my Youtube channel.
Below are several ways I'm using to approach learning new stuff or relearning existing technological tool(s) and language(s).
Interest and decision
Develop interest and make a firm decision to achieve the set goal.
I am not a product of my circumstances. I am a product of my decisions.
—Stephen Covey
Decisions backed up with interest in becoming cannot be easily defeated by the stumbling blocks on the pathway to mastering a new skill or relearning an existing skill.
I think the big mistake in schools is trying to teach children anything, and using fear as the basic motivation. Fear of getting failing grades, fear of not staying with your class, etc. Interest can produce learning on a scale compared to fear as a nuclear explosion to a firecracker.
―Stanley Kubrick
Start by taking strategic action
Most often we're overwhelmed with the requirements of the career path before us and how long it'll take. But nothing is more important than swinging into action.
It is ‘action’ that erodes or replaces worry. As I have said before, worry doesn’t accomplish anything but action does. ― Catherine Pulsifer
Through this action, it'll become clear if there's the possibility of going further in learning or reviewing the steps taken. The key thing is taking action will define you.
Do you want to know who you are? Don't ask. Act! Action will delineate and define you. ―Thomas Jefferson
You noticed it'll take months or years to gain mastery probably after a feasibility study of a career path. Next, is taking actionable steps towards accomplishing such no matter how small they may seem.
Small deeds done are better than great deeds planned. ―Peter Marshall
You'll often hear someone saying in the previous year "202x" I wanted to learn x y z but I couldn't it's 2 years now but I'm still interested. Taking strategic actions can give you more than you hoped for in the pursuit of a career in Tech.
You don't have to be great to start, but you have to start to be great. ―Zig Ziglar
This can be as simple as listening and following a coding tutorial or bootcamp exercises. Be proactive!
Go through structured learning resource(s)
The author of confusion and difficulty most often is learning haphazardly. It's super important to find a well-structured learning material or tutorial for a path you've chosen in Tech.
Information is a source of learning. But unless it is organized, processed, and available to the right people in a format for decision-making, it is a burden, not a benefit.
―C. William Pollard
The best way to get such resources is by asking veterans in that career path you've chosen through emails, chats, conversations, community hangouts or hackathons. For example, if you want to become a Python Software Engineer it is best to have a course that's well organized with duration and project goals for practicals.
This is not the same as going through a resource to become a photocopy of the learning material but you must ensure to be creative and innovative.
Spoon feeding in the long run teaches us nothing but the shape of the spoon.
―E.M. Forster
In some cases, depending on your financial capacity if possible go for paid resources.
Gain Mastery
Mastery is not a function of genius or talent. It is a function of time and intense focus applied to a particular field of knowledge.
―Robert Greene
One thing that is almost unavoidable in Tech is the eagerness to learn multiple skills. While that is good, it is recommended to gain mastery in the basics of a skill before adding another.
Another instance that can lead to wanting to learn multiple languages or skills is from those who tend to belittle the advantage of a tool you're learning. For example, networking with someone who is obsessed with their language or tool choices as the best will devalue the essence of learning a specific tool by talking it down and recommending another. Such can become a setback and distraction after making progress.
Keep away from people who try to belittle your ambitions. Small people always do that, but the great make you feel that you, too, can become great.
―Mark Twain
The approach to recommending stuff matters. For example, Oh great you are learning tool x, I'll recommend you consider adding tool y or z based on the shift in industry innovation, standards and demands.
Since we have more control over our response to the events of life it is important to stay at mastering a skill for a while before adding another. Strive for mastery.
You must immerse yourself in your work. You have to fall in love with your work. You must dedicate your life to mastering your skills. That’s the secret of success. ―Chef Jiro
Learn Data structure and algorithm
A data structure is the format of organizing, processing, retrieving and storing data. An algorithm is the steps to follow to solve a problem.
I will claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
―Linus Torvalds
For programmers, software engineers etc., This skill makes software development organized, easy and precise. Also, some job requirements have coding challenges to test data structure and algorithm skills. Leetcode is an example of a platform with different coding challenges.
Practice and Build projects
Tell me and I forget, teach me and I may remember, involve me and I learn. ―Benjamin Franklin
Nothing sticks faster than practicing and building projects regardless of the size (small or big). As you learn practice along. For a noncoding path, this could be writing an article to explain what you learned from a resource. It's one of the best ways to gain mastery.
Knowledge is of no value unless you put it into practice.
―Anton Chekhov
Strategic Networking
Strategic networking is about selling your skills and connecting to the right circle with profound values in Tech.
Networking is an investment in your business. It takes time and when done correctly can yield great results for years to come.
―Diane Helbig
Network with people who are in Tech and most especially those who are on the same path of career as yours. Tell people what you do and how much proficiency opportunities can contribute to your portfolio.
Networking is marketing. Marketing yourself, your uniqueness, and what you stand for.
―Christine Comaford-Lynch
Sometimes it takes a recommendation from someone for you to get a job. You can network by joining a Tech community, volunteering, traveling, hanging out, or through LinkedIn connections. There are gigs I have gotten through the networks of friends from community events.
Share Knowledge
Sharing knowledge (learning patterns, guides, experiences) is of benefit to oneself and others.
Knowledge is like money: to be of value it must circulate, and in circulation, it can increase in quantity and, hopefully, in value.
―Louis L’Amour
If you want to become proficient share knowledge (topics and learning experiences) to help others.
If you know, let others light their candles in it. ―Margaret Fuller
There are several instances where previously published articles or shared experiences came in handy in solving the same problem or implementation of how a tool was integrated into a framework.
Everyone has transferable commodity knowledge. Sharing your unique expertise and making introductions for someone creates a lasting legacy.
―Marsha Blackburn
Share what you are learning or have learned either by publishing an article on a blogging platform, or posting on X, Linkedin posts. It'll travel beyond your physical location and outlive when you're no more.
Share your knowledge. It’s a way to achieve immortality.
―Dalai Lama
Apply for Jobs
Even if you don't meet up to 100 % of a job requirements give it a try. For a beginner or one without a job volunteering or starting with a company that can give you a stipend to offset some bills is fine.
There are some things that it is better to begin than to refuse, even though the end may be dark.
―J.R.R. Tolkien
Be patient with little beginnings in small companies but keep trying big companies. Gaining mastery in tech skills is easier when working with a company or contract project.
What if I get a rejection mail? Hey there, your application was rejected not you. Keep applying, that same application might be needed elsewhere. Ensures to take into consideration that more learning and practice will make the difference in your subsequent applications for any job.
If it scares you, it might be a good thing to try. ―Seth Godin
Build a tailored resume | portfolio
Start working on a resume or portfolio that is tailored to a specific career path in Tech.
If you're waiting until you feel talented enough to make it, you'll never make it.
― Criss Jami
Every career path in Tech has its requirements. If you're a Python fullstack developer let it reflect in your resume and portfolio as the center of focus and attraction.
Every progress is worth showing forth. As a beginner or one who is relearning a tech skill, work on a resume or portfolio that has the most required skills for your career path. For example, build your portfolio in line with the outcome of your research on several resumes for a Python Engineer and job requirements.
Begin somewhere. You cannot build a reputation for what you intend to do.
―Liz Smith
You can build your resume and portfolio through volunteering, internship, community development, coding challenges, hackathons or unpaid professional jobs.
Copy or Re-align solutions
Resort to re-align existing solutions because having a fresh idea in mind to develop from a start can be challenging.
If you want to be successful, find someone who has achieved the results you want and copy what they do and you'll achieve the same results.
―Tony Robbins
Be innovative and creative while copying from existing solutions. For example, while learning React you can build a chat app from a tutorial with a unique feature.
Invest
Invest strategically in yourself (learning more and looking after your well-being) and the tools you use to work as you make some cash. It's important to keep some cash aside to be prepared for opportunities and rainy days.
Do not save what is left after spending, but spend what is left after saving. ―Warren Buffett
The proceeds from savings and investment can be used to revamp your workspace to improve performance.
Save when you don’t need it, and it’ll be there for you when you do.
―Frank Sonnenberg
This covers the part of spending judiciously in the course of building a career in Tech.
Mentorship
Mentorship is a relationship in which someone intentionally submits to learn from the guidance, experience, and knowledge of someone higher through close contact or by following their resources (books, podcasts, mentorship sessions).
Your mentors in life are important, choose them wisely
―Bill Walsh
Meticulously learning from a software engineer with an excellent track record in the Tech industry who is willing to bring out the best in you is an example of Mentorship.
A mentor is someone who sees more talent and ability within you, than you see in yourself, and helps bring it out of you.
―Bob Proctor
Be dependent on assistance from senior developers, principal engineers or the community but also maintain a balance to take charge of handling tasks to become the best version of yourself.
With careful guidance and mentorship, you will reach your highest self.
―Lailah Gifty Akita
Learn how to debug
Debugging is the process of finding and fixing the cause of errors in a computer program or blocker in achieving a task.
At the source of every error that is blamed on the computer, you will find at least two human errors, including the error of blaming it on the computer.
―Anonymous
Debugging is one of the major reasons why most developers affirm that coding is hard. There are skills required to debug effectively and efficiently.
The most effective debugging tool is still careful thought, coupled with judiciously placed print statements. ―Brian Kernighan
Debugging is an art so it requires skills to be able to master it. Here's an article that has done justice to the best skills you should have to debug properly. 7 recommended debugging skills you should know as a software developer
Stick to the Process
Building a sustainable career in Tech is a process.
What we are waiting for is not as important as what happens to us while we are waiting. Trust the process.
―Mandy Hale
It takes time to arrive at a desired location. But ensure the process you're sticking to is defined and worth it. Great results come through the process: you've to be patient, consistent, humble, determined, persistent, tenacious, focused and graced!
Trust the creative process. You are a walking, breathing mass of possibilities and potential.
―Donna Goddard
You published articles but no engagements keep writing and improving.
Apply for jobs with no replies or rejection on your application keep moving.
Balance between what should be kept as a secret and what should be in the public progressively.
Be innovative and creative with your approach to project conversations.
Take breaks and Rest
Rest and take breaks from screens and engage in other non-technical activities of interest. The pursuit of greatness can be overwhelming to the point we don't prioritize or value our well-being.
Wisdom is knowing when to have rest, when to have activity, and how much of each to have.
―Sri Sri Ravi Shankar
I have done more in less time after having a strategic rest. This could be any of the following: reading, playing an instrument, gaming, hitting the gym, traveling, tourism, or hanging out with friends. Prioritize your rest because it takes a healthy mind and body to learn, achieve more heights in life and enjoy the dignity of labor.
Unguided actions can become debts in the future. Desire and work towards a healthy wealthy life.
―Alemoh Rapheal Baja
There are so many unhealthy approaches to becoming great out there. Rest is not the same as being lazy or going around with flimsy excuses but prioritizing your well-being in every action.
He that can take rest is greater than he that can take cities.
―Benjamin Franklin
Conclusion
That was an extensive covering but it is worth it. Building an excelling Tech career is achievable. It's important to develop interest, make decisions, take actions, strive for mastery, share knowledge, network, invest, submit for mentorship, practice and stick to productive processes.
I'm pretty sure this is the best of such strategies out there but not all strategies listed in this article might apply to everyone based on individual learning preferences.
Find this helpful or resourceful?? kindly share and feel free to use the comment section for questions, answers, and contributions.