Here at Wiredelta®, we have been developing web and mobile applications for nearly a decade and we made many mistakes over the years. But, you know what they say, you can’t make an omelet without cracking a few eggs, and making mistakes is a natural part of life. The hard part is learning from them and improve every step of the way. So, today we will share some of the most important lessons in web development we learned so far.
Hopefully, after reading this article, you will add these lessons to your own bundle of knowledge, so that you avoid making the same mistakes as we did. Enjoy!
Communication Skills Are Crucial
When people outside the tech world think of web developers, they see an isolated person, most comfortable in a dark corner. They see a kind of symbiosis between the developer and their computer. In fact, the only time the developer breaks away from the screen is for coffee breaks.
Basically, they see an introvert that barely talks to anyone, except from the rare occasion they interact with the project manager (PM). Let the project manager deal with clients, creating tasks and all of that. After all, all a developer needs is build whatever features the project manager asks for, right? Well, no. In reality, this image is far from the truth.
Back In The Old Days
Don’t get us wrong. This image we just created in the back of your mind is not just a misconception. In fact, a few decades ago, this image was quite accurate. Back then businesses used a model called waterfall, that meant company-client communication was strictly the job of project managers. In waterfall, the PM met with the client, and defined the necessary features. They then set milestones, shook hand and went their separate ways until the next meeting.
The project manager would take a list of features for the first milestone and give it to the developers. The developers would build the feature and then move to the next phase. All in all, communication was scarce. However, soon enough it became clear that this model works fine when you build a house. But, when you work with web development, it is too restrictive. So, clients became more and more involved in the development phase, and as a result, the project management practices had to change.
Needs Change With Time
This change brought upon a new and improved practice, where the client is part of the project every step of the way. This is called agile development. Basically, the life cycle of the project is not a straight line anymore, but a circle, where project managers continuously communicate with both the developers and the client.
This new model brought many changes along. The most important one, requirements were not “nailed to the wall’ anymore. In waterfall development, the client pays for features. What they decide with the project managers, that’s what they get, no questions asked. However, in agile, clients pay for developers or development hours. This means that even though you have decided on an idea for the project, the client can always bring changes and adjust the scope up or down.
Working As A Team, Not In Individual Silos
These new practices, where the client is an active part of the project, forced developers out of their own bubble. So, as questions come up, project scopes get updated, and clients change requirements, good communication skills are crucial. In fact today, these skills define a good developer just as much as good technical skills.
You see, agile broke down the walls of isolated teams by introducing sprints. Sprints are timetables decided before the start of a project. They usually amount to one or two weeks, after which the team meets and discusses the progress of the project. This forces developers to work alongside project managers, clients, even marketing teams. So, the better communication skills your developers have, the smoother these sprints go.
Work with your team. They may have insights that will help or at least a fresh pair of eyes that will save you a lot of time.
Petru, Fullstack developer, Wiredelta
Also, there are times when developers join project managers in client meeting right from the start. This system helps to ease the scoping process, as developers have a better understanding of technical limitations that a project might face. Chances are, your client might not be a technical person. So, once again, the better communication skills, the easier it is to explain limitations to the team.
An Art Not a Science
Most people with little to no experience in web development thinks that this industry consists of a lot of hard-core programming using all kinds of crazy algorithms. Ultimately, it seems like translating math into code. This is a widespread misconception.
Don’t overthink your task or your solution. Every time, the simplest answer is the best.
Adrian, Fullstack developer, Wiredelta
Web development is more of an art than a science. There’s always more than one way to handle a task and multiple ways are optimal. In essence, web development is more about problem-solving than math skills.
Michelangelo Or Van Gogh
Let us explain. Web development is a highly competitive industry, where every developer learns in their own way. Yes, the theory is the same, but unlike math, where 1+1=2, web development is much more flexible. For example, you can have the same exact project, the same features and functionality, but built with two different technologies. The application will seem the same for the average user, but an expert will know.
Another good example is WordPress. This popular CMS comes with thousands of plugins, some free, some paid for. However, some developers still decide to build their own plugins, simply because the existing plugins don’t satisfy their specific needs.
In other words, web development and the progress of your project depends heavily on you and your team. All you have to remember is everything comes down to the outcome. How you create the most functional app, which the majority of users love, spending the lowest amount of money, should be your top priorities.
You Learn By Doing
We all learn by doing more than we learn by reading or watching a tutorial. This applies to any job in any industry, however, in web development things are a little different. In finance, HR, or even marketing, your tools may change a bit, but ultimately, the core idea is the same. In web development, the tools you use can change dramatically from project to project.
When it comes to web development everything moves so much faster. Programming languages and the frameworks around them – even IDEs update – all the time, completely changing your normal workflow. Your company could decide to switch code base to ReactJS from AngularJS or an entire new MVC framework or CMS, and as a developer, this normally means entire new workflows.
Learn On The Go
Working in a software industry where things change so fast as in web development, the main thing you have to do as a web developer is to understand the underlying concepts and architecture. Once you do, then it’s just a matter of figuring out how to use the new tool or technology you will work with. In a nutshell, a great web developer excels at learning how to learn without missing deadlines!
If someone else has done it before, you can do it too! Remember that documentation can reduce your work from 30 to 3 min.
David, Fullstack developer
This might be something as simple as reading new documentation or articles when you get a chance. Other times it comes by working on personal projects where you play around with new concepts or language-specific syntax. Either way, Google and Stack Overflow are your best friends, don’t be afraid to talk to them! Even the most hard-core senior developers you can think of still look up stuff all the time.
You Maintain More Than You Create
Think about web development like writing a book. You may think that your book is unique, your story, never heard of, and your plots, simply mind-blowing. More or less, you are probably right. You probably do have an amazing story with an amazing plot. But, one thing is for sure. Your technique is not unique.
Similarly, projects in web development seem unique, if you just look at tutorials and classes in school. However, like writing a book, developing techniques are never one of a kind. In fact, many developers will say that they have not yet worked on a brand new project.
Develop, Deploy, Update, Repeat
Whether you work in a dev shop like Wiredelta, where you will work with different projects, or you work in a product company, the story is the same. You rarely develop something from scratch. In fact, most projects today use some kind of framework. The whole idea behind frameworks is for you to code as little as possible, and finish a task as quick as possible.
However, this also has something to do with the fact that projects have similar functionalities. So, if you do work in a software development company, you will inevitably use other projects as inspiration. If you work in a product company, you will only have to maintain and update the existing software. Nothing new here, either.
Don’t Get Discouraged
You may think that you are wasting your time. You spent months looking through scary code belonging to someone else, for nothing. Maybe you think you will never have the chance to show off your new web development skills. But, that’s not true!
The project or product you are working on may not be unique, but chances are your skills are. As mentioned before, web development is an art, not a science. So, take that proverbial block of clay that is the web application you are working on, and make it beautiful!
The Point Is…
Web development should not be complicated or scary, it’s inherently creative and beautifully complex. Remember to communicate with your team and never be afraid to ask for a second opinion. Sometimes things may get overwhelming as you try new things, but as long as you understand the core principles, you will be fine. For all the rest, there is always Google and Stack Overflow.
Always look for ways to improve your code and your workflow.If you are stuck on an issue more than a few hours, don’t waste more time it’s ok to ask for help
Stilyan, Frontend developer and Designer, Wiredelta
Our final advice to new web developers joining this incredible digital world where we magic is created every day: Enjoy your work! You are creating something amazing every day, and you should be happy and proud of it.