Hello there! My name is Cyrille, and I’ve been working as a CareerFoundry Web Development mentor for well over a year now, helping aspiring web developers discover the beauty of learning to code as they become immersed in this strange and exciting world. Before I get into answering the question “What does a web developer actually do?”, first let me tell you a bit more about myself and my journey.
As well as working as a mentor for CareerFoundry, I also teach students in-person in bootcamp environments all over Europe.
Why do I like to teach so much?
Well, my desire to teach came about pretty naturally. After about 10 years of working in different startup, semi-corporate, and freelance jobs all over the world, I developed a strong desire to pass on what I had learned in the field to the next generation of coders. It’s important to me to give something back to the community that had helped me so much over the years. Mentoring made perfect sense.
Over the course of my professional life I have occupied a variety of roles as a web developer and used an array of programming processes, all depending on the client, situation, and demands of the workplace. In this guide, I’m going to detail these different processes so you can get an idea of what web developers do in their day-to-day life. If you’re interested in a particular sub-topic of the guide, simply select it from the list below and you’ll jump right to it. Enjoy!
- How did I learn to code?
- How do web developers typically work?
- What is the value of process in a web developer’s work?
The ways web developers typically work
1. How did I learn to code?
I got interested in programming at a very young age. From the day that I discovered that making a page was as easy as writing simple instructions—also known as code—in a file and opening it in a browser, it took very little time for me to then develop a profound interest in dynamic web languages like PHP3 and to start translating real-world behavior/issues into algorithms and programs.
I remember being in high school and becoming fascinated by the potential of this tool—the internet—and the possibility to one day be able to interact with every human being on the planet through this amazing medium.
After graduating, I decided to join a 5-year program in a computer engineering school in Lyon, France. While I started with some of the easier coding languages for beginners, I soon settled on a favorite. On the summer break between the second and third years, life led me to a Parisian internship in a small team of developers working with Ruby-on-Rails. They built numerous applications all coded in Rails, which at the time was considered black magic reserved for the bravest sorcerers of the art. To my right sat my first mentor, who was not only a fountain of knowledge, but also utterly inspirational.
I was hooked.
To be given the opportunity to master a tool with such unlimited potential and to build applications which served all sorts of different functions, ranging from basic websites to complete online exchange platforms and social networks really excited me.
The organisation of the work, the flexibility, and the laid-back aspect of the whole sector seduced me, and by the time I was done with the internship, I said “No” to completing the three remaining years of my school and joined the workforce. I had everything I needed—I was ready to work on my own as a freelance web developer.
You don’t need to be some young whizz kid in order to make it in the world of web development, though. As a mentor with CareerFoundry, I’ve witnessed hundreds of students make the switch from all sorts of careers into web development. Age and background don’t need to be factors. Dedication and motivation are what are really key. With that said, let’s take a look at what web developers really do.
2. How do web developers typically work?
Web developers are constantly in demand, and I don’t just mean in the job market. Ask any web developer in just about any company, and they’ll tell you that, if left “unprotected,” they’ll get requests from all across the company. These requests may relate to small bugs, or supposedly small feature requests that Jeff from HR or Pamela from Marketing want to have implemented. In order to formalize a web developer’s work and enable them to focus on the most important tasks, a process is required.
A web development process, similar to a web design project process, is a protocol, normally detailed in a document on which the client (whether internal or external) and developer both agree. This protocol specifies different phases a project will go through in order to attain full completion. It outlines the different steps that will be taken—the stages of development—going from the simple discussion between both parties to the application being online, functional and operational.
Each developer has their own way of working, and even then the approach may vary from project to project depending on the client’s needs, the length of the project, the development platforms used, and the number of developers involved.
3. What is the value of process in a web developer’s work?
I mentioned briefly that our processes help us focus on what’s important. When I was starting my career as a freelancer, one of my friends referred me to a friend who was looking for a web developer. I took the job, got a quick brief from him and started coding right away.
Wanting to impress him, and being pretty nervous about my first proper client, I did as much work as I could in a short period of time without much communication on my part. Three weeks later, and all proud to show him my work a full week ahead of my deadline, I sent him the URL of the completed work.
I didn’t get the response I was hoping for. He laughed at the fact that I had built the example on which he based the pages and not the pages themselves. Here I learned my first lesson about web development process: to discuss in depth the client’s needs before writing one line of code.
However, it shouldn’t take losing a client for you to realize that a solid web development process, or website creation process, is not just useful to becoming a successful web developer but essential.
Aidan Huang of OnExtraPixel gave us this insight into his own web development process:
“Understand your customers first. Then educate them. Tell them what they need before they realize it themselves.” Aidan Huang, Onextrapixel
When working on a project as a developer you will generally find yourself, whether freelance or in-house working with a variety of other team members, including UX and UI designers, graphic designers, data analysts and many others. Due to this team collaboration, it is crucial to have a process. Your team will benefit directly from good organisation and scheduling and will be able to interact at the right times, work synchronously and not have to wait on any one member of the team.
Identifying and highlighting various phases of website development in your plan ensures the whole team are aware of the web development process and can work together fluidly and transparently, with good communication and clear touch points. The team is then in-sync and bound to make the client’s expectations for the project met.
Moreover, each project has its ups and downs, its twists and curves. Many times the client will decide that he wants the navigation bar at the top all of a sudden, only to change his mind two days later and demand to have it back the way it was. This is what makes having a web development process so important when interacting with a client.
“The most important part of any project is knowing the desired outcome. If the client is not sure what they want you MUST find that out before starting any development, and written requirements documentation is the best way to do this. It is not just ticking a box in the process, it is the key to overall success.”
From the point of view of the clients, if you have a clearly defined process, not only does it keep their expectations aligned with yours, and provide a definite order of events for how the implementation will pan out, it also sets a “rhythm” to the whole effort which helps keep everybody on track.
Similar to a web design project process, a clear web development project process means the client has a definite understanding of all the website development steps that will be taken during the project’s duration. She will know what to expect at certain times during the project and therefore will be able to say at a glance “We’re late” or “We’re on time”. Having this information transparent to the whole team, as well as the client, means everybody is kept on the same page.
It gives the client something to rely on and to follow which reassures her that the project is in hand. Without a transparent process from the developer, the client could find herself flying blind within the whole project, and could easily find herself overtaken by the idea that the project is behind time and unlikely to succeed, an impression that no web developer wants to give to their clients.
Web developer David Walsh told us:
“Always stay on top of deadlines—as soon as a deadline is missed, the project will seem to be in disarray. Bi-weekly communication is good: tell people what you’ve done, what you need from them, and what they need from you.”
When launching a new career, the first couple of weeks and even months are crucial for implementing good habits, best practices and realistic routines. This is why I stress the importance of developing these habits from the beginning. It’s much harder to unlearn our bad habits than to start afresh with good ones.
My advice to beginners is to learn to implement their own website development process as soon as the brief from the client is finalized, as including structure in the way you work from the beginning has a number of advantages both in terms of your reputation as a web developer and in your execution of the job in hand; it’s a trademark of professionalism, attracts clients, relieves stress and anxiety for any given problem and enables a more sustainable work environment.
There are so many different approaches when it comes to planning your project that it can be hard to know which is the most effective for your purpose: waterfall development, incremental development, iterative development, spiral development, agile development…
Here are two widely used methods.
The Ways Web Developers Typically Work
1. The waterfall method of web development
The “traditional” way of doing things is using the waterfall model. This one is the one outlined below, where the project is divided into seven very specific phases. Each phase serves its own specific purpose the whole process should be executed in linear fashion.
Expression of the client’s needs
This is the phase where the client and you sit down and figure out exactly what the end goal of the web application is and what general purpose it must serve.
In this phase, the client defines (sometimes with the web developer) the behaviour of the application. This can go from the very broad strokes, down to very specific actions within the application. The discussion is dependent on how big the project is, and how flexible both parties are. With a new client, I always tend to be as specific as possible, in order to avoid any issues further down the line.
This is the heart of any project. At this time, the developer gets down to brass-tax and implements the different specifications that both parties agreed on beforehand.
At this point, the developer sets up an environment where the application can be installed in order for the client to access the final work.
Back and forth
The client gives his comments on the work, the developer makes those changes and sends it back, etc… Eventually, this back and forth leads to a point where both parties agree that the product is final. This phase can be a bit touchy as it can be a power struggle if specifications were not defined precisely enough in the beginning (which is why it’s so important to be as transparent as possible from the start of the project!).
Once both agree on the final product, the developer (or sometimes the client’s technical team) installs the application in an environment ready for public use.
Many applications require additional maintenance, either adding new features, or fixing bugs.
2. The agile method of web development
Another way of planning a project is using agile methods. Techniques like “Scrum” or “Extreme Programming” have become increasingly popular in recent years. These methods consist in setting up everything for the client to view as soon as possible, then build the product in smaller (1 to 3 week) iterations of ship-ready sub-products and therefore release something on which the client can reflect on and thus re-orient the project onto the path that best suits the situation.
This type of development process is a great way to navigate unplanned changes, which is especially useful when working with clients who have a tendency to often change their minds. Clients tend to be more satisfied with this method, as well as developers who no longer need to throw weeks of work away when the client is unhappy.
Whichever method you choose to use, a complete UI and design is required in order to kickstart the development process. A client has a better idea of the final result when she can see it graphically. Your job as the developer is to ensure a process that brings this image to life. Having a complete UI and solid UX rules will avoid a lot of issues down the road once the product is being built.
If you’d like to find out more about UX or UI design, check out these guides:
Landon Schropp at landonschropp.com told us:
“The key to building a great relationship with a client is to listen. Your job as a contractor is to solve your client’s problems. If you take the time to understand their needs and deliver exactly what they’re looking for, your client will be exceptionally happy.”
3. Best practices
There are a few best practices that are good to be aware of with your web development process:
- Always document your web development process.
- Using non-technical language in the web development process provides transparency with your clients. This process/document is the last “barrier” before entering the web development domain, make it as easy to understand as possible!
- Commenting within your code is also something to look out for. You may not be the only one to use/work with this code, even if you are the only developer on it now. Make sure to comment within your code as much as you can, unless things are totally self-explanatory (e.g. tests/specs).
- Each client has a different way of working, and bending the rules on your part a little will make all the difference with all your clients. Best to change things slightly on your side rather than stay rigid to one process that wouldn’t fit the particular project/client.
- Try to make templates of often used documents like invoices, hand-offs to clients, propositions/estimates and quotes. There are many online applications built for this purpose, including accounting and everything needed for the freelancer (I personally use Harvest).
Jacob Gube at Six Revisions told us how he finishes up a project:
“Follow-up – usually after 30 days, I see how the client’s doing to make sure everything’s OK. On large-scale projects, I will usually be on retainer for a 30-day period after the hand-off in order to fix anything that we might not have caught prior to the project hand-off.”
While web developer Brett Hargreaves told us why he has a strict process in place for all his development projects:
“I found early on that not having a process would mean I’d keep getting muddled in my projects which in turn made them harder to maintain and extend.”
In this blog post we’ve demonstrated and evaluated the numerous stages of a web development process, the value it brings to not just the clients, but all the different team players working on a given project including you in your role as web developer. We’ve discussed the reasons why it is so important to set a web development process in place early on for everyone involved and how to demonstrate your process to the client from day one. Whether you are using the waterfall model or more agile methods, we have seen that there are certain phases all projects need to go through irrespective of how you choose to organise them, and these are crucial to the success of any web development project.
Here are a few links to some great resources so that you can pursue your research and start putting your first web development process into place: