Explore vs Exploit: Дилема

"Джак на всички сделки, майстор на никой"

Да речем, че искате да гледате телевизионен сериал, започвате да мислите за този, който приятелят ви наскоро предложи, който може да ви хареса или не. От друга страна, ако гледате отново епизод от „Приятели“ (имайки предвид, че сте го гледали преди), сте сигурни, че това ще бъде забавно.

По подобен начин компромисът на проучване / експлоатация ни казва как да мислим за съвети от нашите старейшини. Когато дядо ви казва кои ресторанти са добри, трябва да слушате - това са перли, извлечени от десетилетия на търсене. Но когато той ходи само в същия ресторант в 17:00 всеки ден, не се колебайте да разгледате други опции, въпреки че те вероятно ще са по-лоши.

Това се случва, когато започнете да живеете в нов град, първоначално трябва да започнете да проучвате местата за ядене или пиене, но когато сте на път да напуснете града, трябва да използвате тези, които наистина сте харесали.

Когато започнах да работя в ThoughtWorks преди две години, познавах Java и малко програмиране на Android. В първия ми проект създавахме приложение за Android и аз получих шанс да науча различни модели в Android и добрите практики, които да следвам, докато създавам потребителски интерфейси и т.н. Това направи вдлъбнатина на повърхността на Android програмирането за мен и исках да научете повече за това. Реших да продължа с Android още известно време, така че да се запозная с вътрешните подробности и да разбера по-добре екосистемата. В следващите проекти се изложих на RxAndroid (Реактивни разширения за Android), MVVM / MVP модели, тестване на единици Android код, Data Binding и подобни жаргони на Android.

Но нещата се промениха след няколко месеца, когато получих възможност да работя по задните технологии, където се изложих на архитектурата на Micro-Services, поточните услуги, асинхронните разговори и как компонентите си сътрудничат в разпределена среда.

Научих много неща, но усетих, че покривам прекалено голяма площ на повърхността и нямам възможност да се гмуркам дълбоко в някоя от тези зони.

Това чувствам е проблем с много разработчици, които започнаха наскоро. Разбрах, че научаването на нови неща ще ми помогне да разширя кръгозора си и ще ми отвори нови възможности (точно това, което се случи в моя случай), но това, което трябваше да направя повече, беше да продължа да правя това, което знам и да се гмурна по-дълбоко в концепциите.

Докато решавате кога да превключите и кога да продължите, има няколко важни точки, които трябва да вземете предвид:

  • Компромиси: Всичко е за компромиси. Когато вземам решения, какво печеля и какво предавам, когато вземам конкретен избор с много възможности?
  • Време / спиране: Кога да избера да спра да преследвам един, курс на действие и да опитам друг? Колко пъти трябва да опитам първия, втория или третия курс на действие? Кога трябва да спра да опитвам опции и да се придържам към този, на който съм?

Когато мислим за кариера, е полезно да мислим за два вида - или форми - на професионалисти. Човек може да бъде оформен или като „аз“ (мисля тесен и стегнат) или като „T“ (мисли разширено). I-образният професионалист е добре запознат с определена област на експертиза и се учи, като пробива по-дълбоко в определена област. Т-образният човек има по-широки умения и знания и се учи, като свързва различни гледни точки от различни специалности.

Това е един от многото проблеми, през които много от нас трябва да преминат. Според мен „аз“ с „Т“ е по-добър подход. Повечето специалисти имат област на специализация, но е по-вероятно да намерят отличителни идеи, ако имат крак извън своите „малки светове“.

Беше перфектно изобретение. Беше лесно да се приложи технологията, но тя внесе стара идея (търгове) в нов домейн (интернет).
- Андрю Харгадон