РАЗРАБОТВАНЕ НА СОФТУЕР

Като разработчик на софтуер бихте ли предпочели да бъдете бог в общността с отворен код или да имате скандална заплата?

Как измервате успеха си като разработчик?

Познавам няколко момчета, които се смятаха за доста умни,
Но ти си се спуснал до изкуство,
Мислиш се за гений...
...Това не не ме впечатли много
— Шаная Туейн, 1997 г

Вие сте записали часовете. Затворихте много билети. Вие сте консумирали плантации на стойност кафе на зърна. Преживели сте умопомрачителни срещи. Докладвали сте „без пречки“ в схватките повече пъти, отколкото Тръмп е твърдял за „изборна измама“.

Часове извънреден труд? Нека дори да не ходим там.

В кой момент от кариерата си спряхте, направихте дълга пауза, потупахте се по рамото и си помислихте: „Успях!“

Или още по-добре, „По дяволите го направих! Аз съм мамка му!" (В добрия смисъл)

Аз съм кариерен софтуерен разработчик. Поех по пътя към колежа. Скучният маршрут, може да кажете. Този, донякъде предписан от родителите ми. Изминаха две десетилетия и все още продължавам.

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

Приблизително една трета от разработчиците, с които работих, са имали предишна кариера в други области. Разработчиците, независимо откъде идват, имат едно общо нещо, любовта към решаването на проблеми.

Първите награди

Разработката на софтуер, в самата си същност, е програмистите, работещи върху един голям пъзел, който се опитват да разрешат...който също създават, докато вървят.

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

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

С напредването и израстването ми в корпоративния свят трудността на проблемите нарастваше пропорционално. Но дали допаминовите награди са нараснали еквивалентно? Не толкова.

Разбира се, беше добре да решим проблема. Но бързината, която трябваше да последва, намаляваше все повече и повече. Защо?

  • Е, винаги имаше друг проблем за решаване точно зад него. Нямаше много време наистина да празнуваме ритането на последния
  • Имаше много спешност и важност, свързани с решаването на проблема. Докато проблемът беше решен, най-важната емоция беше облекчението. Просто се радвахте, че е разрешено и че можете да продължите напред и да поспите

Определения за стойност и успех

Като разработчик на софтуер, къде и как поставяте стойността си? Как определяте успеха си? Измервате ли успеха си с контролен списък с постижения? Има ли елемент от времето, който влияе върху измерването?

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

Надяваме се, че сте подобрили играта си.

Колко високо отиваш? Къде ще отидете след това?

A-Работеше в ранговете, трупайки титли

Имаше ли титла, която искахте да постигнете? Виждането на титлата „Архитект“ до името ви сигнализира ли за върха на вашия успех в областта? Или може би просто сте искали да бъдете посветени в рицарство с думите „Старши разработчик“, преди да се похарчите на този парцал.

Въпреки това баба щеше да те обича по същия начин, независимо каква титла имаш.

Б-Работил в големи компании

Facebook. Ябълка. Amazon. Нетфликс. Google — петте компании, които съставляват акциите на FAANG. Всяка от тези компании би направила атрактивни заглавия в автобиография. По дяволите, кой не би искал да изкарва страхотни четвърт милион от тези работни места, докато се наслаждава на безплатна храна и модерни предимства като неограничен PTO?

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

Като разработчик, чувствали ли сте някога, че трябва да допълните автобиографията си с компания FAANG, за да се почувствате успешни? Какво ще кажете за други компании, които също са много ориентирани към разработката? Дали Microsoft, GitHub, Atlassian, JetBrains или Stack Overflow ще надраскат достатъчно сърбежа?

C-Изобретил технология, процес или софтуер

Може би искате да сте като Линус Торвалдс, който създаде Linux, или Джон Резиг, който създаде jQuery, или Палмър Лъки, който създаде Oculus, или Дъглас Крокфорд, който създаде формата JSON, или Сам Шафран, който създаде Dapper Micro ORM.

Има стотици и хиляди новатори в областта на софтуера и хардуера. Споделеното знание и принос непрекъснато се въртят в екосистемата, от която ние, като разработчици, симбиозно бозаем.

Бихте ли искали да бъдете суперзвезда, сътрудник на хранилище с отворен код? Или имате предвид новаторски проект, който ще пуснете в отворен код? На следващата голяма конференция ще скандираме ли името ви?

Ако имаше технологична Алея на славата в Силициевата долина, бихте ли искали звезда с вашето име върху нея? Младите надежди в индустрията ще потърсят вашата звезда и ще си направят селфита до нея.

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

D-Работил по голям проект или приложение в масова употреба

Били ли сте в екип, който е създал продукт със значителна стойност? Ами ако бяхте в екипа на React? Или екипът на Flutter?

Бихте ли се почувствали завършени като част от групата, създала LinkedIn? Знаейки, че милиони хора използват LinkedIn ежедневно, бихте ли използвали това като линия за приемане?

„Здравей, бих искал да се свържа с теб. Между другото, помогнах за създаването на LinkedIn.“

Чудя се как Сергей Брин живее ежедневието си, като знае, че на практика всички в съвременното общество използват Google. Получава ли изтръпване на специалното му място всеки път, когато е навън и чуе някой да споменава Google? Не, той вероятно го е преодолял.

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

Електронна работа или връзка с големите имена в индустрията

Има хора, които обичат да наричат ​​капка.

Веднъж написах статия тук в Medium и определен Стив Джонсън отговори и проведохме кратък разговор. Оказва се, че Стив е бил мениджър на Bjarne Stroustrup по едно време в Bell Labs.

Това е вярно! Този Бярне. Този, който създаде C++.

Самият Стив е създателят на първата програма Lint.

Да имаш способността да водиш разговори с хора от индустрията може да бъде утвърждаващо и смиряващо в същото време.

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

F-Поканени да говорят или да споделят знания

Когато вашата Alma Mater ви покани да бъдете гост-лектор или помощник-професор, може би вашите умения за разработчици са били признати.

Или когато е запазено място за вас в WWDC на Apple, или в Build на Microsoft, или в I/O конференциите на Google, може би някой е забелязал, че имате нещо, което си струва да споделите. Най-накрая е време да покажете тази великолепна брада.

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

Да дадеш обратно на общността винаги е възнаграждаващо чувство. Безплатните стоки, полет и престой в хотел също не са лоши.

Г-Не се прецаквам

Пилотите имат поговорка: „Всяко кацане, от което можете да се отдалечите, е добро кацане“.

Може би разработчиците могат да се стремят просто да нямат сериозна грешка в кариерата си. Как би изглеждало това за разработчик? Е, нарушение на сигурността или данните, причинено от вашия код, би било лошо. Катастрофална загуба на данни би била, е, катастрофална.

По принцип всяка повреда на данни, причинена директно от вас или вашия код, не е нещо, което искате да фигурирате в списъка си с разработчици. Или съвестта ви.

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

(Има онези други „малки“ загуби, които се случват – лоши сливания на източници, които ви принуждават да повторите работата или изходни файлове, които просто се губят по някакъв начин)

Може би това е просто работа

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

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

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

Няма нищо лошо в това да получиш тлъста заплата, да осигуриш семейството, да получиш годишен ъпгрейд на iPhone и да хвърлиш малко дискреционни средства в някои акции на мемове, надявайки се да бъдеш следващият „Кийт Гил“.

Ако можете да вдигнете краката си в хамака на крайбрежния си Airbnb, да стриймвате любимата си музика, да създавате следващото разсейване, подобно на Wordle, в любимата ви IDE, бих нарекъл това адски добър живот на разработчици. Даже успешен.

Хаштаг печели.