Software development is a craft as any other and virtue of the craftsman is reflected in his work. Good work is born out of passion, believe, patience and balance. In distress, code written is buggy, wooden chair crooked, article affective, roof leaky. Ultimate goal of a craftsman is mastering his character, not his craft. Craft improves with experience shared with his peers, having their work reviewed and passionately discussing its progress like a family cares about well-being of their offspring and observing causality closely back and forth to simulate further development, none of it can be faked in long-term.

Strong philosophical foundation compliant with principles of life is born from within, from the character and relationships of the craftsmen and from properties of the system. Transparent, open-source software with added value and benefits for the world, people, nature or overall sustainability, built on top of research, peer-reviewed White Papers and evolving through Improvement Proposals, is compliant with principles of life as it is heavily reasoned and thus craftsmen do not question its meaningfulness and morality, they believe in it and feel comfortable being part of it. People in some blockchain, green/eco-friendly/sustainable and scientific projects understand that however majority of companies are just exploiting naivety of society.

Software often evolves for decades even, accumulating complexity of macro-anatomy of human body. That requires deep awareness of the system’s evolution as one design mistake has a causal effect like a bad injury. Elimination of a single point of failure in both runtime and design has eventually become a standard. Paradigms like separation of concerns or dependency management for building modular software were inevitable to adopt decades ago, followed by microservices in centralized world and peer-to-peer system in decentralized world.

Increasing amount of paradigms is getting adopted by modern software which puts pressure on the craftsmen, narrow specialization becomes similar to being loyal and faithful, juggling with too many balls is just a way of revealing new, dead-end paths. If motivation is money, ego or social status instead of exploration and wonder to eventually become useful to the world, one might not get any respect as people can tell a difference between wasps and bees. Greed and competitive environment force people to give up on usefulness while being part of society, but the right question is and always will be: how can I be useful to the society which I live in?

Answering that to eventually become useful requires a good philosophy, research and real life experiences. Many impactful industries towards meaningfulness have emerged but as a software engineer you often need deep specialization in a secondary industry like biology or genetics, fortunately there are new areas that can be useful without PhD. : decentralized software and artificial intelligence.