To me, 7 years in the past
Time really flies. It does not feel like I've been working as a full-time developer for almost seven years, but here I am! It has been a ride; and to look back at where I was as a developer in May 2017 when I started is emotional.
Because I've learned a lot, and because it is still very early in this calendar year, it feels like a good time to talk about some things I've learned. This is a less technical post that anyone who is thinking about learning how to code or very early in their career may benefit from.
Even though I started my first full-time role in 2017, I went to school for web design and interactive media in 2006—graduating in 2010. This is was a different world. The world was ruled by flash websites, float layouts and sites were designed with photoshop. GitHub was around but not really. The iPad had just impacted the web starting a march towards extinction for those aforementioned flash websites. jQuery was king, and the react explosion was still about two years away.
I watched from afar as the landscape changed when I started that gig in 2017 I had alot to learn. In alot of ways I was starting at ground-zero.
Focus on those fundamentals
Coding is only part of the gig. HTML and CSS are crucial and you should have a decent understanding of them. This goes for both front-end and back-end. If you are going to be working with products that run in the browser, it helps to understand the basics of the DOM.
Know your history
I always find that it helps to know what came before because today's technology is often a reaction to it. The internet started as an international collaborative research tool. The ability to design, to create complex layouts came much later. Today when laying out a website we can reach for CSS grid and flexbox. CSS grid is the newest of those tools. Flexbox has been around for longer but before that there was no any official way to do layouts! People still did, by using float
to push elements into multiple columns and before that we used HTML <table>
s.
Follow your curiosity
As you continue to learn, you may find that there are certain things to you really enjoy more than others. I take this as a sign to zoom in. Focus on those things and re-shape your curriculum towards the things that interest you.
Practice, practice, practice
I do a lot of the same things every day and in every project. This is a great, because I get more efficient everytime I do it, but then you can easily forget other concepts that you rarely touch. These days, I am mostly building interfaces. I'm pulling data from backends and APIs so besides looping and mapping, I don't find that I am doing a lot of complex logic. The fix for this is to find ways to flex those other skills.
Having a little design knowledge goes a long way
As a developer I think it is understated how crucial having an understanding of design and some of the common design tools can be especially if you are developing user interfaces or working in the front-end. Don't shy away from opening up Figma. Understanding the way designers are building sites can help with communicating how we go about developing their designs. It also goes along way if you are able to provide not only feedback, but alternate solutions to designs.
Read the documentation first
Sure there are plenty of tutorials out there that might work for a particular task. However nothing replaces reading documentation. There is often more than one way to accomplish something. If you find that you are often lost and relying too often on tutorials then it can make debugging and troubleshooting a big headache.