Web Development Divided Into 3 Categories

When starting to learn web development it is important to know the fundamentals. The fundamentals of web development can be split into 3 general areas. In this article I will describe those 3 areas, why they are important, and how much time one should spend in each. It is important to know where you see yourself one year from now, or two years, or even five. Seeing yourself in the future can help you save time now, and this article will help you do that.

The 3 Areas of Development

  • Design
  • JavaScript
  • Programming

The 3 areas I’ve chosen to divide web development into might be odd to experienced developers or people in the field, but I believe these 3 areas are pretty clearly separated.

Design

With the rise of learning algorithms and super effective tools that make erecting websites happen in a matter of a few clicks, I see the web industry relying less on highly skilled programmers. Computing power has become extremely cheap in the last decade, making the necessity of effective code decrease. It is not critical if there is some level of redundancy caused by one for-loop nested inside another. Nobody notices the millisecond delays, instead, people are staring down into their personal phones waiting to be impressed by a company’s website. Their mood is affected by the colors that were chosen and how easy and delightful it is to navigate the website. Anybody can purchase a wordpress theme, but to be able to offer 100% original custom designs is a more valuable skill. If you have looked into this but find CSS redundant and super boring, check out http://sass-lang.com/, it is what I think CSS was meant to be and then some. Personally, sass-lang has refuelled my love for design because of all its syntactic sugar.

JavaScript

Sure, JavaScript means programming and I understand why you would be confused that I’ve designated it as its own area of web development. Here’s the reason why I’ve done this: JavaScript is used in front-end development, and many websites use ajax just to pull in data and display it to the user. Pulling in external data, placing it, and manipulating it on the Document Object Model (DOM) is a programming skill, but it’s important to note that it is distinctive in that it can be easily segregated as someone’s responsibility when developing large web projects. And that’s what all 3 areas I’m describing here have in common. One reason why you would like to specialize in JavaScript is that most of the requirements for related gigs are pretty clear cut. The client doesn’t come back with revisions, such as the case for Design. And the task is always well understood (bring the data into the site, place in the HTML), as opposed to the other programming that I speak about below. In other programming tasks you might ask yourself what exactly does the client want me to do with this data again? Or you might have to spend some time creating a new algorithm / modifying an existing one. JavaScript front-end programming is different, it is a bit more stress-free. Usually, the heavy lifting has already been done by the back-end developer and all you have to do is pull the data, maybe implement a filter or a sort function but not much else. That’s why I enjoy JavaScript programming. The logging function and debugging tools are also friendly.

Programming

JavaScript is programming (mostly front-end), but the programming that I’m talking about here is programming done by true coders. The programming I speak of is not much abound binding JSON values to HTML elements, but more about finding the exit to a maze or something more useful, aggregating data and finding trends, normalizing flat tables of information into relational databases, creating your own control tables, or developing pricing strategies through machine learning. The type of programming that I speak of here is the type of programming that solves problems that haven’t been solved before, or at least have, but are kept private by other companies. This could be a learning algorithm, a bot that collects data, or an app with a complex formula that provides its users with some kind of computational result. The type of programming that I refer to here is the type that ends up running on the backend of web applications or web based services.

Conclusion

These 3 core areas, Design, JavaScript, and Programming can allow you specialize and over time develop effective production workflows and an unparalleled competitive advantage in the market. Sure, there is demand for simple web projects, WordPress blogs, weebly, and wix sites. The projects ask you to install the page builder, click in a couple of places, submit some forms and viola. $300 a pop or cheaper if you look on craigslist or outsource through fiverr, but how much of this work can you do before you have an existential crisis? Taking all these gigs would keep your hands full for a while and prevent you from investing in core skills that can solve problems across many industries.

Would you rather make many $300 websites, or be part of a bigger project that aims to bring something new to the table and innovate a certain industry space?

Knowing core technologies allows you to move horizontally across many industries as a subject matter expert of web development. So in conclusion, try to know the basics of each but if you enjoy design and aesthetics, focus more on Design (html + css/sass). If you enjoy practicality and integration web services, focus more on JavaScript. And if you enjoy solving complex problems and see coding as a fun puzzle-solving activity, just focus on Programming in general. My favorite is Python, though one can also use JavaScript as backend thanks to Node.js.

Leave a Reply

Your email address will not be published. Required fields are marked *