Should you be a web developer?

I find that there are lots of people out there that have thought of learning to code — for different reasons. Some think it sounds fun, most agree that it’s great to consider as a career. Lots of them don’t know how to get started, how to get better, or how to go beyond doing it as a hobby. This article is for them.

Recently I gave a presentation on the topic that talked all about it; how to get started learning programming, what to learn first, what kind of directions your career might take because of it. So here are some of the highlights from that presentation.

Web Development Defined.

For a clear sense of what we’re talking about, we need a functional definition of “web development.” I define it as, “Computer programming that results in the creation of websites and web apps.” It ties in to mobile apps in some capacity, but at it’s core it’s the craft of building websites.

Front-End vs Back End (aka, Client-Side vs Server-Side).

These are terms you need to know. The “front-end” (or “client-side”) of a website is where the layout, presentation, and interaction live. The “back-end” (or “server-side”) is where all the data lives, and all the behind-the-scenes things happen. That’s not a perfect definition, but it’s the simplest way of describing it.

The main thing you need to know is that front-end web development is different from back-end web development. They’re two very different skills which work with different programming languages and technologies. They’re both awesome, but have completely different purposes. Some do both (I do), but you have to start somewhere.

Where to Start

A lot of people who want to code find it overwhelming to even begin, since there’s so much to learn. Go with what seems interesting to you. If you can’t decide, start with front-end. Reasons:

  • The basics are faster to learn. You can get productive pretty quickly.
  • It’s versatile. HTML is used everywhere. Javascript can be used for front-end, back-end, mobile development.
  • It’s in demand. Everybody needs websites and apps.
  • It’s lucrative. You can do well as a front-end developer.
  • Front-end skills are a good gateway to learning other technologies.
  • It’s visual, and can be very fun.

Start with HTML, JavaScript and CSS. Do some googling. Play with codepen.io. Learn. Grow. See where it takes you.

After you get some basics, pick up an API and play with it. Mess with your Facebook data and learn things you didn’t know about your friends. Build photo galleries with your instagam pics.

What You Can Do With It

You don’t have to be a full-time programmer if you don’t want to. Picking up HTML and JavaScript alone are super-valuable coding literacy skills that can really enhance your use of the web in general. JavaScript keeps popping up in lists of the most popular programming languages, so you can’t go wrong picking it up.

A little coding knowledge goes a long way in related careers as well. Designers can benefit from it. Product managers and those in quality assurance can benefit. Physicists and chemists, and corporate analysts use it. If you enjoy programming and dive deeper into it, you can be a web developer — but you can also work in devops, data science, or be a corporate analyst.

The point is it’s a versatile skill that everyone should learn in some capacity. I’ve heard it referred to as “the new MS Office” (i.e., the thing everyone will eventually put on their resume).

Pros and Cons of Going “All The Way”

If you consider becoming a full-time web developer, here are some things to think about.

Pro:

  • Lots of jobs. Everyone needs developers and will continue to need them.
  • It pays pretty darn well.
  • You can do it without a degree.
  • You can do it from anywhere.
  • You can take your career in many directions with it.

Con:

  • Technology keeps changing. You have to keep up.
  • Projects have deadlines. If you struggling to keep up, you’ll have a tough time.
  • Lots of computer time. Which can hurt your back, neck, eyes, and sleep.

There are ways to mitigate all the challenges though, and as a career it’s pretty damn great.

Types of Companies

It makes sense to weigh out who you want to work for, or freelance and try different working environments to see what feels right to you. Bigger companies might be a little more stable, but process heavy. Smaller companies might be exciting and have passionate employees, but less cash to go around. Agencies and dev shops of different sizes will have you working on a larger variety of projects, which means a broad array of learning experiences — but they also often have fairly challenging deadlines that can be tough.

The Power of a Strong Network

Whatever you do, connect with as many people as possible both in and outside your workplace. Meetups, public slack channels and social media are just a few ways to meet new people. Any of those may teach you something, find you a job, or help your career go to the next level.

Salary Vs. Freelance

I freelanced for a good chunk of my career because of the variety of learning experiences and relationships it provides. Working at a great agency like ATTCK provides a similar experience in many ways, but with a different pay structure. These things are important though, so weigh out the pros and cons to see what works for your lifestyle. And if you join a startup, get to know how equity and stock options work so you can weigh out how likely it is your stock options will pay off — and how important that is (or isn’t) to you.

On-Site Vs. Remote Work

Working from a cafe in Barcelona is pretty great, but so is working from an office with free beer and an awesome team. Coworking spaces are great for networking, but so are coffee shops around the world. The wifi is usually better in the former. You may think one or the other is awesome, but weigh them out. I used to think working from home was “the dream,” until I did it for a few months — the isolation and lack of exercise drove me nuts, so I barely do it anymore.

Also consider the type and quantity of job opportunities in each. If you work remotely, you can technically get hired by a company from anyplace across the world. But to this day it’s easier to communicate with and trust someone who you’ve seen face-to-face. Selling your credibility over the internet is definitely harder. And pay fluctuates from one locale to the next.

What to do right now

In short (or in long, at this point), try coding at least a little if you haven’t already. Everyone should know how, at least a little bit.

Grab an HTML (or JavaScript) tutorial, go to codepen.io and start coding. Sign up for a programming workshop. Ours are great, but there are many out there — and tons of free programming meetups as well.

Code -> meet people -> repeat, and you’ll be well on your way to building something amazing.

— —

That’s the talk, in a nutshell. The slides can be found on slides.com or slideshare.