The post has been translated automatically. Original language: Russian
The more experience you have in IT, the faster you sometimes want to move on to a solution.
I understood the task. You can roughly imagine how to do it. We can start now.
But sometimes it's useful not to start right away on complex tasks.
Because a few questions at the beginning can save a few days of work.
What should change after this task?
It seems like a simple question.
But it quickly shows whether we understand the purpose at all.
For example, a task comes up: add a new feature to the system.
We can immediately discuss how to make it.
But can I ask first: who will use it? What can a person do without her now? How does he solve this problem today?
Sometimes, after such questions, the initial solution no longer looks so obvious.
What happens if you don't do it at all?
Another useful question.
If the answer is "nothing special," perhaps the task is not as urgent as it seemed.
If it causes someone to do the same thing manually every day, lose data, or make mistakes all the time, that's another story.
This makes it easier to understand the real importance of the task, rather than focusing only on the place on the list.
What is the simplest solution?
Experience sometimes works against us.
You know many ways to solve a problem, and you begin to build a beautiful solution with a reserve for the future.
And this stock may never be needed.
Therefore, before starting, I would ask myself separately:
is it possible to solve this problem easier?
Not worse. It is easier.
Fewer changes, fewer dependencies, fewer places to maintain later.
Do we know exactly what will happen after the launch?
This is a particularly useful question for changes to a running system.
What might be affected by the new decision?
What will happen to the old data?
Will it be possible to get everything back quickly?
How do we know if the solution really works?
It's much more pleasant to think about such things before launching than after.
A strong specialist is not the one who starts doing things the fastest.
With experience, the value gradually shifts.
It is no longer so important to simply be able to solve a complex technical problem.
It is important to notice in time that the task can be solved easier. That there is not enough information in it. That the consequences are not thought out. Or even that you need to solve a slightly different problem.
Sometimes the best first step in a difficult task is to do nothing yet and ask five normal questions.
In my opinion, this is already a good topic for an experienced IT audience: without salaries, resumes, interviews and "how to become more successful". At the same time, it remains in the "Career" category because it shows a skill that appears with professional growth.
Чем больше опыта в ИТ, тем быстрее иногда хочется перейти к решению.
Задачу понял. Примерно представляешь, как сделать. Можно начинать.
Но как раз на сложных задачах полезно иногда не начинать сразу.
Потому что несколько вопросов в начале могут сэкономить несколько дней работы.
Что должно измениться после этой задачи?
Вроде простой вопрос.
Но он быстро показывает, понимаем ли мы вообще цель.
Например, приходит задача: добавить новую возможность в систему.
Можно сразу обсуждать, как ее сделать.
А можно сначала спросить: кто ей будет пользоваться? Что сейчас человек не может сделать без нее? Как он решает эту проблему сегодня?
Иногда после таких вопросов первоначальное решение уже выглядит не таким очевидным.
Что будет, если вообще этого не делать?
Еще один полезный вопрос.
Если ответ — «ничего особенного», возможно, задача не такая срочная, как казалось.
Если из-за нее каждый день кто-то делает одно и то же вручную, теряются данные или постоянно возникают ошибки — уже другая история.
Так проще понять реальную важность задачи, а не ориентироваться только на место в списке.
Какое самое простое решение подойдет?
Опыт иногда работает против нас.
Знаешь много способов решить задачу — и начинаешь строить красивое решение с запасом на будущее.
А этот запас может никогда не понадобиться.
Поэтому перед началом я бы отдельно спросила себя:
можно ли решить эту задачу проще?
Не хуже. Именно проще.
Меньше изменений, меньше зависимостей, меньше мест, которые потом придется поддерживать.
А мы точно знаем, что произойдет после запуска?
Особенно полезный вопрос для изменений в работающей системе.
Что может затронуть новое решение?
Что произойдет со старыми данными?
Можно ли будет быстро вернуть всё назад?
Как мы поймем, что решение действительно работает?
О таких вещах намного приятнее подумать до запуска, чем после.
Сильный специалист — не тот, кто быстрее всех начинает делать
С опытом ценность постепенно смещается.
Уже не так важно просто уметь решить сложную техническую задачу.
Важно вовремя заметить, что задачу можно решить проще. Что в ней не хватает информации. Что последствия не продуманы. Или вообще что решать нужно немного другую проблему.
Иногда лучший первый шаг в сложной задаче — ничего пока не делать и задать пять нормальных вопросов.
Вот это, на мой взгляд, уже хорошая тема именно для опытной ИТ-аудитории: без зарплат, резюме, собеседований и «как стать успешнее». При этом она остается в категории «Карьера», потому что показывает навык, который появляется по мере профессионального роста.