The main goal of the following text is to motivate developers to stay creative and invent new things instead of following the existing paradigms only.
Programming is an engineering profession that requires precision and knowledge. On the other hand, precision limits the ability to think creatively.
The Internet industry requires developers to become maximally effective and all-knowing supercomputers. When a developer comes to an interview he is expected to be a walking encyclopedia. Once entered into the web development industry an engineer falls into a trap of “never enough”. The more knowledge he gains, the more he mentions the infinity of the technologies to learn.
Indeed, programming based on mathematics is a precise engineering profession requiring a ton of attention to detail and constant aspiration to improve code quality and efficiency.
Though developers are trapped by the hurricane of constantly learning, forget to experiment and try new hypotheses even if these hypotheses seem stupid at the first sight.
Even though programming is a precise engineering profession it’s just a tool for entering an infinite universe of opportunities. Creativity and experiments are the keys to inventing entirely new worlds and discovering new routes.
The industry dramatically improved the code quality and reliability of web applications. Better types, unit tests, documentation, modularization, etc. All that focused on making software more reliable, but at the same time more inhuman. The day is coming when all this part will be managed by the AI. One of the examples is Github’s Copilot. It can do already many routine tasks which programmers were doing on a daily basis.
So what about the “art of programming”? When you create an empty HTML document, open a <script> tag and start the journey into the “unknown” land. You can’t even imagine what you can meet there. There will be small and gigantic obstacles. Will be losses and wins. Ups and downs.
If you were rejected by companies, because you don’t comply with all the latest industry trends of programming don’t give up. You still can create, experiment, and play! Enjoy the process!
If wheat existed for bread baking only, we were living in an extremely boring world. The same with coding. Try, experiment, and invent new recipes!
Programming is only a part of the software engineering profession. SWE requires much more skills than just coding. It involves such skills as planning, communication, testing, software architecture, versioning, maintenance, and client support. What is SWE and how to become a better engineer are widely explained in the book “Software Engineering at Google“.
However, coding is a tool, which can be used by anyone not only engineers.
Programming for the industry is focused on money and efficiency, but turns us into slaves of the “making for them” ideology. It’s an ideology that helps to improve society as an entire organism. Though history has convinced us many times, strong individuals move society forward. The path to becoming this “strong individual” goes through experiments, creation, and sharing your experiences with the public.
Links:
Code is a craft, not a competition – and why it matters.
“Software Engineering at Google“
To read more articles written by me: anton-m.dev