
Tips for Juniors: Building Good Habits
- Transfer
This set of tips is designed for juniors, but can be useful for any developer who is interested in cultivating good habits. I try to constantly set myself difficult tasks and leave the comfort zone, here you will find a squeeze from my experience in the form of tips for every day. In turn, you can offer me ideas that are not listed here - I strive to constantly improve my techniques and grow above myself.

So let's get started.
Technology Overview - these are actions to keep abreast of innovations in your sector. You can’t say much about this point, but, in my opinion, it illustrates well how simple reading can help you in self-education. Even if you do not fully understand the topic of the article and do not learn how to do the hocus pocus to which it is dedicated, you will at least be aware that this happens at all. And this is very important.
Now the Web is full of services and tools that are designed just to keep us informed. They are worth using, they can become the main source where you will apply for the latest news and new ideas daily, weekly or monthly.
Tools like NetvibesAllow you to save time by combining all your sources that you selected for a technology review into a single stream. I would also advise taking special time (for example, on Mondays and Thursdays) for viewing feeds and reading materials, rather than trying to keep track of the news constantly.
Here are some of the sites and forums that I read every week:
However, if you use such content aggregators, try to focus on those technologies that you need in your work. With them it is too easy to distract and start jumping from one to another. Yes, yes, this last article about the new cryptographic ICO is just a bomb, but do you work with cryptocurrencies yourself? Focus.
You can find excellent sites, resources and experiments with the code on the following sites:
But the point here is not to look at them and say: "Well, I can never do that." Ask yourself how you would realize all this magic, try to understand what tools were used for this. New technology, new library in JavaScript, some CSS property unknown to you? We live in a world where new solutions arise every day - the educational process simply cannot be kept up with.
However, I recommend that you do not stop at just delving into the process - try to repeat it, make a detailed explanation of how it works. The general rule here is this: if you could teach someone else how to do this, then you have mastered the topic.
Last year I spent a lot of time changing my workflow; among other things, I sorted out a lot of sites into components and thus studied how talented developers built them. Thanks to all these steps, I can combine different methods in my work and discover good practices for creating websites. And that brings me to the next thought ...
Usually, when you get a job as a junior in a company, you are given mentors by one of the leading developers: he looks at your code, creates a list of tasks for you and ensures that you do not drop the database. Feel free to ask questions to learn from them as much as possible. Ask to show how they did that cool thing on the last site they launched, or the mega-component that made the whole team easier on their lives.
And most importantly: do not be afraid to ask questions that seem dumb to you. We all start a career with a different level of knowledge, so it’s quite natural for you to ask about things that seem elementary to another. And the answers to these questions will probably help you for many more years.
Another good way to learn from the best is code inspection. If it’s not customary for you to regularly read someone else’s code, try to become the person who implements this practice. Do not hesitate to ask other team members to review your code and say what can be done better in it. Listen to their comments. Join the discussion. Explain why they did as they did, and not as they suggest. The exchange of opinions, discussions and the adoption of strengths from each other is probably the healthiest way to self-improvement.
Yes, I understand you have heard this advice a million times since you started writing the code - on the Internet, from superiors, from teachers, it is possible that from your dog. The meaning of commenting is not only to make the code easy to understand (both by other developers and by yourself in the future) - it also encourages you to think about a function before writing it, to determine its purpose. And only one.
Refrain from creating multiSuperTaskFunction ().
Say, for example, you started writing a function that would manage the ecosystem of the planets. If you have a habit of writing comments on code, you will not hesitate to break the code into a sequence of several functions, each of which will be responsible for a specific task.
The principle of dividing functions into small fragments helps to catch bugs faster. It also makes it easier to separate specific elements that can later be used in other projects (modular components). Finally, the code will become much easier to read and you won’t have to hide from sight when you give it to someone to look.
However, if you rely on everyone except yourself, you will not be able to improve or gain confidence in yourself. That is why it is important to return to your messy code and put it in order. N [and in my opinion, this is even more valuable than developing some new feature. So the next time when the product manager asks you what kind of unpaid tasks you spent five hours of work, feel free to answer: "I refactored the code."
When this or that piece of code is written haphazardly, usually there is some good reason behind it. But the excuse for not taking the time to fix things is much harder to find. An unstable section in the code will always hang over your head, like a Damocles sword. Reviewing the code, unraveling complex functions is, of course, a lot of work, but doing the same thing in record time, because some kind of bug was activated when the product was already pumped out is even worse.
Better not to rush and properly delve into your mistakes. This will save you a lot of time, nerves and mental health in the long run.
In terms of?!
Having started programming, I realized that one of the most valuable way to rise to a new level is to go through a number of failures. Believe me, it’s almost impossible to avoid some mistakes, and this is a completely normal situation.
Have you ever prescribed the same function in a project five times? And here I am, more than once or twice. But thanks to the fact that I faced such a situation and developed a certain model, this does not happen again.
So do not be afraid to make mistakes. You will repeat them more than once, but over time this will happen less and less. All of your professional life will have to replenish your knowledge base and adapt to changes in technology, but this is the beauty of our work - every day you learn something new.

So let's get started.
1. Review technology as often as possible
Technology Overview - these are actions to keep abreast of innovations in your sector. You can’t say much about this point, but, in my opinion, it illustrates well how simple reading can help you in self-education. Even if you do not fully understand the topic of the article and do not learn how to do the hocus pocus to which it is dedicated, you will at least be aware that this happens at all. And this is very important.
Now the Web is full of services and tools that are designed just to keep us informed. They are worth using, they can become the main source where you will apply for the latest news and new ideas daily, weekly or monthly.
Tools like NetvibesAllow you to save time by combining all your sources that you selected for a technology review into a single stream. I would also advise taking special time (for example, on Mondays and Thursdays) for viewing feeds and reading materials, rather than trying to keep track of the news constantly.
Here are some of the sites and forums that I read every week:
However, if you use such content aggregators, try to focus on those technologies that you need in your work. With them it is too easy to distract and start jumping from one to another. Yes, yes, this last article about the new cryptographic ICO is just a bomb, but do you work with cryptocurrencies yourself? Focus.
2. Look at and disassemble cool sites
You can find excellent sites, resources and experiments with the code on the following sites:
But the point here is not to look at them and say: "Well, I can never do that." Ask yourself how you would realize all this magic, try to understand what tools were used for this. New technology, new library in JavaScript, some CSS property unknown to you? We live in a world where new solutions arise every day - the educational process simply cannot be kept up with.
However, I recommend that you do not stop at just delving into the process - try to repeat it, make a detailed explanation of how it works. The general rule here is this: if you could teach someone else how to do this, then you have mastered the topic.
Last year I spent a lot of time changing my workflow; among other things, I sorted out a lot of sites into components and thus studied how talented developers built them. Thanks to all these steps, I can combine different methods in my work and discover good practices for creating websites. And that brings me to the next thought ...
3. Learn from more experienced ones
Usually, when you get a job as a junior in a company, you are given mentors by one of the leading developers: he looks at your code, creates a list of tasks for you and ensures that you do not drop the database. Feel free to ask questions to learn from them as much as possible. Ask to show how they did that cool thing on the last site they launched, or the mega-component that made the whole team easier on their lives.
And most importantly: do not be afraid to ask questions that seem dumb to you. We all start a career with a different level of knowledge, so it’s quite natural for you to ask about things that seem elementary to another. And the answers to these questions will probably help you for many more years.
Another good way to learn from the best is code inspection. If it’s not customary for you to regularly read someone else’s code, try to become the person who implements this practice. Do not hesitate to ask other team members to review your code and say what can be done better in it. Listen to their comments. Join the discussion. Explain why they did as they did, and not as they suggest. The exchange of opinions, discussions and the adoption of strengths from each other is probably the healthiest way to self-improvement.
4. Never forget to write code comments
Yes, I understand you have heard this advice a million times since you started writing the code - on the Internet, from superiors, from teachers, it is possible that from your dog. The meaning of commenting is not only to make the code easy to understand (both by other developers and by yourself in the future) - it also encourages you to think about a function before writing it, to determine its purpose. And only one.
Refrain from creating multiSuperTaskFunction ().
// I don't know Rick
mySuperFunctionAddRemoveCreateEarth( $string, $purpose1, $bool) {
$var1 = true;
while($var1) {
addNewHumans++;
} else {
heregoesnothing();
}
}
Say, for example, you started writing a function that would manage the ecosystem of the planets. If you have a habit of writing comments on code, you will not hesitate to break the code into a sequence of several functions, each of which will be responsible for a specific task.
/*
* Handler to create the planet system
*/
Class Planet {
public $name;
/*
* Set the name of the instancied planet
* @var STRING $new_name Contain only a string to name the planet
*/
function set_name(string $new_name) {
$this->name = $new_name;
}
/*
* Function to access the name of the planet
* return STRING $this->name Contain only a string with the name
* of the planet
*/
function get_name() {
return $this->name;
}
}
The principle of dividing functions into small fragments helps to catch bugs faster. It also makes it easier to separate specific elements that can later be used in other projects (modular components). Finally, the code will become much easier to read and you won’t have to hide from sight when you give it to someone to look.
5. Heal Yourself: Refactoring
However, if you rely on everyone except yourself, you will not be able to improve or gain confidence in yourself. That is why it is important to return to your messy code and put it in order. N [and in my opinion, this is even more valuable than developing some new feature. So the next time when the product manager asks you what kind of unpaid tasks you spent five hours of work, feel free to answer: "I refactored the code."
“Code refactoring is a technique of deliberate improvement of building an existing code base. It consists in implementing a series of small energy-saving changes, each of which individually "is not worth it to waste time." However, the cumulative effect of these changes is very significant. In stages, by introducing them in small portions into the code, you reduce the risk of errors. ” - Martin FowlerIn a nutshell: try to regularly inspect your code and make improvements that do not affect functionality. Make it faster, tidier, more readable, more modular. I do it this way: I note for myself some piece of code for which I do not feel much pride or which I had to write in a hurry because of deadlines, and after a couple of weeks I return to it.
When this or that piece of code is written haphazardly, usually there is some good reason behind it. But the excuse for not taking the time to fix things is much harder to find. An unstable section in the code will always hang over your head, like a Damocles sword. Reviewing the code, unraveling complex functions is, of course, a lot of work, but doing the same thing in record time, because some kind of bug was activated when the product was already pumped out is even worse.
Better not to rush and properly delve into your mistakes. This will save you a lot of time, nerves and mental health in the long run.
6. Make mistakes
In terms of?!
Having started programming, I realized that one of the most valuable way to rise to a new level is to go through a number of failures. Believe me, it’s almost impossible to avoid some mistakes, and this is a completely normal situation.
Have you ever prescribed the same function in a project five times? And here I am, more than once or twice. But thanks to the fact that I faced such a situation and developed a certain model, this does not happen again.
So do not be afraid to make mistakes. You will repeat them more than once, but over time this will happen less and less. All of your professional life will have to replenish your knowledge base and adapt to changes in technology, but this is the beauty of our work - every day you learn something new.