How to get through your first year as a Web Developer

My first year brought about a lot of new things. A lot of firsts. Including, but not limited to whiping out our analytics tracking for our main website. That was a great introduction to retrospectives!

It wasn't all bad though, it was actually a good learning experience.

My first year was actually full of a ton of different projects. I initially worked on our main website - just getting my feet wet with the code. Thankfully, I was bringing about 8 years of programming experience (personal/hobby experience) to the table and while I still had (and will alway have) a lot to learn, it made the process easier.

It consisted of mainly getting to know the projects and getting to know the people. There wasn't a whole lot of stress involved, but I attribute that to the great team I worked with.

I learned a lot about Git and how scary it is

Yea, it's scary. Like rebasing? The nightmares and PTSD I've endured as a result of it. There's just a lot that can go wrong, and trying to build that mental model of how Git works, I found to be pretty important.

Now, no one is expecting you to be an expert. I was actually doing all this in the terminal, but I know of a lot of senior guys using a GUI like GitKraken which I also adopted in a sort of hybrid approach.

No one needs to be a GigaChad and only use the terminal, that would buy you a Lambo, only PHP can do that.

I'd recommend actually practicing your Git skills on the side just so you have a better idea of what's going on, because who really knows all that goes on inside Git?

But now, I'm better at it! Rebasing is easy-peasy and you learn a lot about how to deal with merge conflicts and such which are wild.

I check my commits before I push

I picked up the habit of checking my changes before I commit in order to lessen the chances that I push bad code, or code that I only wanted during development.

You only push console.log so many times before you just take a quick peak. That is if you don't have husky installed where it will check your commits, like a linter.

Husky was met with some... skepticism among the team. Some people like it, some people git push --no-verify. That was me, I pushed no verify. Sometimes...

But, I found overall that checking my commits gave me greater confidence in what I was pushing and it actually caught issues on more than one occasion.

I always asked for help when I needed it

Usually after spending some time trying to figure it out myself. But, lean on those who are more senior than you! They're actually nice people. The sheer amount of times that I heard "I'm a terrible dev", from a senior, was surprising to me.

Now I say this tongue-in-cheek. They didn't actually say that verbatim, but the feeling was the same and it helped me realize that I didn't need to come in here knowing everything and trying to be perfect because:

  1. No one is perfect
  2. Everyone feels the same sort of inadequacy

That helped me relax a ton which released some pressure off myself. I also became close to a few particular people on my team and was open about my worries about my skills etc., and they were gracious enough to talk me through it. They helped me realize that everyone feels the way I do and that's natural, but the real differenciator is they (and I) don't let that stop us from trying.

The amount of personal growth I experienced by being open with whom I felt I could be open, allowed me to grow greatly.

Also, ask questions.

I became more involved with code reviews

I feel like I could have done better in this area. Though I'm not sure how to be better, ya know? The code I was reviewing was from senior level developers and sometimes there were bugs that I caught which again, boosted some confidence.

Being involved in code reviews and not leaving them for someone else is an important trait for a developer. It gets you more involved in what is going on, but there is a certain skillset involved in reading someone else's code and trying to follow it through like a thread.

I was often times intimidated to read their code because I was afraid it would "LGTM ship it", but there would be a bug we didn't catch, so I was often afraid of giving my approval. I don't actually quite know what to do about that right now - I should probably ask someone.

Work hard and be a good team player

Just be a great person to work with. Always try your best and speak up when you have ideas. I know it can be intimidating to add your 2 cents because who knows if you'll sound like an idiot, I get it...

Fun fact: on my performance reviews, I was encouraged to speak up and add my thoughts during discussions on high-level conversations. That took some getting used to because in my mind, I was going to come across as a dumb-dumb and that's not good for your pride.

Once you step past your pride, you'll see that it's not so scary to speak up.