Looking back on my journey to become a self-taught Software Engineer, it feels surreal to think I have made it as far as I have. I recall a time when I thought I would never learn how to code! Today, I’m building full-stack applications, working with professional development teams, and helping others become better software engineers.
It doesn’t matter if you are a novice or an advanced Software Developer, everyone can improve their skills. In fact, if you want to become a rich Software Engineer and build the best software possible, you need to be the best possible Software Engineer you can be!
That’s why, in this article, I want to share with you 7 tips that have streamlined my learning process and will surely make you a better programmer too.
So with that out of the way, let’s begin!
Tips To Become A Better Software Engineer
1. Code Consistently & Challenge Yourself
I know this is obvious, but practice makes perfect. If you want to be the best software engineer you can be, you need to practice consistently! No one has ever become good at a skill without putting in consistent and conscious effort.
So what should you be coding to become a better software engineer? Pretty much anything that you haven’t done before and you think will be challenging. Here are a few categories to get you thinking:
- Build your own coding projects from scratch
- Solve coding problems from online coding platforms
- Contribute to open-source projects
In fact, if you want to become a great software engineer, you should probably be doing all of these things.
If your GitHub commits looks like this, you’re probably doing something right!
However, I know it’s not always possible to code every day. We all have lives, jobs, and people who are dependent on us. Just do what you can and realize that the more effort you put into your skills, the more you will get out of your time!
2. Read Books
Reading books has become my favorite way to learn about foreign programming concepts and technologies. Seriously, I think it changed my life. The benefit of reading a book is that it gives a holistic view of a given topic; while also building upon itself in an intuitive and easy-to-follow manner.
Don’t get me wrong, there is nothing wrong with Googling or using chatGPT to find an answer to a given problem. It just doesn’t give you a solid foundation for an entire topic.
Even if I don’t fully grasp a concept within a book, it is usually enough to know that it exists. That way, when I am faced with a given problem, I can go back and research more about that topic.
So if you know you will be using a programming language or technology often, investing time now in reading a book with save you a lot more time and headaches in the future! Even if it’s a little nerdy to read [just kidding].
Remember that books become out-of-date pretty quickly. It is important to only read books for topics that don’t change often or that have been updated. For that reason, I don’t personally read books on frameworks or modern rapidly-changing technologies.
3. Learn To Take Breaks
Getting stuck on problems is a simple fact of life as a programmer. Becoming a better software engineer means making a habit of taking breaks when that inevitable bug that makes you want to cry shows up in your code.
All too often as developers, we will get stuck on a tricky bug and instead of taking a step back, we narrow our focus deeper on the issue. Although this can lead to eventually solving the problem, often what a solution really needs is a fresh mind working on it.
After a short break, you will usually find that a solution may just come to you. More importantly, it should allow you to see things from a different perspective. Giving you a solution that is better thought out than what you could have come up with when you were hyper-focused on the specific issue.
Learning how to let go of when you’re struggling and rest your mind is critical to overcoming difficult obstacles and becoming a better developer. As most can attest, this is also a lot easier said than done. Especially if you’re as stubborn as I am!
Just try to remember, sometimes the best thing you can do is nothing at all.
4. Get Coding Mentors
One of the best ways to improve as a developer is to simply surround yourself with great developers. By making friends with experienced developers, you can ask questions, gain insights into the way they approach problem-solving, receive tips for productivity, and hear their points of view on different topics in programming.
Having a more experienced developer read your code can also be a great way to pinpoint weaknesses in your abilities and find areas of improvement. Although this can be nerve-wracking and discouraging, understanding where your skills fall behind is one of the best ways to improve as a programmer.
How To Find A Mentor
Finding a mentor can be difficult. The number of beginner developers far outweighs the number of experienced ones. So it’s not always possible to find someone that can show you the path to greatness.
1. Junior Developer Roles
The best way to get consistent help is with a junior development role. Where you will be working alongside experienced coders that have been working in the industry much longer than you.
This is likely the easiest way to befriend developers better than you because you will see these people daily, can ask them questions on work projects, and will likely be involved in some pair-programming projects with you.
If you’re self-taught and don’t know how to get a developer job, check out this resource.
If you aren’t skilled enough yet to get a junior developer position, a more readily available resource is YouTube. YouTube allows easy access to experienced developers that have a big following. Andy Sterkowitz and Clément Mihailescu are two accounts I see often but there are many out there if you look around!
However, do note that virtual mentors like these are not always the greatest alternative. You will lack the ability to ask direct questions, and it is hard to know if they are always being truthful or simply trying to sell you something or get more viewers. However, when no other alternative exists, you can learn a lot from guys like these!
Additionally, if you want a slightly better option, you could check out Udemy. This site is like YouTube, but the site features higher quality videos aimed to teach beginner-intermediate learners new languages and technologies.
If YouTube doesn’t have great resources on the courses you want to learn, Udemy probably will.
5. Stay Up To Date
Software development is an incredibly fast-paced industry. If you’re not careful, it can be easy to fall behind on everything that’s happening.
Becoming a better developer doesn’t mean following every new piece of technology that surfaces. That would be difficult and unbeneficial. However, it’s important to at least know the trends and general direction that the industry is moving in.
What’s the best way to stay up to date on everything tech? Well, there are plenty of podcasts, youtube channels, news publications, and newsletters that exist for this very purpose. Like thecodebytes newsletter!
My advice is to do some googling on the pockets of programming that interest you. Whether it’s web development, web design, database administration, game development, or machine learning. Then find the sources that fit your career path and consume the media that interests you most!
6. Dissect Source Code
Learning how to read and identify the benefits and drawbacks of certain styles of writing code will improve your coding abilities in many ways.
As a developer, you are always reading other people’s code. Whether it’s code written on Stackoverflow, YouTube tutorials, GitHub repos, at work, etc. Making a habit of analyzing what is good or bad about a piece of code will push your boundaries as a developer and give you a more critical eye on your own projects.
The idea here is to get in the habit of analyzing code you come across in the wild. As you will come across it often and it does not require extra effort to search out. If you still want to find good source code, look for code that has gone through multiple code reviews from large companies.
Google or any company in
FAANG MAANG is a good fit for this. You can find open-source Google projects here. If you are too lazy to find a project, here is a link to their Kubernetes project on GitHub.
7. Staying Positive & Not Giving Up
The last piece of advice I can give you is to stay positive. Becoming a better software developer is a long and daunting path. One that is filled with a lot of ups and downs. While the highs can be great, you’ll have more than your fair share of days that you hit your head against your keyboard and question your life choices. We all do.
What’s important to remember through the lows is that everyone who tries to improve themselves will face days where they feel they are moving backward or are staying stagnant.
It’s critical to ignore that voice in your head that says “You can’t do this”. Ignore that voice long enough and one day you will look back and realize you are actually way more proficient at what you do than in previous years.
The days you doubt yourself will get fewer and farther between and you will spend more time doing what you love without fear of not being good enough at your craft. That much I can promise you!
Frequently Asked Questions
Is It Hard To Be A Software Engineer?
No, becoming a software engineer is not hard. Assuming you’re giving yourself adequate time to learn, using the right resources, and challenging yourself, software engineering is actually quite easy. People usually think that software engineering is hard because they set unrealistic goals for themselves and give up too soon.
You can find more information about why Software Engineering is easy here.
How Do Software Engineers Stay Up To Date?
Once you master the fundamentals, there is little benefit to trying to stay up-to-date on everything as a Software Engineer. It just isn’t possible or worth your time. If you are coding consistently, you will naturally run into new technologies and learn how they fit into the developer ecosystem.
Biased opinion, but I also like thecodebytes newsletter too!
So that’s about it! 7 tips that will help you become a better Software Engineer. Remember that, above all else, determination and a passion for programming will take you farther than anything. So go out and start coding now. It’s the only way to become great.
If you are struggling to learn how to start your own coding projects, this article may help.
If you are looking into becoming a web developer but don’t know where to start, check out this article.
Want to hear some ways to make passive income coding? You should check this out.
As always, good luck & happy coding!