From Junior to Lead
The 6 steps I used to grow from Junior to Front-End Lead over 5 years.
All of my long-form thoughts on web development, programming and leveling up your coding career, collected in chronological order.
The 6 steps I used to grow from Junior to Front-End Lead over 5 years.
I was watching an old conference talk by David Heinemeier Hansson, where he discussed the concept of 'JIT Learning'. About learning exactly what you need to, WHEN you need to learn it.
One of the most common pitfalls I see junior developers fall into is getting frustrated or giving up when they realize they've made a mistake.
The job market for junior developers has never been harder.
A few days ago I was stuck on a bug.
There's many different ways to build a website. From static HTML/CSS files, to using a modern JavaScript framework, to a traditional serverside language like PHP or Python.
I wrote a post on Twitter and LinkedIn recently, asking about everyone's biggest struggle when learning to code.
Consistent practice by coding every day is one of the most effective ways to learn. It's also the fastest way to level up your skills. But it can also be dangerous.
How can we improve our lives when working with code?
Imposter syndrome is, unfortunately, very rampant in the development world. I'd wager most developers have felt it in some way at one point or another. But just so we're all on the same page, this is the official Wikipedia definition:
Development is one of the fastest moving industries in the world.
As developers, our most important job is to solve problems.
You might have heard about the concepts of 'finite state machines'. But if you haven't, I don't blame you - they're largely a mathematical / computer science concept. Let's explore how we can use them.
I've been working professionally with JavaScript for several years. This is how I would learn it today.
There's 3 different ways to build and render a website, each with their own advantages and disavantages.
A few years ago, a front-end developer was someone who worked with HTML and CSS. Maybe some light JavaScript for dropdowns and basic functionality.
Perhaps the most common question among new developers or people looking to enter the field. And definitely the one I get most often!
One of the most common questions I get asked is how to get started with front-end development and transition into a web dev career.
In development, there's naturally a big focus on technical skills - like what programming languages and frameworks you know or how familiar you are with database management.
Personal update: I just got promoted to Senior developer
If you've been on Tech Twitter (like, ever) you're probably familiar with the discussion on whether or not a degree is required to become a web developer.
You know that feeling when you're working on something, but whatever you do, you just can't manage to stay focused? You get distracted after every line of code, you don't make any progress, and your task just seems insurmountable?
When I started learning to code, I would watch lots of video tutorials and read lots of articles about programming. I felt so productive - and it seemed like I was learning new things all the time! Turns out I wasn't
If there's one thing I can say for certain about the new year, it's this:
As developers, a lot of the work we do is actually communicating. Our job is to understand and solve problems, and we can only do that if we communicate effectively with clients, users, stakeholders etc. And since writing makes you a better communicator, practicing writing will make you better at your job.
A few days ago I posted a tweet on which programming languages I think would be best suited to teach programming at universities:
Today I'd like to reflect on the meaning of 'success', and why it's important to find your own definition rather than chase some arbitrary or society-defined versions.
Web development frameworks are awesome. They help developers add structure to their applications by streamlining certain ways of doing things and abstracting away a lot of complexity.
Today I want to share what it's like to work as a front-end developer in a digital agency. Of course these are all my own personal experiences, but I think talking about it can help people currently looking for that first job get an idea of what a normal 'day in the life' of a dev looks like.
If you work as (or currently study to become) a developer, you might've heard of something like the SOLID principles of object-oriented programming.
I'm a big believer in the power of habits, and how small changes can compound to create amazing results.
One of our primary functions as developers is to write code. It's what we'll naturally spend a lot of our days on - writing code, optimizing it, fixing bugs, refactoring etc. The more time we spend on code, the more it can feel like a part of our identity.
I asked a question on Twitter earlier this week, encouraging everyone to share their one piece of advice they would give to new developers:
I believe that asking questions is one of the best and quickest ways to improve as a developer, especially for juniors.
How can you prove to interviewers that you have what it takes as a developer?
To become a better developer, you need to build your habits and practice consistently. But you also need to be weary of a very real threat in our industry: burnout.
Setting goals is how we usually decide if we're improving ourselves, but what if there was a better way?
This simple reflection exercise will help you measure progression and solidify any new learnings
It's very common to think that you have to be good at math to be a good programmer. This is a question I've seen a lot, and I've even asked it myself.
There's a few fundamental tools in development that provide a great return on investment, considering how easy it is to pick up the basics.
How to improve your design skills as a front-end developer
The surefire way to improve your development skills through consistent practice
What does it mean to be a full stack developer, and should you aim to become one?
JavaScript is the most popular programming language in the world, but what makes it so special?
Asking for feedback is the easiest and simplest way to level up your development career
Different company types have different pros and cons - but which one is right for you?
When people ask me how to best improve their development skills or learn to code, I always recommend building real projects.
Everybody has those days.
Freelancing is the idea of working individually with different clients, rather than being employed by a single company.
One of my favourite coding philosophies is the idea that any feature/project can be done in 3 distinct way
In case you're not familiar, JavaScript offers many awesome array methods to make manipulating data much easier. Especially in this time with modern front-end frameworks handling lots of data, being able to control that with brief and clear code is a godsend.
By far the question I get asked the most is how you can go about landing a development job, especially if it's your first one. It can be tricky to stand out of the crowd when you're self-taught and don't have professional experience to show off to companies. But you obviously need a job to get experience - the classic chicken and egg problem!
The best way to learn CSS has always been a mystery to me. There's lots of tutorials, and on the surface, CSS seems deceptively simple. But when you get into the weeds, you realize that it can be extremely complex.
Development is one of the fastest changing industries on the planet. There’s always new languages, frameworks, libraries or tools coming out. Regardless of your current stack or interests, sooner or later, you will always have to learn something new.
As developers, we have many unique opportunities to make money that simply don't exist in other, more 'traditional' industries. Here's how.
As developers, there’s this idea of writing “perfect code”. Code that is self-explanatory, concise, maintainable, looks good, and has 0 bugs. I think this is something we all strive for on some level.
Learning how to debug issues, without losing your temper, is one of the most important parts of being a developer.
One of the questions I get the most is how someone can go about landing a development job, especially their first one. It's an amazing question, and the correct answer differs a lot based on the situation of the person asking it.
When we work as developers, our job is actually not to write code. That might sound counterintuitive, but hear me out:
Ahh, productivity. We all know it - when you get in the zone, everything is flying, and at the end of the day, you feel like you accomplished all the tasks you set out to do.
2020 was a weird year. Here's my reflections on the year passed, and a look-forward to 2021.
Landing your first development job is hard, but when you do, you need to prepare for what comes next.
There's no one piece of advice that will make you a great developer over night. One thing comes pretty close, though.
You need to catch the attention of the employer when applying for jobs. These are my favourite tips for doing just that.
How I landed a front-end development job in a digital agency through a detailed hiring process.
My journey from a shy, introverted gamer to leading development projects as a front-end engineer.
To land a job, you need to get your foot in the door and create a great first impression. It all starts with a compelling resume.
Working from home during the pandemic can be very challenging, so it's important to do it right.
Reflecting on the year passed, 2019, on a personal and professional level.
How do you know if coding is for you? If you don't enjoy math, are you even capable of being a programmer?