I am putting here some personal thoughts about programming that I’ll try to become more awakened and follow them in practice in the year 2020. These personal, self-recommendations are time-savers, ideas and goals. I’ll try to recognize which of them will live far after 2020.
Don’t read articles, ignore and not join meaningless technical discussions – what is better in 2020? Java vs Kotlin, React Native vs Flutter, Java vs C# vs Go, Amazon vs Microsoft (Azure), Apple vs Google. Co-routines vs AsyncTask, Background Services. The list goes on and on and on. Yes, I know some of the stuff has architectural advantages over others, some of them give or have better user experience than others. But who gives a fuck in the end? Especially not the end user/consumer.
Speed of development – No one talks about it. How fast you implement some useful to the business logic? Not how cool, complex, reusable, scalable, testable or whatever technical feature your code has. In the end – the work that is delivered to non-tech people is what counts.
Ownership of what you do – Do you really own what you do? You have a YouTube Channel? How cool is that – you just have a registration, a profile on platform owned by Google. You work for X money? Cool nothing is truly yours in the end – and the pieces of paper will fade away – by bills, food, and inflation. You have an app X, Y – well once it is on the stores it is more of a property to Google, Apple, Amazon, Samsung than yours. You have a site? It it more yours compared to the other things, but while you actually don’t run the servers yourself, you don’t truly have full ownership of your app, site, platform or whatever.
Besides the technical description – how much people reach do you reach? This is a key to success. The more people you serve the better chances is to monetize it. The challenge is – when everybody is your potential user/customer – you will have hard time serving him. There is a saying – when you try to please everyone – in the end you will not please anyone. Mission impossible. That’s why marketers have a concept called perfect client.
What people actually need? Technical people create solutions, marketers try to position solutions on the market. But the core – basic needs of the masses are very low – food, health, roof, shelter, peace and understanding between each other. All other needs are artificial – technical optimizations, religious, political, economic, national movements. Divide and conquer – said the Romans. Working in some way on the basic needs is a key to have a broad specter of potential users and customers for the long run – not just for the year 2020.
With the time the human individuals may (or may not) gather knowledge and wisdom and unique point of view on the tech, the world and beyond. Using this point of view to figure out what could be done to improve our own life in our close circle and improve the life of the bigger circle – country, continent, world is an engineering approach. It is hard to detach from emotions embedded in the news, events, politics and international relations. But we here every day big names trying to do that. Why not try it ourselves.