Before I did web development, I was a engineer. I had worked with software before, mainly with robotics and machine learning, so I thought web development would be an interesting switch. I figured that it's programming and I like to do that, so why not?
It was one of the best decisions I've made, but there are a few things I wish I had known before I made the switch.
It's has nothing to do with math
Coming from my programming background, I figured there would be a lot of math. I thought that web development used all of these crazy algorithms and that I would have to have be able to translate that math into code. I couldn’t have been further off if I tried.
Web development is more of an art than a science and it took a while for me to understand that. There's always more than one way to handle a task and multiple ways are optimal. It takes more problem solving skills than math skills to be a good developer. Getting to the root of an issue or clearly defining a new feature is a way more important skill than trying to do fancy math.
You have to talk to people quite often
In all honesty, I thought since web developers mainly wrote code that I wouldn't have to talk to anyone. It seemed like I just needed somebody to tell me what they wanted done and then I go do work alone for the rest of the week. I was really looking forward to that with my first web developer job!
Then I learned about agile development and client requirements. Sure there are days where I don't talk to many people, but there is never a day I don't talk to anyone. Questions come up, project scopes get updated, and clients change requirements. Good communication skills define a good developer just as much as good technical skills. Actually, communication skills are more important.
If you're trying to find a job with limited interactions with other people, web development is not it. This was probably the biggest shocker to me because of all the stereotypes about developers. Developers are some of the friendliest, helpful, and talkative people out there despite how the media portrays us.
You really do learn as you go
There's a level of this in any job, but it's a little different with web development because the changes can be drastic. Programming languages and frameworks get updates all the time. Even IDEs get updated and it could change your normal workflow. Your company could decide to switch to React from Angular or they could switch from MVC to .NET Core.
Or you could get a new job and they use a completely different tech stack. The main thing is that you understand the underlying concepts and architecture then it's just a matter of figuring out how to do that in a specific language. To be a web developer, you have to learn how to learn without missing deadlines.
It might be something as simple as reading articles when you get a chance or working on personal projects to cement those concepts and language specific syntax. Be ready to do a lot of Googling and don't be embarrassed. Senior developers still have to look up stuff all the time.
You'll typically not start a project from scratch
Based on the way tutorials and classes normally teach web development, I thought every project I would work on would be brand new. I still haven't worked on a new one yet with the exception of some websites I made for people. Most companies already have existing software and they just want you to make updates and maintain it.
That's why understanding the core concepts of web development is so important. You'll be reading through other people's code trying to figure out what they did and why they did it that way. Knowing how to find your way around legacy code is also a crucial skill.
I was lost for the first few months of my web development career. Looking through all of that code is intimidating when you don't understand some of those core concepts. It can also be a little disappointing if you were really looking forward to showing off your new web app building skills.
There aren't any real regulations
This one caught me off-guard. In engineering, there are certain regulations you have to meet or your designs are sent back or completely scrapped. The work is heavily monitored and the number of signatures you need is incredible. In web development there are best practices. It's a set of rules that make web development easier, but they are open to interpretation.
For example, not every company uses agile the same way. Not every company makes time for writing tests or they skip certain parts that they feel aren't necessary. Of course there are some rules like with SOX and HIPPA, but not for the architecture of the software and the way code is implemented.
You might need to get a pull request approved and it might get shot back for a few changes, but the process is nowhere near as regulated or enforced as I imagined it would be. Web development really is like an art because everybody does things a little differently. It depends on the languages you use, the environment you work in, and the people you work with.
Those were just a few things I wish I had known in the beginning. There are a lot more resources out there now, but none of them really take the time to explain what a professional developer really does each day. Hopefully this gives any beginners a little more insight.
Were there any surprises to you when you became a web developer? Did you have expectations that were completely blown away when you got your first job? Especially if you were making a career change from a completely unrelated field.
Hey! You should follow me on Twitter because reasons: https://twitter.com/FlippedCoding
Latest comments (36)
I remember being hired for my first webdev job to do a full-stack position and expected to learn everything within a week when I only had experience with basic front-end projects. Dealing with existing code and projects are pretty scary, especially when you never worked with that framework or language before and thrown into it on top of deadlines needing to be met.
Great read!
Great article Milecia
"In engineering, there are certain regulations you have to meet or your designs are sent back or completely scrapped."
This. A million times, this. I was one of the people that for the past 10 years I was bragging for being a "software engineer". Thanks for the article, you helped me see the truth that was right in front of my eyes and I chose to ignore.
It make me remember MIT intro to cs lecture 1, when the Prof said computer science is a terrible way to introduced cs, cuz it's not a science or more like engineering, art or magic and it's not about computers in the same way biology is not about microscope.
youtube
Awesome post, very relatable.
Great informative stuff.Really useful for web developers. I would like to add my site : chennaiwebs.com/web-development-in...
Sure! Feel free to use it!
Thanks for sharing your web development experience. Even I'm a web developer aspirant and I did realize one of your shocks during my practice. But all the same, I consoled myself that any cool concept that involves math can be an addon to the site.
mathematics is also about problem solving.
Hi Milecia, I loved your article and I included it my latest video:
dev.to/marek/dev-to-career-insight...
Hi Marek,
Thanks for including me in your video! You touched on a lot of good points from all the articles you reviewed. 🙂