3

10 Tips I Would Have Given My Younger Self as a Developer

 2 years ago
source link: https://blog.bitsrc.io/10-things-tips-i-would-tell-my-younger-self-as-a-frontend-developer-and-a-human-being-7959fb8eaf96
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

10 Tips I Would Have Given My Younger Self as a Developer

10 things I would have given myself as a frontend developer and as a human being

Before going into the things I would tell my younger self, I just want to give you a bit of background and context around me and my journey.

My back story

Skip the back story and take me to the advice

Currently, I’m working as a Team Lead & Frontend Tech Lead at a company called Leadfamly. The last year’s time has been spent on rewriting around 500.000 lines of an old AngularJS project to a new platform based on Vue.js/TypeScript.

Previously throughout my career I’ve won awards doing what I do, along with great teams I’ve worked with. Now my responsibilities are not only limited to coding, they also include managing a team of developers, implementing processes, coaching/mentoring, prioritizing the work etc.

But it’s not always been like this, it’s been a long journey and I wish I could have done a lot different throughout my career and in many cases I wish I could go back to my younger self and throw a bit of advice to my younger self.

Don’t we all?

So I’ve been in the tech space for quite some years now. I graduated back in 2007, and a few months later I landed my first job as a developer. In the school I went to I learned HTML/CSS, and some PHP, and of course a lot of other stuff. It was somewhat of a broader education, so I also touched base with stuff like 3D (Studio max), Flash, ASP, C++, and graphical design. Not long after I graduated, I landed a job as a developer/designer where I did a lot of different types of tasks, programming as well as design tasks.

Back then I primarily worked on websites and e-commerce sites, however, there were occasionally some banner ads that needed to be done, which were done in Flash/ActionScript. The websites that were built back then weren’t as JavaScript heavy as a lot of websites/webshops are today, so the sites we built were very “static” and mostly built up with HTML/CSS with a CMS system behind.

SaaS platforms basically didn’t exist, and if they did, it was usually somewhat pretty small systems. Things such as NoSQL databases, JavaScript frameworks were pretty much non-existent!

A few years later, I landed another job, also as a developer. The job was very much like the first, building websites. The main difference was that the websites built were relying on some larger CMS systems, such as Dynamicweb, Synkron VIA (Doesn’t exist today). The way you implemented websites in this was using XSLT. The systems returned XML, and you would transform it with XSLT, and of course output HTML. After a few years into the job I started to progress only towards frontend development, and not focusing on backend development at all, as my primary interest was the visual side of things. I’ve been working with FE ever since.

The sites we built started to become a bit more dynamic and interactive. This was also the time jQuery started to popup. An awesome tool/library back in the day. Since then, a lot has happened within development, especially frontend development. We now have awesome JS libraries/frameworks like Vue, React, Svelte, we have NPM where we can easily fetch packages to add to our project, and we have module bundlers to do all kinds of cool stuff that we back in the day may have done manually. All in all, a lot has happened, and are still happening. Things are moving faster than ever!

Now you might be thinking what is your point?! Well, during this time, I’ve learned a lot and the road to where I am today has been a bumpy road. Looking back, there are so many things I would have done differently.

Tip 1: Learn the fundamentals

One HUGE mistake I made was not learning the basics first. Of course, I learned HTML/CSS, but when talking about JavaScript, I started out completely wrong.

As you might have noticed, I mentioned the rise of jQuery, and that is where I started when doing JavaScript. I learned some years later that this was a dumb move. I didn’t take the time to actually learn JavaScript in it’s plain sense, plain Vanilla JS. When we started moving away from jQuery, I really struggled because I didn’t learn the fundamentals of JavaScript.

I didn’t even think about doing it because of the magic that jQuery delivered back then.

Why would I? jQuery was awesome.

Not knowing Vanilla JavaScript, I really didn’t know what happened behind the scenes in jQuery, also I didn’t actually have a great understanding of the JS language itself as I didn’t take the time to learn it. So a piece of advice I would bring back to my younger self is definitely that ALWAYS learn the fundamentals! Then build out your skillset from there.

Tip 2: Don’t only focus on the visual

I’ve always loved building beautiful and pretty sites and applications that really looked good. I didn’t really care too much about business logic that might go into it. I just wanted to focus on the visual! Funny enough, today it’s the other way around… almost!

I still love things looking good, but now I really also enjoy the more “complex” side of things.

With that said, I’m sure that I would have become a good developer even faster if I knew both earlier on in my career. Now, this is not saying that you aren’t a good developer if you only know HTML/CSS or vice versa. Personally, I just think you need both sides for surviving in the frontend community today.

Tip 3: Be around smart people

Let’s face it, a lot of developers are introverts and many are not that open to forming new relationships with others. In my early days as a developer, I always tried to figure out things myself, not wanting to ask or learn from others.

Luckily over the years, that has changed a lot!! I’m no introvert, actually very much the opposite. I like being around people, I like talking, being social etc. That has also helped me a lot when learning. Even to this day, I will often find the smartest people in the room and just gobble all the knowledge I can from these smart people!

I believe you are never finished learning, and involving yourself around smart people will only benefit you in the long run.

Tip 4: Embrace pair-programming

When I was younger, I often dreaded peer-programming, and I think many people do until they learn to appreciate it. For myself, I didn’t like it because I was scared! Am I good enough? What do I get out of it? What if the person I’m with think’s I’m doing a bad job and then tells my boss? Would I get fired?

A lot of different questions always floated around. However, over the years, pair-programming is really something I think is super valuable and you can learn so much from it.

Even if you are paired up with a developer that is not as good as yourself, you get to educate and make the other person better. I think making people better at their job and seeing them succeed is super rewarding.

All these fears that filled my younger self’s mind were put to shame when starting to give it a fair chance. I learned a lot from the people I was paired with, and by becoming better, I could pass that knowledge on to others.

Tip 5: There is no ‘I’ in ‘Team’

As a young person, you often want to prove yourself, even sometimes at others expense, or at least I did. It’s not something I’m proud of at all.

Today, I couldn’t dream of doing that in any way, but my younger that’s a different story. I worked for me and my own goals. What I didn’t understand back then was, for me to reach my own goals, the team must also succeed in reaching their goals. If the team fails, you also fail! Even if you are the smartest developer, you are still a part of a team, and if the team fails, you fail! Simple as that.

When being a part of a team, it is so important that no one works for themselves and their own gain! That will eventually hurt the team, teamwork and the dynamics in the team! If this happens, whatever tasks/goals the team has set, they will likely fail at reaching it. I believe, for you to get success as an individual, you need the team and the people around you to succeed as well.

Tip 6: Learn different programming paradigms and design patterns

For me, when I set the goal for myself to really get the hang of how JavaScript works, learning different programming paradigms and design patterns really helped a lot. In the beginning I just learned by doing without really getting a grasp on the underlying essence of it all. What was the difference between OOP vs functional? Functional vs event driven etc… What were the different design patterns?

Diving into them, there is a lot and it can be overwhelming. Don’t learn them all, but learn at least some and get a basic understanding of them. Personally I wish I had dived into these topics even sooner than I did as it helped a lot. If you are interested in design patterns I can recommend the book by Addy Osmani: JavaScript Design Patterns

Tip 7: Always invest in yourself

Being a developer is hard! Things are always moving fast and there are always new things to learn. You will need to invest in yourself and your own growth in order to progress and excel as a developer and a human being.

This doesn’t mean you should go out and buy expensive courses, books etc. I’m talking about investing your own time in learning!

Whether that is learning by doing, learning from a course, book or other people. You need to do it! There doesn’t exist shortcuts to become great at something. You need to invest time and put in the work!

Tip 8: Take care of yourself and your health

When I was younger, I lived for the weekends. I loved to party, like most young people do. However, it may not be the most healthy lifestyle, and it will leave you tired and fatigued the first part of the week at least. You most likely won’t have the energy to learn new things or really become a better version of yourself. I’m not saying that you should NEVER party, but every weekend might be a bit too much.

As I’ve grown older, I dont have the same need to go out partying every weekend. Don’t get me wrong I still enjoy a good party, but I now also enjoy a lot of other things like spending time with my fiancee and friends, hitting the gym, going for a walk/run etc, cooking etc.

Generally, I try to live a healthy life, eating right, doing regular exercise as I really feel more energized when living healthy. This helps me being more productive and having a mindset that is better suited for learning.

Tip 9: Recognize what is right in front of you

The internet has changed the world since it saw the day of light. Previously knowledge was locked away in the library, industry experts, teachers. Today, it’s easier than ever to learn new skills and connect with other people. I think it’s essential to utilize this to become the best version of yourself.

Tip: 10 Celebrate your wins

When I was at the start of my career, I never really did this. I always was doubting myself and if I could have done it even better. This led to me never really celebrating my wins when I actually achieved a milestone. I deeply regret this.

Today, I believe it’s super important to celebrate your wins, both small and large wins. It will build up your confidence and belief in yourself, and if possible, celebrate the wins with your team if you are a part of one !

Extra Tip: Pay it forward

Help other people to become the best version of themselves. Doing so will keep yourself motivated on your own path, and you’ll find that the lasting connections you build from helping others will greatly benefit you moving forward. Also, it is just very satisfying helping others!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK