A friend recently interviewed me about what it takes to get into the web industry. In case it's helpful to anyone else considering a career in web development, here are my responses:

Can you tell me about your background and how you got into this field? 

I first experimented with the web near the end of high school, saving the source code of websites to my computer and gradually deleting portions of the code until it affected what I wanted to learn to do. In those years I created lots of little nonsense websites for no other reason than to practice my basic HTML/CSS skills.

Some years ago I got my first real web job, functioning as webmaster for a mid sized educational institution. It was in that job that I first experimented with server-side programming, relational databases, and CMS development. When I lost that job five years later due to institutional downsizing, I decided to strike off on my own as a web development freelancer, and to start serving clients of my own, rather than operating only as part of an in-house team.

Tell me about your job. Is what you do different in any way from what others in your occupation do?

I work with mostly small to midsized organizations, many of which are nonprofit. I handle basically all aspects of the business, from sales to development. My wife assists me with sales and project management, but otherwise it is a one-person shop.

My specialism is custom development. I don't use third-party systems like Wordpress or Drupal or others because I like to be able to curate the user experience from beginning to end, and to deliver precisely the tools the client needs, without having to squash their business into a pre-existing mold.

Interestingly, though the work is obviously technical, it ends up being also pastoral. Often the organizations I work with have been poorly treated by previous agencies or are a bit lost in regards to their administrative information, data management, and website. So, very often I need to provide leadership to the organization’s project team, which requires a lot of empathy and educating. People don't like websites; they like what websites allow them to do. My work ends up being mostly that of listening, and then building things that allow them the ability to achieve the goals which sometimes they are not able to fully articulate until we've worked together for a little while.

What training or education is required, and where did you receive your training?

The web industry is one of the most straightforward industries out there. All you need to get started is a text editor, patience, and server space. I don't think formal education is necessary to succeed in web development or web design. There are such excellent tools available these days that make learning on the go a very feasible approach. A computer science degree is important if you were going to work at a very high technical level. But for the typical work of website development, the Internet itself contains an overwhelming amount of great learning resources. HTML, CSS, JavaScript, server-side languages, database development… Those are the technical requirements. But, just as necessary as technical proficiency is the ability to work empathetically with people.

I am almost entirely self taught. I did receive some on-the-job training while working as webmaster for an educational institution, but I have gleaned most of my understanding from conversations with professionals and from online resources and training tools (e.g., blogs, podcasts, teamtreehouse.com).

What personal characteristics are required for someone to be successful?

You will need to learn how to collaborate meaningfully, whether with colleagues on an in-house team or with your client or a client’s project team. And along with this, you will also need to know how to set meaningful boundaries. It is immensely valuable to be able to recognize the arena of your own responsibility while kindly helping others to recognize those boundaries. (This means simply, protecting your time while respecting the time of others.)

A healthy dose of self-awareness is also important. As a web professional, you will have your own area of expertise and areas in which you do not feel confident. It is important to recognize both of those: to act and speak with confidence in your areas of expertise, while freely seeking the help of other professionals in areas where you lack expertise. Also, I cannot overstate the need for empathy. Being able to hear your client – not merely listening to their words, but getting the sense of what they are trying to say. A client might request something specific such as increasing the size of the logo on the website. But while this request is very straightforward, they may actually be speaking out of a fear that customers don't know who they are -- a problem that won’t be solved by slightly enlarging the logo. So, I think in order to be successful in the web industry, a person needs to have just as much willingness to learn about people as about coding languages and design principles.

What are the biggest challenges?

In the in-house environment, one of the biggest challenges is often working under a manager whose imagination is small, or who sets deadlines based on institutional politics rather than on attending to matters of user experience. In the in-house setting, an institution can err easily by prioritizing internal opinions more than the website’s users.

As a freelancer, maintaining a regular flow of income can be challenging. Freelancer life runs on peaks and troughs, what I call the “three-month cliff.” You can only see so far into the future, and most organizations don't want to plan ahead more than that. It is rare to encounter a company that wants to commit thousands of dollars to a web project six months or a year ahead of time. And so, you have to organize yourself well enough to make it through the lean times.

Another area of challenge in the web industry is rapid change. In the early years, everyone needed a web professional to build a website no matter how large or small. Now, the bottom of the market is served by a growing number of automated and very cheap services (such as SquareSpace). And at the top of the industry, many enterprise organizations are building in-house teams to serve their needs internally instead of contracting outside agencies. This means that both at the bottom and the top, web developers are being squished into the middle of the industry, which causes a lot of competition. In my opinion, this is why empathy is such an important part of your skill set. If you can hear people well, treat them well, and deliver a superior customer experience, you will develop a reputation that will help you to secure long term work even amidst hot competition. Even with all the various marketing tools at our disposal today, word-of-mouth is still the most powerful.

What are the most satisfying aspects?

Though it is always more work, my favourite projects are always those which involve the empowerment of the organization to take back the reins. I worked with a church recently which had lost track of all their server details and website information. I spent three weeks contacting various web agencies and pestering web developers to fork over all of the account information the church needed. At the end of the process I had gathered all of this information together so that the church was once more in control of its assets. I helped them to cancel all of the accounts that were spread all over the place, and developed some solutions that gave them centralize control again. People just want to get on with their work; it is very satisfying to be able to take a painful, hateful experience and turn it into a peaceful one again.

More superficially, being able to play with the web is insanely fun. It's almost like being able to perform magic, getting to create something that didn't exist before. This is a silly example, but a reason I really enjoy being a web developer: I have a friend who recently started brewing beer in his house, and who is also an Anglican priest. He brought some of the beer to my place to share, and I joked with him that he could call the beer brand “Father Froth.” The idea wouldn't leave my mind, even after my friend went home, so in one evening I created a bogus marketing website for his brand. It was a really silly, nerdy thing to do, but extremely fun to be able to send him the URL and watch people react to the website, even though the whole thing was just a joke.

There is a lot of fun to be had on the web. And, because it is such an intrinsic part of life now, it is also an important arena in which to be able to serve people.

Are there many opportunities in your field? What should people do to get started? 

To get started, solidify your skills in front end development: HTML, CSS, JavaScript. Once you are very comfortable with those, start experimenting with a server-side language like PHP, and on from there.

In a rapidly evolving industry, it is important to have focused and highly developed skills. I would recommend choosing a particular type of work to specialize in: such as educational institutions, nonprofit organizations, or a particular kind of e-commerce. If you can get really proficient at a particular type of work, you can become a sort of go-to person.

What is the salary range like?

Salary depends on region, but I think you can anticipate pricing out projects somewhere between $50-$90/hour. Wherever you land, you have to account for all the non-chargeable time required for marketing, proposal writing, and business development. So, while the hourly rate might sound pretty nice, you’ll need almost 50% of it for ‘unpaid’ business time.

What do you think the future holds for people in web development?

There will continue to be really great jobs on in-house teams, and I think a lot of opportunity for freelancers who specialize. I don't think web developers will be obsolete anytime soon. Though the automated services are getting better, the needs of organizations will always increase as the complexity and availability of web services increase, and web developers will be the ones to manage that work.

What other jobs could you do with the skills you have gained in the field?

Web developers often go on to function as marketing consultants, user experience consultants, business managers, project managers, or any number of jobs requiring a high level of ordered thought.

What advice would you give a person entering this field?

Work your way up the stack (front end to back end), and give as much attention to learning about people as you do to learning about code. And be flexible. The web is changing very quickly these days, and so your coding skills will always need to be on the move.

Who would you recommend I speak with in order to keep learning?

Listen to the Boagworld podcast -- the past 3 or 4 seasons are like a mini education in being in the web industry. Follow some industry leaders on Twitter and read their blogs. There are tons of excellent professionals out there. If you can find a few you really like, you can learn a lot by reading and listening.