Markup & Interactions

All apps and websites are a way to display some information in an organized way. Some do it more handsomely, others focus more on function.

Too many software developers put to much emphasis on the technology stack because they want the job opportunities that come with those technologies failing to realize that the technology stack is there to help you solve problems not to find problems to solve.

There is an exception tho. When there is a leap forward in technology that opens up new opportunities that were thought to be too hard to handle before. Moments like when people first started switching from Java to Ruby on Rails or from jQuery to React meant that all of a sudden you were orders of magnitude faster during the development process if you knew how to solve certain problems and had the all the other skills required to solve certain problems. It was never the other way around of learning how to use the tools and then looking for problems to solve with them. It might have been the case that the gap in tooling was so big that knowing how to use a tool properly could compensate for lacking many of the skills necessary to make a home run.

For example, modern front-end libraries & frameworks like React, Angular were built by Meta and Google to solve Meta and Google kind of problems for which they pay a very generous compensation. Using the same technologies to build an simple admin panel or a marketing website will not result in the same compensation because the problems at hand are not as hard and the impact is much lower. Neither the skills developed won't be the same because their problems are way more complex. Negotiating a button implementation in a Big Co might be harder than developing an entire product in a Small Co.

By the time the job market catches up to the new technologies it is already too late for a technology to be that much of a differentiating factor and the pay will adjust accordingly. This moves you back to square one because you have a hammer but you don't know what problems you hammer solves. Neither how the hammer is supposed to solve them.

Confusing the problem you have to solve with the problem you would like to solve creates all sort of discrepancies and missed expectations. Endlessly chasing what is new and shinny. From time to time, old projects like this website remind us that we have lost our way. Now, of course if you were to build it nowadays you would pick a modern stack and will speed past them in terms of development but everybody has access to the new stack and also has the knowledge to use the new stack. Therefore the only differentiating factor would be how much better you are at the common things both projects would have like how to structure the layout and the data.

All software does is to display information and enable interactions with that information. Having a strong understanding of the basics enables you to make the right decisions for the problems at hand making you forever employable. Having better tooling will only enhance what is already there.