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.
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.
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.
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)