HOW TO IMPROVE YOUR SKILLS AS A DEVELOPER
As a developer, your career is a "never ending learning process". You know what i mean by that and if no, let's dive in a little. Learning a programming language is like learning a language, like English language as an example. When we started learning it, we were never fluent until more practices(talking), reading and all that were done and till now we still learn new things(words) from English language. So, also as a developer we are learning a language that is spoken and understood by the computer, we need to keep on learning to be conversant and fluent with the language and this can be achieved only by never stopping to learn. The world we live in also made it compulsory at some points to keep learning due to the rapid evolvement of technologies, it is never enough to learn something once and use for the rest of our life. Learning daily should be the mindset of a developer.
So, how can we stay updated in such a fast paced world;
FIRSTLY, WE NEED PASSION AND CURIOSITY; This is so vital in our world beyond the programming field, this is needed for success and growth in anything that is needed to be done. If anyone ask me, what keeps you going? I will reply by saying passion, without this nothing can be done or anything done will be a waste. This will keep you going, to experiment and look forward to learning without a lot of struggle but a ton of effort.
Passion will be very difficult if not possible to be cultivated, this really deals with what dwells in you(what you love doing daily what you find yourself doing naturally without being forced or compelled to do so). So your best bet is to keep looking for what makes you tick, and when you find it, don't let go.
Curiosity makes you want to know more and learn vastly even beyond expectations, let me put it like this "hunger to learn" All you need is something to spark your curiosity and interest, without stress you will find yourself learning more than your intention! Just start and see how far you go. Never venture into anything you have no passion for, always make sure to love what you do, this will prevent every kind of blame and excuse for venturing into what you do or what you are doing.
MAKE AN HABIT TO READ ONCE A WEEK; Using our example again, while learning English language you needed to read books, if not textbooks, novels and so on. So, speaking(practicing) and reading made us know English more better and faster. So also, being a programmer is beyond coding.
A good programmer is a good reader, I know of a mobile application developer who made a full live design model of an application yet to be made by reading a particular documentation and that was his best work as at then. You have to learn practically and theoretically, without this you can be the best version of yourself. Generally speaking books, has the power to recall things forgotten easily. You can not read a book once at a time it can be very frustrating, you need to take it in bit by bit. Read books based on your field. You can also read the documentations of the language you are learning or you have learnt.
Also, you can devote time to some kind of report, weekly summary, or even subscribe to a newsletter or receive mails that delivers development news and updates.
EXPERIMENT ON YOUR OWN; Referring back to our major example, after attending English classes or lectures and even read books, you experiment what you have been taught by talking in that same English language and this is part of what will make you fluent, it is just a matter of time invested. It is not enough to watch tutorials, take online courses or even read books. Do not do copy and paste, you need to work it out, what ever being taught and never practiced is a waste. If you were taught A, try B, if possible try it to Z, that is what we call learning to perfection, go beyond what you have been taught that makes you outstanding. Let me tell you a little secret, it will be very "hard" to do that but "passion and curiosity" will be the factor to the die-hard consistency. You need to try them and actually get into some problems, because solving them will take you to the next level. Learn techniques not tools, this will bring about progress, success and creativity.
SHARE YOUR KNOWLEDGE; There's a saying: you only understand a subject well enough when you can teach it properly. It doesn't have to be a full course, but sharing your findings verbally or on the internet can push you to learn them better and become an expert. The more you teach the more your knowledge increases. While you try in sharing your knowledge, if not up to standard people will contribute to that and that is a journey leading to progress and perfection. Contributing to open source also helps in the development of skills, using version controls, for example committing to GitHub and other open source communities like Sakai and the rest also helps.
After learning a language and not brushing it up regularly we will tend to forget somethings, so teaching others do refresh our memories.
CONSISTENCY; You will only know and be outstanding if the power of consistency is in place. What you do daily conform to be part of who you are, so if you code daily you are a coder or programmer. If a day on and a day off is the order or the pattern to your learning and practicing..... am sorry it will have an effect either by making you slow in learning i.e things to be learnt in two months will be achieved in four months, it makes one forget all that have been learnt overtime.
As human beings not computers we are prone to forgetting things as time goes on. Be consistent in what ever you do. Be consistent even if the code is experiencing lots of bugs, this is the place where the real consistency is really tested, will you continue? if you go on a walk and a break will you be happy and eager to mount on the computer back to make a difference. Consistency really takes place in the time of hardship..... As a developer, without consistency no project will ever be made. The time spent to code does not really matter but what matters is coding daily. Coding one hour daily is greater than seven hours of coding a day. Never give up, the journey would demand so much.
START SMALL; You've got to start small, I mean you started learning English language yesterday and you want to speak it fluently today. You learnt the syntax only and you want to clone a new facebook, no that's not possible or you want to learn five languages at a time and also want to start using the frameworks at the same time, you would surely mix them up at the end of the day.
You started learning hello world today and you want to build the world tomorrow, am sorry it is more than greeting the world but greeting the world is just a beginning to building it. If you want to build a house you need to build a foundation to have a solid house, so also you need learn, learn and learn before starting anything big. Coding is a gradual process, you need to create time to learn a lot before moving into creating large projects. Kill over-anxiety, it is one of the things that aids and causes this. After learning for a while now, you can now go into the making of dream projects, scaling from smaller project to bigger projects. Yeah, it is very cool to learn than a language this makes you vast and versatile in your field but learn to know a language so well before progressing to the next. This will greatly improve your programming skills.
TIME MANAGEMENT; I already spoke on this in one of my blogs here on hashnode, but I will talk a little on this and refer you to read and learn more from the blog. Time is very essential to everyone, so also developers. Prioritization also is very important, knowing what and when to do what we need to do, this can also prevent procrastination. Apart from being a developer there are other responsibilities we are due to perform and we need high level of productivity in what ever we do. Coding takes time, development of a project is time consuming. So, in order to make good use of the twenty-four hours we have in a day check this out; [Time management as a developer for maximum productivity (chryzcodez.hashnode.dev/time-management-as-..)
LEARNING FROM OTHERS; Learning from others will help you as a developer to be good at what you need to know. You will not get everything from tutorials and books, so that why learning from people especially, a well experienced developer in your field or generally. You can learn from open source communities and also Twitter as a social media is one of the platform where you can learn a lot from a lot of experienced people, i learn things from twitter daily, that's why communication and connection is very key has a developer. The people you follow and connect with has a strong role to play in your journey as developer, that is why i advise people and i also follow people who are far better than i am because learning starts from there. Also, communication counts, no developer is alone or can go alone, you need people to ask them questions concerning what you are learning that you do not really understand, advice on how to start and do a particular side project which they might have had the experience or might have done before. You will learn from their success and most especially their failures so this will prevent us from falling into same mistake and make us better. There are more to learn than knowing how to code as developer because these things helps us to become better in many aspects like how to do a tech startup and so on. Learn to always reach out for help if you do no what to do or you are not sure and even if sure, checkout if others have a better idea than you have.
LEARN HOW TO SOLVE PROBLEMS; I do say, any program that does not achieve the aim of a developer is a bug, why? The work we do as a developer is to solve problem with codes of any language as far as it can be used as a solution, a developer will not embark on coding without a purpose or reason and no developer would also do a project without a reason. Developers and companies do the same thing, they write codes, but the reason why one is greater and successful than the other is because of how essential their solution meets with the problem faced by a very vast set of people who are ready to do all what has been asked of them to experience the reality of the code and the program written. An example of a company which started like this is PAYSTACK you can check a little about them from their Twitter account Paystack Twitter acct or if you want to go deeper you can check their website (paystack.com) , companies like Google, GitHub, LinkedIn, Stack-overflow and even programming language. So being a developer is beyond knowing how to code but knowing how to use the code to solve a problem that is being experienced by people.
LEARN TO STAY HEALTHY; If you are sick, please will you have the strength to code. No, rest is essential and there are times you need stress but not to the detriment of our health, as a developer and a problem solver we must be a good thinker so by that we are stressing the brain and also while debugging. I have heard so well that an eight hour sleep is the best debugger. You shouldn't sleep eight hours every day but once necessary to do so.
Please kindly comment below for feedback and you can also link up with me on Twitter (twitter.com/chryz_codez) for more engaging, motivating tweets and support as a developer.