📜 ⬆️ ⬇️

With a nail in the eye, everything seems to be a nail

Most developers, including myself, instinctively prefer to engage in technological tasks in the hope that along the way, a couple of product problems will be solved.

Having acquired something like a new super-scalable hammer, hotly debated on Hacker News, you beat them on everything that comes your way until every thing you turn into dust, and everyone you love does not die from heavy cranial-brain injuries.

Transferred to Alconost .
')



If you perceive your code as a technology, and not as a product, you lose. You do not know how to increase the number of users, so you give up and just switch to any interesting problem solved programmatically. You expect one hundred million users, not even having a hundred. You create a hopelessly meager subject-oriented language without having a real understanding of the subject for which it is needed. It may turn out that everything that you have been doing for the last three months will have to be curtailed in a week, because the market for hiring badgers via SMS has not yet reached the level you expected.

However, you created a nice heart technology, experienced intellectual stress, so you at least do not seem to have that time wasted. Of course, there is nothing so terrible about this technology. Writing code that only helps you understand Arel a little and practice using Vim is still worth the effort if you want to become better at using Arel and Vim. It will be a terrible idea only if your goal is not a technology, but a product. But when you have a nail in your eye, everything looks like a nail.

If you think of your code as a part of a product, and not about technology, you are happy to solve all the boring problems that arise for your users. You do everything so that they receive letters on time, the texts are of high quality, and the error messages are informative. It may be that sometimes you have to work on a different programming task, but only if you need it to seriously improve the user interface.

Do not think that by solving terrible equations, you allow advanced users of your future product to process, import and export source data in all possible innovative and unusual ways. Instead, admit that no one really understands what your product is for, and that perhaps you should just improve the text on the main page and add scripts that are clear and familiar to the user.

Now I'm doing a side project , thanks to which developers can be sure that the code is being tested. And, in my opinion, the product will come out good. It systematizes and implements the approach to checking the code that we use in Copyin , and several people have already said that they will use it with might and main as soon as it is ready. But I still really do not believe in this product. I still want to run a small Sinatra application that handles events on Github asynchronously, and create an algorithm to automatically determine which team member is better to allocate for checking a commit. And during all this time, I never took up email notifications.

If you are easily carried away and intrigued, you need an incredible amount of energy to keep the focus on the product, not the technology. This energy is extremely valuable, and to find its source is very difficult. You may be fueled by blind faith, reliance on future consumers, or the fact that your code is already in use or at least recognized by real people — that is, it has already become a product, whether you like it or not. So even if the early launch of your project doesn’t teach you anything, it will allow you to remain honest. It will remind you that your code is a product, and that you need to focus on solving product problems.

The deeper you dig into technology, the more you move away from reality and the market. Technology does not recognize you in love. And when it turns out that you are digging in the wrong place, tightly stuck in the foul-smelling mud, you don’t even remember why you even started digging in this stupid direction.


About the translator

The article is translated in Alconost.

Alconost is engaged in the localization of applications, games and websites in 60 languages. Language translators, linguistic testing, cloud platform with API, continuous localization, 24/7 project managers, any formats of string resources.

We also make advertising and training videos - for websites selling, image, advertising, training, teasers, expliners, trailers for Google Play and the App Store.

Read more: https://alconost.com

Source: https://habr.com/ru/post/187446/


All Articles