From my experience, building websites is not much different than building houses
Growing up, my family owned a small construction company. Throughout high school and for a bit of time after, I worked as a concrete laborer there. Specifically, I helped build concrete foundations for new homes and large additions.
Around the age of 19, I herniated two discs in my lower back which made throwing massive, 70lb concrete forms over nine foot walls a real pain. This spinal issue encouraged me to return to school and pursue my childhood passion of graphic and web design.
As a construction worker, building physical structures with a team of people that I was working hand-in-hand with was very rewarding. To this day, when I pass houses that I helped build, I am sure to point them out and talk about any quirks that happened during that specific building process.
When I got into digital design, I was worried that I would lose this sense of accomplishment since everything I build is now virtual. To my surprise, building a house and building a website is ridiculously similar. Almost every aspect of web development can correspond to similar role or function in the home building process.
Comparing construction and digital roles
Below, I have built a list of roles in the home building process and what they translate to in web/product development.
General Contractors = Product/Project Managers
Building a home requires a paying client. Typically a general contractor gets “inbound” calls from potential clients. After getting this call, a general contractor typically meets with the client (sometimes with an architect as well) to get an understanding of the clients wants and needs. After consulting an architect and getting a home design approved by the client, the GC (general contractor) builds a timelines and then sources various trades people to complete the work, such as an excavator, framer, and drywaller. Throughout the process, the GC maintains the relationship between the trades and the client. The GC also oversees the timeline and toys to keep everyone informed and on track.
This is tracks pretty closely with a product or project managers role in digital product development. When building digital products, product/project managers meet with stakeholders to determine what resources will be needed. Often, the first step to determining this is getting a design approved too. Similar to house plans, a design for a website can vary in difficulty or time it takes to actually build. The design also determines what type of developers (or “trades”) will be needed.
Architects = Designers
It’s probably somewhat obvious that an architect and a designer have some overlap in their processes. Both make visual plans that need to suit clients or stakeholders wants/needs while also conforming to an approved method of construction. By this, I mean both need to understand how their plans will be built and that they won’t break after a year. These roles could be broken down a bit further even.
Structural Architects/Engineers = UX Designers
Structural architects take into consideration the functionality and safety of a building. Similarly, UX designers map out the core functionality of digital products to ensure users can achieve the goals intended by the application.
Interior Architects/Designers = UI Designers
Interior architects give a house flavor and delight. They are responsible for creating the right “feel” for the home. If there were a job title for architects that choose the siding and visual exterior features of a house, that would be included in this role too. UI designers pretty much do the same for an app or website. They style everything. Similar to interior design, good UI design is very noticeable by users. If curious, think about visual differences between an app you have from a local company and Twitter.
Excavator, Framer, Plumber, Electrician = Backend Developer
Any trade that works on parts of the home that go unseen but are crucial for its functionality align with a backend developer’s responsibilities. Similar to a house, a digital product needs a strong foundation. This is often accomplished by strategically setting up things like servers, databases, and CDNs. Just like we need electricity and water to run to and sometimes from a house, we need data to go back and fourth on the internet. Backend developers are responsible for these types of tasks.
Finish Carpenter = Front-end Developer
Finish carpenters have an extreme level of detail and craft while they build the delicate, visual pieces of a home. Similarly, front-end developers build the face of apps and websites with extreme amounts of optimization and craft. These roles vary from an architect or design role since both are given plans from architects or designers. While these tasks may seem like nice-to-haves, the skill of people in these roles often is what separates good from great.
For what it’s worth
This random list of comparisons may seem pointless, but, if you’re like me and find yourself with a bad (or great) back at a young age, you now how your tech or construction skillset could translate. ✌️