How I coach developers to become great Software Engineers in the shortest time possible
After coaching and mentoring Software Engineers for over 20 years, I tend to have a knack for ensuring Software Developers become as good as they can be in the shortest time possible. Running my Software Development consultancy as efficiently as possible relies on it because I need the new developers and trainees to get good quickly so that they can start contributing as soon as possible.
All of the individuals I have mentored up until now would agree on how invaluable the tips and information I share with them was. They have gone on to advance greatly in their Software Engineering careers and that is a testament to the solid foundation they had while I trained them.
Most of the training I delivered can be summed up in a few key points to focus on. It takes time and practice, but following the correct steps from the start ensures you continue on the right path to achieve your Software Engineering goals. Here are the tips I give to all my mentees:
The newest programming languages such as Swift, Kotlin and Go simplify the job of a developer to help them be more productive even without having to know any of the low-level stuff like memory management. This is why I find fewer and fewer engineers are understanding their language in-depth the way they need to.
The more you understand the language, the more efficient you’re coding becomes, and the better you can make the software that you write perform. It also prevents you from encountering those head-scratching moments because of a unique feature in the language that you didn’t fully appreciate. Every programming language has its unique quirks, such as weird syntax, unusual functionality, or non-standard implementations. These things can act as a real stumbling block for developers new to the language, or even seasoned pros. Learn that language inside out and you will avoid all this.
My advice is to take some time and watch some videos, read the manual, and even learn the short cut keys for doing repetitive tasks. Tasks such as opening a particular file, or refactoring code. If you know the shortcut keys you become so much more productive because you can get a particular task done in a lot less time.
Don’t feel embarrassed to ask colleagues about how to do something either. Pride is the greatest killer of a software engineer’s joy. Spend the time upfront and it will save you much more time later on down the line.
You may have experienced in the past being stuck on a problem for hours. You eventually solve the problem by coming up with a creative but complex solution. Then you find out later that you could have achieved the same thing with a few lines of code because the framework has it built-in already. Facepalm!!
If you have any kind of feeling that there is a better way to solve the problem before you start bashing out code. Have a read through some SDK documentation. You’ll probably find someone has already done the hard work for you and saved you some sleepless nights. Or is it just me that loses sleep over their code? Hmmm
Instead, you could start your own project part-time or find another interesting project on Github that you could contribute towards. This will ensure you keep learning and keep developing in areas where you need it the most.
It also means that if there are any funs bits of the SDK, new frameworks, or new language features that get released, you have the freedom to explore them without getting bogged down if you are doing it correctly or not. You simply get to practice and have some fun with it.