Becoming a (good) developer
Hello again. In this post, I will walk you through the topics which might be helpful to support your goal to become a good and successful developer.
This post assumes you are already at least an entry level developer regardless of the programming language.
So, let's dive into the concepts to become a good developer.
Learn the core concepts
The core concepts of programming in general is helpful no matter which programming language background you are from. Learning the core concepts of the programming in general or for a specific programming language can help you boost your confidence, and it can also leverage your skills on how you can approach to a problem by simply applying the concepts.
For example, if you belong to the php programming background. You should checkout its core concepts, like, data types (variables), conditional statements (if/else/else if), control statements (for/foreach/while/do..while), OOP (Object oriented programming) concepts. Object oriented programming concepts are similar for most of the programming languages.
So take this seriously, take time to learn about the programming language you are engaged into.
For new developers, this point may seem like, what the hell. Why should I read code while I should be typing it. But, reading code is a good practice to improve your skills and is followed my most of the experienced developers.
Where should you read the code ? Github....😊.
As a developer you might have used some kind of library. Is it worth studying the library ? Of course. Go ahead and check the code of any library you might have used. You may be surprised what approaches can be used to solve a problem differently. By reading others' code you can learn new techniques to acheive something more efficiently. Bonus, you can undestand how the library works, which at some point of time is useful, because as a developer you may need a customized solution with some functionality of a library.
If you are going to work on an existing project, take it as an opportunity to read the code someone else has wrote. Reading code is a good practice and should be considered important on your journey towards becoming a good developer.
P.S. Learning by mistakes is a good thing, and learning by others' mistakes is even better. Reading others' code can help you avoid the mistakes they might have made.
Write readable code (well)
Along with reading the code of others, it is also important to write the readable code.
How can I make my code readable ?
- Use appropriate names for variables, methods and functions.
- Split each method and function so that each method have single responsibility.
- Splitting method per responsibility can also help in implementing DRY (Don't repeat yourself) concept.
- Avoid concurrency. (Don't write code that works in the same way for different places, instead make a single place more capable and responsible for the task).
- If you are going to create classes which in core have the same architecture but corresponds to different entities create an abstact class for them instead of creating the classes with same properties and methods.
- Create trait classes if you are attaching functionality to more than one class.
The points above are the core ideas, it may differ from the view point of the programming language you might belong to, but every programming language have support for writing code using these approaches.
Why should I write readable code ?
No one would like to work on the code which can not be understood. Even you will curse the developer who might have wrote code that is not readable. So the sake of the art of development, write code that is readable and understadable, so that anyone can undestand your code and can start working on it asap.
Learn techniques, not tools
Tools help you to find your way around the problem, but techniques will always stay besides you no matter what tools/programming language you use. Tools come and go. It is good to get familier with the tools you use but don't rely on them.
Where can I learn techniques ?
Out there, in this open source world, there are plenty of implementation in libraries, projects of different techniques. Read code, find different techniques inside them. Here, above discussed point Read Code makes more sense. Follow good developers on Twitter, follow blogs which publishes this kind of articles.
Learning is a never ending process, but ultimately it makes you better overtime.
Share the knowledge
Are you afraid of forgetting the concepts you might have learned ? Here is my tip for making them permenant part of yourself.
Sharing what you know.
Teaching what you have learned to other developers is a good practice. Teaching is a process where your mind needs to be precise. And don't take it as a responsibility, but take it as a goodwill of your knowledge. The knowledge you have aquired was ultimately shared by someone else. So act your part. Share what you have learned.
Sharing your knowledge makes the learned concepts concrete. Teaching process needs clear knowledge of the concept you are going to teach. So your mind automatically does the process of clearing the concepts if it were not already before you teach it to someone else.
Take responsibility of your work and/or your teams' work. If there has been some fault because of you, take responsibility of the fault. Rectify your mistakes and resolve them.
This is a very important process, beacause taking responsibility of your mistakes, and resolving them will make you more vigilant before making similar kind of faults/problems, also you will have a solution if you have already resolved similar kind of problems.
This process will also make you more confident. Also you will be in possesion of new wits with each mistake. 😇
Being a (good) developer is not a milestone, its a process. You have to stay with the principles whichever helps your become better, either some from this article or from anywhere else.
Let me know, if I have missed anything in the comments.