Hi people, this is my first post on Dev. I have been here for a while, just reading articles, but finally decided to write something.
I am a 3rd year University Student, and I got a chance to work as a Student Web Developer with prime focus on front end, for summer 2020 between Jun, 2020 - Aug, 2020. I made a lot of mistakes and got a chance to learn from the entire team. I decided to share my experience with you, to help you not make the same mistakes that I did.
Be Patient
Funny that this is my first point, considering everyone says this. But I guess its easier said than done. The very first mistake I made was to respond to the offer without asking for anything. I was simply too excited. (Context: The offer came on my birthday).
So, I opened the email, read it and responded instantly with a 'yes'. I did not know what I would be doing, if I would be a good fit and what tools/technologies I would be working with. Right after I clicked 'Send', I instantly thought I made my very first mistake....before getting a job. So I emailed back with some questions and felt more confident once I had some idea of what I would be doing.
The point here is to be as patient as you can with anything. Be calm, not too exited and think before you act, unlike me.
Communication
Interesting point again. Have you heard about communication before?
Communication is so necessary I cannot even joke about it. Ours being a remote first company, communication had to be very important. Unfortunately though, I did not realize that.
Long story short, I wrote 200+ lines of code for a certain UI element for a project I was working on. Turns out, with just a minor tweak (which I learnt after talking to the team), I got to remove 75% of the code, and made the code faster, while also increasing the user experience.
We as developers mostly think that all we need to do in our job is to code. That is 100% not true. So leave this myth today.
Less is more
"Less is more". A senior developer said this to me so very often. I did not realize the importance of this until after I made a couple mistakes.
While this is definitely true for CSS, I found this also to be true for coding in general. Lesser code almost always increases code efficiency, speed, User Experience and (well, its lesser code). Remember, the best code is no code.
Planning and research
This had to be the most important lesson from the 3 months I spent developing. I always want to get to coding, skipping the part where I plan the code and research about the problem more. How many of you do this?
This is not a good path to handle the problems. I solved one seemingly huge problem in just a couple hours after I did my research about it. It probably would have taken more than a couple days otherwise.
This one time, I was trying to think of an algorithm to solve one of our problems and spent ages thinking about it. Guess what I ended up doing after spending hours on it. YES, JavaScript's API had a method that does that all for me. Simple isn't it? All I had to do was look one more step before I decided to do it all by myself, and I did not do it.
Remember this famous quote
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
-Abraham Lincoln
Breaks are important
Sometimes we think its best to code continuously. That actually makes you inefficient. Also a HUGE tip is to take a break when you are having troubles solving something and come back with a fresh mind.
You are not in school anymore
Need help? You have a team, chances are there is someone better than you in your team at the task in hand. Go ask the team. You would be doing both your team and you a favor.
Know how to explain things to non-developers
Coding is fun. What is not fun is explaining a code to someone who is not a developer.
You are working in a team, you will need to explain someone what you did, someone who isn't a developer, so that they can help you out. As a front end developer, I worked with graphic designer closely. And it was so tough to explain things without coding references. Most of the times a senior developer had to come to my rescue. And just reading the messages from the developer I realize how much I forgot to mention. Or rather, how much I assumed the designer knows. Mistake.
Code Reviews are not against you
Yeah, you read that right.
I received loads and loads (and loads) of text from code reviews. Things that I needed to change. Just one thing, these reviews are never meant to discourage you (naturally). But sometimes you might feel overwhelmed with so many things to do. Trick? Create a checklist and do one thing at a time :)
A Little secret between you and me
We as developers almost never know the solution, and hence have to learn something new all the time. Don't be afraid to learn new things. Be patient. And the secret: 'Fake it till you make it'.
I would say 'Fake it even after you made it'
Bonus: Skills you will need:
- Master at least one language of your choice. Go deep with it.
- Learn git.
- Get used to at least one IDE. Know its shortcuts, its tips and tricks.
- Regularly try coding problems
- COMMENT YOUR CODE! (I was definitely not missing this point)
Top comments (10)
This was a super article! I definitely could feel my own pain of my first steps as Developer in youre article :D
One thing i want to explain deeper:
"COMMENT YOUR CODE! (I was definitely not missing this point)"
NO NOT COMMENT YOUR CODE!!! - write good documentations and readme's and just clean code!:D
I feel like code commenting and documentation deserves their own few articles xD. They are so important. Thanks for the tips!
Hello. Can I translate this article on Russian the language and send it on dtf.ru (with link on the original, sure)?
Sure thing Rinkton! Post the link here too, once you are done :)
Okay. Thank you!
Excellent article! Thank you. But, there is one section I disagree with you: "You are not in school anymore" - In general, you are right, but is dependent on the company culture. For example, if the company is more conservative, maybe if you ask questions, you will look over-eager or not qualified for the position.
I see. This never crossed my mind. Guess I got lucky! :)
Thanks for sharing.
Thanks for sharing this! I really found this helpful. I got my first frontend job two days after my birthday too. Just a month into it and I can really relate with this. Thanks
Thank you for your kind words. This honestly motivates me to write more.
This article is translated on Russian and published on DTF: dtf.ru/flood/210348-veshchi-kotory...
For author of original article: Unfortunately, translate of your article receiving bad (marks of article is negative). It strange, because there how you see it receiving good. Sure, in more comments writed, that translate is not so good and i agree with it, many of errors, that they talk is true.
Probably, not so good idea been publish it on site, where programmers is lacking, but I in past publish some translations on it and it had some popularity.
So, in comments I find disagreement in article sense, not on translation or some different.
So, I translate this comments for you:
Ivan Ivanov:
Awesome necessary skills to become web-programmer: Programming and learn about GIT. Perhaps, you need be able to use computer.
Igorious (on phrase in article "COMMENT YOUR CODE!"):
Worst tip.
Until you comment your good structural code, requirements can be changed and all your work go out in void. And really good, when you after that forgot update your comment.
Well, I end my "report".