Lessons I've Learnt.
Taking a step back to document some of the mental milestones I had to reach to gain better experience in Software Development.
Hello everyone, I'm Nobert. This is my first developer article, hence the intention is to flesh out a writing style that will be comfortable in the future with an audience that is hopefully willing to participate and grow with me. So firstly, thank you for been here. Thus, I'll be throwing a lot of ideas, personal opinions and strategies I use during my development process to receive feedback, critique and also, hopefully, make sure you, my reader, gets something out of it. That's it for my introduction, let's get to it!
This article is simply a documentation of tips, tricks and habits I picked up while trying to start a career in software development. These articles are a tad bit abstracted to also help you understand these lessons can also benefit you in any facet of development or growth.
Let's get to it!
You'll have moments when you feel the clock is loudly ticking, pushing you to do more, be faster, show more output, stand out! While personal drive and ambition are more than okay, Rest and exercise are also very essential. A lot of your output is based on your mental capacity at the time and continuously overclocking your processing units (overworking yourself) will eventually cause wear & tear to your mental and physical well being.
Take regular breaks, walks, stretch, sometimes even calmly sit still while the clock ticks away. You'll find out these moments will give you much-needed clarity & energy that'll only be beneficial to you.
2. KNOW YOUR STRENGTHS
There is a diversity of experience, niches, expertise and field with the development space and making the journey to venture into a career in it (and possibly anything else), should be done by putting your best foot forward.
Know and understand your strengths, try to gather knowledge on where your strengths can be effectively and efficiently applied. Are you a problem-solver? Creatively gifted or very analytical about your process and procedures, there are varying fields that can be the most of these natural strengths so take the time to do your research.
3. KNOW YOUR GOAL
Cultivating your discipline and focus during the initial periods is very essential long term to accomplishing goals and hitting targets. There will always be a shortcut, a better framework, a more suitable programming language etc.
Been able to determine clear goals and objectives, document the steps to achieving those goals and following through with your consistency & discipline will not only benefit your development process but also pay dividends in the diversity of your potential portfolio.
4. BYTE BY BYTE
A very terrifying thought at the beginning of your development process is the sheer scale of what is waiting for you, it still happens to me regularly when I have to contribute or work on larger codebases or projects.
The essential thing to take note of is that every major software, feature or accomplishment wasn't built in a day. It is a continuous combination of bits, meaning that the mammoth of a process you're scared of tackling is simply the sum of small incremental bytes. Essentially, Rome wasn't built in a day, and when in Rome do what the Romans do and that is "divide et impera" (divide and conquer/rule).
5. TAKE NOTES
Learn to take notes, not only do they serve as a physical resource you can browse through and continuously regurgitate concepts and abstractions that would've been hard to understand at first pass. It also serves as a physical testament to the work you've been putting in and the learning resources you've been working on.
6. SWEAT THE SMALL STUFF (AT LEAST ONCE)
You are constantly been bombarded with an overload of information, resources and techniques during your development process. You can fail into the habit of trying to thoroughly research the subject matter beforehand or just a simply StackOverflow query to solve your problem.
It is a good habit to try to understand what's happening, the problem, the need and also the how of solving it at least once. This leaves you with a better perspective of understanding what's happening, what can go wrong and how to properly solve these issues.
7. BUILD/TRY TO FAIL. A LOT
You won't be doing it purposely, at first, but eventually, your process will be moving towards building till fail continuously until you get it right, because you only need to get it right once.
You going to fail a lot, and after a lot of failures, get much better at not failing. You will build your path overcoming one (or more) errors at a time, what a resilient way to live!
8. FIND AND ENGAGE WITH PEERS.
This one is a little personal to me because I'm normally used to an introverted, loner lifestyle, trying to overcome things on my own and living in ignorance, basically. I can truthfully say I learnt more in the first months of developing among peers than the months I had been alone.
An environment that keeps you in a diverse loop of information, tools, experiences and resources is much more beneficial to you than a closed-off approach to development. It'll also serve as a good gauge to understand your progress, ability and strengths through honest feedback.
9. KEEP A BUG LIBRARY.
I read about this one in an article before, it's a nice way to look at your previous iterations, laugh at mistakes and simply admire the progress you've made, how things never change too. Like forgetting the "s" in reducers for your redux slice and struggling for hours to figure out what was going on.
Good times. (rips bug library).
10. MAKE A PRACTICE OF READING DOCUMENTATION & ARTICLES.
Remember the Byte by Byte part? You have access to the sweat and toil of a lot of individuals from a diversity of experiences. Working together to make your development process easier, from libraries, languages, tools, frameworks, IDEs etc.
Take the time to read through the documentation and articles made for these resources you'll be taking advantage of and also leave your own notes, observations and comments where you can to the next person who'll be continuing from the bits you eventually develop.
Thank you for reading till the end. I'll add a bonus note just for you!
SPECIAL LESSON: REST!!! & ENJOY THE SIMPLE THINGS.
Take the time to also enjoy your time, cultivate good habits, hobbies and routines that positively aid and inspire your development process, you'll be surprised by the kind of creativity you can get inspired from in the little or simple things, so take the time to thoroughly experience them too.