How to be a junior front-end developer and not to go mad

 Hi!

I am Vlad, and I am a junior developer in CSSSR, a web production company specializing only in front-end. Today I would like to share my experience of being a junior and the ways to keep your motivation level high no matter what. A year ago, when I just started, I would love to read an article with the same topic, so I hope it will be interesting for everyone from “I have no idea what I am doing” to “I can write code almost independently”.. Let’s go!

Do not compare

Freshmen tend to compare themselves to their younger (or those of the same age) colleagues who are already more productive and knowledgeable. This is the most pointless thing one can be engaged in. A much better idea is to watch your own progress and compare yourself to a person you were the day before. If you note that now you can do something unthinkable earlier, it means you grew and should be proud of yourself.

 

Do not get distracted

How often does something like this happen: you start with studying grids, then open a new Youtube course on Gulp, notice a tweet on a new JavaScript library? PHP basics, tutorial on Ruby on Rails, new React course…

In the end, we get a person who knows a bit about everything, but does not have a full understanding of anything and is not able to deliver any results.

A detailed study plan would be the best solution. You do not have to stop reading news, but instead limit the amount of your attention towards them.

Usually the plan looks like this: high-quality adaptive layout, the whole ES 2015 theory, a bit of jQuery, one or two popular frameworks. It is pointless to run after the latest fashion and study e.g. the React. These guys will tell you why.  

Be ready to make (a lot of!) mistakes

You are going to make mistakes, plenty of them. Recently I have ruined a repository where a week-long teamwork was stored. Just try to imagine how “happy” I was. Fortunately, my colleagues have managed to easily restore the whole thing.

Best you can do if you have a problem is:

  1. Not to keep silent. Confess for making a mistake and tell as many details as you can, especially what you were doing and how you have made it. Everybody makes mistakes in their career, there are no exceptions from this rule.

  2. To learn a solution in details. Replicate the problem and the solution in a test environment. Remember, it is not a shame to do wrong, it is a shame not to learn from it.

  3. To tell your problem, e.g. in a form of a blog post. This way you will remember the case yourself and would probably save someone else’s job.

 

Do not panic

Once again: keep calm, relax. All the good developers I know are as calm as a millpond. Deadlines, problems, difficult bugs, and overnight coding shifts are inevitable. Panic only causes distraction and postpones a clear action.

 

Learn from others

You’ve created several lines of a code, laid out a gorgeous page. You feel like printing it and hanging it on your wall to see it every day. But then  a senior developer came and refactored the code so badly that you virtually feel like killing him. Do not even try. Instead, be grateful to him for finding some time for a review. Study his comments attentively, make sure you fully understand them. Do not hesitate to ask him for clearing your doubts and his choice of a particular solution. Do not be shy in expressing your own concerns and ideas: this way you will let him understand your way of thinking and point out your mistakes. Sometimes you might even prove you were right, and it feels like heaven then. :)

 

Plan everyday tasks

Plan certain tasks finishing which will make you feel satisfied by the end of a working day and will not let you criticize yourself. Choose tasks which are solvable, but not easy, and you will forget about being sorry for a useless day. If you do nothing apart from your work, your learning progress with slow down. Keep learning or the industry will overcome you. Best practices from some years ago are now considered to be an antipattern.

 

Work on a pet project

You have to work on something not connected to your job: a blog, a plug-in, an open-source project, or a game. Devote only a limited amount of time to it — the limitations will make you work productively, learn, and satisfy your own ambitions at the same time.

 

Cut an elephant into smaller pieces

Let’s be realistic: you will not learn a new framework in a day. It is not possible to become a great developer in a month, but overworking may lead to a burnout. Following routine is the shortest way to becoming a better specialist. Reaching a goal day after day, week after week, with no long breaks is the best approach I have managed to find. Cut a big task into smaller pieces and devote your time to them. Become a JavaScript guru of cycles, study functions thoroughly, and gradually it will lead you to your goal.

 

Time is money

Do not waste it. Stuck with a problem? Forget about spending evenings on solving it. You are not yet skilled enough to have problems even Google has no idea about. Have a daily time span, mine is two-hours long. If you do not manage to come up with a solution within this time period, ping your colleague. If you have not understood a word, ask him for a deeper explanation or go to someone else. Do it three, five times, or as many as you need to get a full understanding of the problem.

 

Get enough sleep

Probably the most known and the least valued advice people get is simply sleep enough. Being a morning zombie, fueled by caffeine is not the way to start a productive day. Two hours before going to bed, turn off all the devices around, avoid any screens. Have a walk, workout — do anything, but do not sit in front of your computer. By night, you lose your concentration and get conscious again in several hours watching stupid Youtube videos or reading your newsfeed. Change the activity if you can. Best solutions I had came to my mind while I was washing up or staying at the gym.

 

Understand how this works

Most specialists would not be able to explain why they are using a particular feature or a library. They just know the code would not work otherwise. Stop curing the symptoms and go deeper to answer the “why” question. The market is crowded with the coders who are not able to explain their solutions for simple tasks.

 

Learn English

If you noticed you could not understand the article, get an English textbook. Do not you want to? Well, great. another junior developer would probably get  the next project.

 

Thank you for reading. I would love to read your comments and thoughts.