Original Post on MentorCruise.com
Development is one of the most exciting and interesting fields to break into. It provides a constant feeling of having learned so much, and yet still having so much left to learn!
To help you move from where you are today to where you want to be tomorrow, we've gathered eight tips designed to help programmers improve their development skills and make measurable progress.
Let’s dive in.
This is a must for any skill you're trying to develop (pun intended). If you want to get good at something, it has to become a daily habit — a routine you don't skip. This commitment provides you with two critical benefits.
First, ‘practice makes perfect’ as they say. All of those hours of development add up fast, and before you know it you’ll have projects, knowledge, and languages firmly established in your figurative tool belt. This experience is essential to hone your craft and land exciting jobs.
Second, and equally important, developing every day will make you feel like a developer. You will quickly stop feeling like a "wannabe" — seeing yourself as the real deal instead. This will boost your confidence and feed your motivation.
So how much practice should you make space for?
Aim for one hour each day. It's ok if you fall short, but one hour should be your goal.
When you're spending all those hours tapping away at your keyboard, it's important that you enjoy what you're doing. This is also rooted in association: if you always feel bored or frustrated when programming, how do you think you’ll feel when you make development your job?
If your few first steps towards professional programming are laborious and unpleasant, you’re on a path to burning out before you've even had a chance to begin!
To avoid this, pursue areas of development that get you excited, that you have ideas for throughout the day. These will be the things that carry you through the inevitable low moments — the days when you wonder "Is this really what I want?" These feelings of doubt are unavoidable for most people. But the more positivity you have to reflect on, the better chance you'll have at succeeding with development.
Plus, you'll improve the development skills that you genuinely care about, which is the substance of fulfillment.
Open-source projects are a great way to flex your development muscles. Most open-source projects use pull requests and code reviews to ensure quality, so unless the project moderators aren't paying attention, you should be able to make positive changes to a project without bugging it up.
If you're not sure where to find an open-source project, start by looking at the software you already have on your computer. How many frameworks, tools, apps, CLI programs, etc, do you use that are open-source?
Odds are, as a developer yourself, you have access to at least a handful of open-source programs. Figure out how to contribute to them and start brainstorming some ideas. Even if your change requests are denied, you still learned something along the way.
For those who don't use any open-source software or simply don't have any ideas, this website curates open-source project tasks that are beginner level. So that's one problem already solved through the magic of development. Go solve more!
As a developer, you're going to be introduced to unknown tools, routines, workflows, frameworks, VCS's, IDE's, etc, — especially if you’re freelance or self-employed. Either the client will request it, or the project will demand it.
Development tends to create a personal bond between the programmer and their computer — a relationship that lay-people don't really understand! You know how your computer works and can make it work for you. The way you work is often highly personal, based on your preferences and opinions — changing those routines can be unsettling, to say the least.
However, being comfortable with multiple different work structures, formats, and tools will make you more adaptable and desirable for employers.
The more tools you know how to use, the less likely it is that someone will ask you if you can do a certain project and you will reply "I'm not sure," or "I guess I can make it work."
Don't hesitate to step out of your comfort zone — that’s how you improve your web development skills!
There’s a lot to be gained from picking up a book — even when you work in tech!
The length and detail of a book allows the writer to reach a depth that can't be found on Codecademy, in an article, or a YouTube video. No matter what level of developer you are, you have something to learn from nearly every programming book out there. And if you're self-taught, there's hardly any better method for learning aside from practice and mentorship.
Looking for a book recco? Practical Object-Oriented Design In Ruby is a great place to start. There are design concepts in this book that branch way beyond the programming part of development, helping you be a better creative thinker on the whole.
"Design is more the art of preserving changeability than it is the act of achieving perfection." - Sandi Metz (author of Practical Object-Oriented Design In Ruby)
Though it's important to practice things in programming that you enjoy, it's just as important to seek out challenges that you haven't yet tackled. This will force you to learn new skills and try out new ideas that will immensely benefit your career.
Build something that relies on a tool or technique you tend to struggle with, try out a new language, or build something that you would normally use a framework for without a framework.
If you've been developing for a while, you've likely encountered different coding styles. Your style is where you get to show a bit of personality in the way you code, and it's a great thing to hone if you want to spark your inspiration in an area of coding that is sometimes overlooked.
Learning different coding styles has several benefits. One, it'll teach you how to better structure your code, which is great for improving your design. Two, it'll become easier to read other people's code. And three, you'll start to develop opinions and habits with your code that deepen the relationship between you and your projects. Nice!
Lastly, any new, up-and-coming, or improving developer should seek out a more experienced programmer to act as a mentor. Developers tend to be some of the best and most willing mentors, as they've spent so much time learning from others.
You can find mentors in coding clubs and programs, in online communities like Reddit and Twitter, or in places where mentors congregate, like MentorCruise. Having a mentor will not only provide you with honest and direct feedback on your projects, but it will also give you insights into the inner workings of the industry, how to network, and how to find your path to a career in this ever-evolving field.
Programming and computer science is an exciting field — one that’s as challenging as it is rewarding. For better or worse, this can leave many developers feeling like a perpetual beginner; always trying to keep up with the latest piece of knowledge.
No matter where you are in your development journey, these tips will help you practice your craft and push yourself even further.