Writing on front-end development, coding career advice and other fun stuff

All of my long-form thoughts on web development, programming and leveling up your coding career, collected in chronological order.

From Junior to Lead

The 6 steps I used to grow from Junior to Front-End Lead over 5 years.

Just-in-time Learning

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.

Dwelling on mistakes

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.

Debugging code

A few days ago I was stuck on a bug.

No-code tools

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.

Project ideas

I wrote a post on Twitter and LinkedIn recently, asking about everyone's biggest struggle when learning to code.

Taking breaks

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.

Dealing with imposter syndrome

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:

Think twice, code once

As developers, our most important job is to solve problems.

State machines

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.

Learn JavaScript (step-by-step)

I've been working professionally with JavaScript for several years. This is how I would learn it today.

The All Powerful Front-End Developer

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.

Front-End Roadmap

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.

Soft skills

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.

From Junior to Senior

Personal update: I just got promoted to Senior developer

Degree or no degree 🤔

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.

Flow state

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?

Escaping tutorial hell

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

Tech in 2022

If there's one thing I can say for certain about the new year, it's this:

Writing for developers

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.

How to learn programming

A few days ago I posted a tweet on which programming languages I think would be best suited to teach programming at universities:

What is success?

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.

Which framework should you learn?

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.

Working as a front-end developer

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.

Coding principles

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.

Making small changes

I'm a big believer in the power of habits, and how small changes can compound to create amazing results.

You are not your code

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.

Advice for developers

I asked a question on Twitter earlier this week, encouraging everyone to share their one piece of advice they would give to new developers:

Asking questions

I believe that asking questions is one of the best and quickest ways to improve as a developer, especially for juniors.

Beating the interviews

How can you prove to interviewers that you have what it takes as a developer?

Avoiding burnout

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.

Goals are overrated

Setting goals is how we usually decide if we're improving ourselves, but what if there was a better way?

What did you learn today?

This simple reflection exercise will help you measure progression and solidify any new learnings

Do you need math when coding?

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.

Embracing your tools

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.

Design for developers

How to improve your design skills as a front-end developer

The 5-minute Trick

The surefire way to improve your development skills through consistent practice

Full-stack development

What does it mean to be a full stack developer, and should you aim to become one?

JavaScript

JavaScript is the most popular programming language in the world, but what makes it so special?

Asking for feedback

Asking for feedback is the easiest and simplest way to level up your development career

Company types for developers

Different company types have different pros and cons - but which one is right for you?

Building projects

When people ask me how to best improve their development skills or learn to code, I always recommend building real projects.

Freelancing

Freelancing is the idea of working individually with different clients, rather than being employed by a single company.

Good, better, best

One of my favourite coding philosophies is the idea that any feature/project can be done in 3 distinct way

JavaScript array methods

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.

Landing a development job

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!

Learn CSS through games

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.

Learning how to learn

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.

Making money as a developer

As developers, we have many unique opportunities to make money that simply don't exist in other, more 'traditional' industries. Here's how.

Perfect code

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.

Pragmatic Programming

Learning how to debug issues, without losing your temper, is one of the most important parts of being a developer.

Stand out when applying for jobs

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.

Problem solving

When we work as developers, our job is actually not to write code. That might sound counterintuitive, but hear me out:

Productivity tips

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.

I got a new job

How I landed a front-end development job in a digital agency through a detailed hiring process.

Writing a compelling resume

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.

2019 in review

Reflecting on the year passed, 2019, on a personal and professional level.

Is coding for me?

How do you know if coding is for you? If you don't enjoy math, are you even capable of being a programmer?