Break into Software Engineering: Learning Hacks

Beta Scribbles
ALX Africa

--

“How to become a software developer in 4 weeks” is one of the many available catchy titles of videos and articles available on the internet. As a starter, you may be curious if such a thing is actionable, or rather as easy as it appears to be. The answer is yes and no. Continue reading this article to find out why.

(Please note that this article refers to Software developers and engineers as one thing.)

The journey to being a software developer/engineer is an interesting one that is fully dependent on practice, persistence, and understanding ability, among other important virtues. Some people can make it from nooby to a junior developer in a few months, some may take years.

This article is meant to catalyze and smoothen your journey from now to your first role. The techniques, methods, and ideas mentioned here are a product of my experience, experimentation, and research on this topic. Grab a pen and notebook, and have fun reading.

1. Research and Approval

“I think it’s imperative to follow your heart and choose a profession you’re passionate about, and if you haven’t found that ‘spark’ yet if you’re not sure what you want to do with your lives — be persistent until you do.” ― Steve Kerr.

Talk to your inner self, have a hearty dialogue, and confirm if you are willing to be a software engineer. With a few clicks on the internet, you can get all the information you need to know about being a developer, its advantages, and its disadvantages. Are you willing to be a specimen of that lifestyle? If you do, then you are one step closer to your goal.

Many developers have stunted learning progress because they are not motivated to grow in their profession. They magically found themselves in the class because it was a free Bootcamp or maybe they want to be like their well-paid coding friends.

When your heart accepts to be a software engineer and when it is aware of what is in store for it, it will be armed to face and conquer all the possible learning challenges that will probably come along.

2. Map your journey

“Lack of direction, not lack of time, is the problem. We all have twenty-four-hour days.” ― Zig Ziglar

In the ancient days when Google Maps was not yet born, travelers used to have paper maps. As they are gathering their belongings to set for their journey, they would also be analyzing the possible safe routes to their destination on the map. All through their journey, they will be confirmed if they are on the right route. When darkness meets them on the way, they will set up tents and shelter so that they can continue with their expedition the following day.

The story above is a close analogy of your learning journey. The map you need is your syllabus or list of concepts or frameworks or things that you need to learn to achieve a specific end goal which is your destination. During your learning, you may experience blockers/hiccups that will hinder you from progressing, you will have to think of solutions and keep moving forward.

Software development is a very wide field, and the only way to be an expert in it is to specialize. Find a specialty of your interest and use the internet to find an appropriate journey map for yourself. If you’re part of a Bootcamp, the journey map is already defined for you as the curriculum.

3. Plan and Action

“Devotion is very necessary to achieve something big, without complete dedication towards one thing no one has ever achieved anything big in their life.” ― Anuj Jasani

Use your journey map to source materials you want to use to learn. Some people prefer books (like me), others prefer articles, others prefer youtube videos, others prefer video courses….what about you? Then plan your study times. An hour every day is fine. It’s also okay if you choose to learn for longer hours, you can adapt to learning techniques that can make you productive throughout your study session.

Practice as you learn. Software development needs extensive hands-on practicality. The more code you type, the more programs pass/fail, and the more you experience, and the more you learn.

Be consistent in your learning and practice, that is how mastery is manufactured.

4. Learn with a team

“Talent wins games, but teamwork and intelligence win championships.” — Michael Jordan

Teamwork teaches essential communication and social skills, such as active listening and effective speaking. When working as a team, you learn how to listen and participate effectively. With a team, you learn how to listen to one another and share opinions in order to function as a cohesive unit.

Teamwork is a very important soft skill in the work environment, and also one that needs a little extra effort when studying/working remotely.

5. Explore Developer Spaces

“My idea of good company…is the company of clever, well-informed people, who have a great deal of conversation; that is what I call good company.’

‘You are mistaken,’ said he gently, ‘that is not good company, that is the best.”

― Jane Austen, Persuasion

There is a world beyond your study circle, where people learn about more interesting and complicated stuff that you too will enjoy. Won’t you like to join them?

When normal people meet in TikTok to dance, we gather in TechTok to have fun. TechTok is a collection of TikTok content created and managed by people in technology like me and you.

Another place to meet with devs is in TechTwitter hashtag. Which is just a timeline of tech tweets. It is through Twitter that I met wonderful personalities like Eddie Jaoude (the GitHub Star), Danny Thompson, Kacie, etc who I have learned so much from.

There are also open Discord Servers and Slack workspaces that you can join to network with other devs.

6. Reflection

“Anyone can give up; it is the easiest thing in the world to do. But to hold it together when everyone would expect you to fall apart, now that is true strength.” — Chris Bradford

After a period of you following your journey map to learn and practice, take some time and look at your progress. Are you improving? Are you enjoying the learning? Are you heading in the right direction towards your end goal?

It is important to award yourself if your progress is impressive. If it is not, you can take this time to amend your plans and make the necessary changes that can help you improve. Seek advice from a mentor or peer if you see necessary.

7. Problem-solving projects

“The people who built Silicon Valley were engineers. They learned business, they learned a lot of different things, but they had a real belief that humans, if they worked hard with other creative, smart people, could solve most of humankind’s problems. I believe that very much.” — Steve Jobs

Knowing a certain concept/framework/language is not enough, the real test is to implement the knowledge in a project. Continuously test yourself by building real-world programs, games, and solutions however dumb or useless they may seem. E.g building a tic-tac-toe web app will teach you a lot of CSS and JavaScript that you couldn’t have learned better as individual concepts.

8. Teach others

“If you want to master something, teach it.” — Richard Feynman

Beyond improving your ability to learn the material, teaching others can also lead to additional benefits, such as improved communication skills, increased confidence, and improved leadership ability. Here is a study conducted to prove this.

9. Update & Upgrade

sudo apt-get update && sudo apt-get upgrade

Most developers use Linux operating system. Why do they periodically update and upgrade their packages? Software updates provide new and improved functionality while addressing existing issues, such as bugs and crashes.

As a developer, you also need to update and upgrade yourself with the latest frameworks, improve on your weak points, and refurbish your skills. This culture will keep you fresh in the market for the long run.

I hope the tips I have shared help you become a better software engineer.

Till next time, happy learning :)

--

--