23 алтернативна путања у каријери у које програмери софтвера могу да урасту

Током протеклих пет година одржао сам на десетине гостујућих предавања на многим камповима за покретање кода у Чикагу.

Непрестано се поставља неколико питања: „Који језик да даље научим?“, „Како се могу припремити за техничке разговоре?“, „Да ли запошљавате?“

Али једно питање које ме је одбацило било је: „Шта ако не желим да будем програмер софтвера?“

У последње време много размишљам о овоме. После скоро деценију водећих производних и инжењерских тимова, схватио сам да сам спреман за нови изазов, па сам овог лета започео самостално техничко писање. Нисам знао када сам добио првог клијента, али брзо сам схватио да је писање технике један од многих ваљаних путова у каријери бивших софтверских инжењера .

Шта још могу програмери софтвера?

Ова спознаја ме натерала на размишљање: „Које још послове могу радити софтверски инжењери осим писања софтвера?“

Списак је изненађујуће дугачак.

Овај пост ће проћи кроз многе путове каријере доступне програмерима софтвера, посебно недавним дипломцима боотцампа. Објаснићу вам шта ради сваки посао, како можете ногом ући и дугорочне изгледе.

Без обзира да ли тражите алтернативни пут каријере зато што нисте пронашли посао инжењера или зато што сте схватили да развој софтвера није за вас, овај водич ће вам помоћи да пронађете каријеру која одговара вашем скупу вештина.

Алтернативни путеви каријере за програмере софтвера

Улоге суочавања са купцима

Иако софтверски инжењери имају користи од вештина људи, неки дипломци боотцампа с којима сам разговарао не радују се мирном седишту и писању кода по цео дан. Ако желите пут каријере који пружа више могућности за интеракцију са људима, ови послови могу вам одговарати.

1. Односи са програмерима, заговарање или евангелизација

Како све више компанија настоји да изгради односе са програмерима који су њихови купци, корисници или заговорници, поље односа са програмерима брзо расте.

Стручњаци за односе са програмерима (неке компаније их називају заговорницима програмера, еванђелистима програмера, управницима заједница или „ДевРелс“) помажу у успостављању и изградњи заједнице око софтвера њихове компаније.

Често су укључени у креирање демо апликација, писање блогова, говор на конференцијама и управљање рачунима друштвених медија за компаније усмерене на технологију. Многе познате технолошке компаније (Фацебоок, Гоогле, Амазон, итд.) Ангажују тимове стручњака за односе са програмерима.

Ако вас занима ово поље, прочитајте шта раде Мари Тхенгвалл и ПЈ Хагерти. Они су двоје мојих омиљених инфлуенцера у свемиру и заједно су објавили подкаст Цоммунити Пулсе.

2. Маркетинг за програмере

Иако постоји одређена преклапања са односима са програмерима, маркетинг за програмере је усредсређенији према споља.

Маркетинг програмерима је посебно незгодан јер не волимо да нас продају, па су многе агресивније маркетиншке тактике које делују на другим тржиштима овде табу. Као особа са техничким предзнањем, природно ћете разумети начин на који програмери мисле и имаћете више снаге него што би то могао традиционални продавац.

СласхДата износи пуно сјајних садржаја о Девелопер Маркетинг-у, укључујући књигу на ту тему из 2018. Ако желите да започнете у овој области, научите мрежни маркетинг: СЕО, друштвени медији, маркетинг садржаја, маркетинг утицаја итд. Многе од ових вештина можете вежбати на свом блогу да бисте показали своје знање пре него што се пријавите на посао.

3. инжењер продаје

Многе инжењере искључује било који посао са насловом „продаја“, али то је само зато што смо сви наилазили на лоше продавце.

Истина је да су сви у продаји. Без обзира да ли се „продајете“ као кандидат за посао током процеса разговора или заговарате нови оквир свог инжењерског тима, продаја значи поклапање потреба купаца са правим решењем.

Инжењери продаје јединствени су по томе што поседују одређени ниво техничке стручности. Ово може изврсно да се подудара са програмерима који не желе читав дан да пишу код, али разумеју софтверски инжењеринг.

Други леп део продаје је тај што вам за то нису потребни никакви специјализовани сертификати. Хубспот нуди сјајан увод у неке вештине и ресурсе од којих можете почети. Како све више компанија гради софтверске алате и услуге за инжењере, инжењери продаје ће вероватно постати још траженији у наредној деценији.

4. Технички регрут

Још једна професија која лоше погађа софтверске инжењере је техничко запошљавање.

Упознао сам неке искрене, праве технолошке регрутаторе (Таилор Дорсетт и Матт Хоффман из мог родног града Чикага, на пример), али упознао сам и грозне, незнајуће регрутне раднике који су усредсређени на пробијање кандидата да достигну своју квоту .

Добра вест је да ћете са искуством у развоју софтвера имати више емпатије и кредибилитета од многих других техничких регрутера. Као и продаја, ово поље захтева одлазнију личност, фокусирану на односе, али не захтева специјализоване сертификате или курсеве.

На жалост, многи послови почетног нивоа у технолошком запошљавању су у неквалитетним фирмама, па проверите њихову репутацију на Глассдоор-у пре него што се пријавите.

Улоге производа

Ако желите да останете у тиму производа, али нисте сигурни да желите да будете програмер софтвера, постоји много поља у која можете да пређете. Ове улоге блиско сарађују са инжењерима, тако да ће вам знање кодирања помоћи, али захтевају и друго специјализовано знање.

5. Осигурање квалитета или инжењер испитивања

Иако постоје суптилне разлике између инжењера за осигурање квалитета и инжењера, обојица се баве тестирањем софтвера пре него што он почне да ради.

Ако имате око за детаље и желите да креирате креативне начине за аутоматизацију понављајућих задатака, ово би могао бити сјајан пут у каријери. Вероватно ће бити потребно неко кодирање, као и неки ручни рад на тестирању.

Мање компаније имају софтверске инжењере да међусобно тестирају код, па су улоге наменског тестирања и КА најчешће у великим организацијама. Постоји велика разлика између начина на који компаније врше тестирање, па се обавезно распитајте о алатима које користе, колико су њихови тестови аутоматизовани и колико ће ваша улога подразумевати ручне и аутоматизоване тестове.

6. Пословни аналитичар

На другом крају животног циклуса развоја производа су пословни аналитичари. Они обично раде као мост између пословног и техничког тима како би се осигурало разумевање захтева, ограничења и рокова. Они такође могу ускочити и помоћи у тестирању и осигурању квалитета, у зависности од структуре тима, тако да морају имати широк спектар знања о производу.

Ако имате прошлост у послу, развоју производа или дизајну и неке вештине кодирања, можете се квалификовати за улогу пословног аналитичара почетног нивоа. Ако не, препоручио бих да потражите неке мрежне курсеве који ће вам помоћи да развијете основно разумевање улоге и шта она подразумева.

7. Руководилац пројекта

Попут пословних аналитичара, менаџери пројеката морају разумети пословне захтеве и техничка ограничења свог производа.

Кључна разлика је у томе што пројект менаџери обично залазе дубоко у један пројекат. Они често дефинишу задатке и ресурсе за тимове који раде на пројекту и прате напредак пројекта како се ближи издању.

Мање компаније могу на различите начине комбиновати улоге пословног аналитичара, руководиоца пројектима, сцрум мастер-а и менаџера производа, али веће компаније могу дефинисати одвојене одговорности.

Одличне организационе вештине, разумевање посла и вештине људи пресудни су за успех као менаџер пројекта. Ова улога зависи од ваше способности да управљате очекивањима и мотивишете људе који су можда старији или искуснији од вас, тако да морате брзо изградити поверење. Вишеструка природа ове улоге је погодна за аналитичке, техничке људе који више не желе да пишу код.

8. Сцрум Мастер

У агилним тимовима, Сцрум Мастер помаже да сви знају и купују Сцрум теорију, најбоље праксе и правила.

Ово на крају подсећа на управљање пројектима, али са посебним нагласком на служење осталим тимовима који су укључени у изградњу производа. Опет, ово није увек њен посао, али у већим организацијама може бити.

Способност управљања очекивањима и ограничењима пресудна је за ваш успех као Сцрум мајстора. Такође ћете морати да знате најбоље агилне праксе, па бих вам препоручио да пронађете одговарајући курс или књигу на ту тему. Агиле је приметио широко усвајање у организацијама свих величина, па ће овај пут каријере вероватно расти у наредној деценији.

9. менаџер производа

Провела сам пуно времена у 2019. години учећи о управљању производима како бих побољшала наш процес испоруке производа у Тхе Граиде Нетворк.

Менаџери производа свеобухватно гледају на производе компаније како би се уверили да су пожељни (купци то желе), одрживи (има пословног смисла) и изводљиви (можемо да их изградимо). Способност размишљања на високом нивоу је ретка, па ако је имате и имате техничко знање, можда бисте добро прошли као менаџер производа.

Менаџери производа на почетном нивоу могу започети са мањим деловима производа или као менаџери пројеката у неким организацијама. Ово вам може дати укус за развој производа и помоћи вам да успоставите односе са свим потребним заинтересованим странама пре него што вам доделите свој производ на управљање.

10. Дизајнер

Ако потичете из дизајна или уметничке позадине, постајање УИ или УКС дизајнером са неким одсецима за кодирање је одличан начин да се истакнете у свом пољу. Ова комбинација вештина омогућиће вам да ефикасније разговарате са инжењерима и створите интерактивне макете у ХТМЛ / ЦСС-у, а не само са статичним сликовним датотекама.

Ако немате пуно искуства у дизајну, пођите на курс и започните са изградњом портфеља. Многе компаније ће запослити људе без дипломе ако могу да покажу своје знање и вештине. Дрибббле је најчешћа портфолио платформа коју сам видео, али можете да користите и своју веб локацију.

11. Без програмера или са ниским кодом

Експлозија алата за развој без кода и ниског кода у последњих неколико година отворила је могућности компанијама које желе брзо да направе софтвер без ангажовања развојног тима. Ови алати омогућавају вам да мобилну или веб апликацију направите за неколико сати уместо недеља, а будући да су сваке године све бољи, све више компанија прихвата апликације без кода.

Макерпад и Но Цоде Јобс су добра места за започињање потраге за оваквим пословима. Будући да је ово ново поље, пронаћи ћете широк спектар потребних вештина и плата, али ваш код за писање у позадини ће се несумњиво показати као предност.

Улоге подршке

Много нових софтверских инжењера није свесно многих запослених иза кулиса који помажу у несметаном раду сервера, веб локација и операција. Неке од ових улога захтевају од вас да напишете скрипте за аутоматизацију или имате детаљно знање о администрацији сервера, али ако тражите нешто изван традиционалног циклуса развоја производа, али са техничким напорима, то би могло сјајно да се уклопи.

12. Сисадмин или ДевОпс инжењер

Велике софтверске компаније имају стотине или хиљаде сервера које треба поправити, надоградити и ротирати током целе године. Иако је широко прихваћено рачунарство у облаку тај посао променило од физичког прикључивања сервера до рада са софтвером попут Терраформ и Кубернетес, послова у овој области не недостаје.

Традиционално су системски администратори одговорни за одржавање и управљање серверима по потреби инжењерских тимова. Како су организације расле и прешле на хостинг у облаку, многи су прихватили наслов ДевОпс инжењера да одражавају повећану аутоматизацију која се користи у овом процесу. У пракси постоји пуно преклапања између ових улога.

У сваком случају, требаће вам основно разумевање оперативних система, хостинг платформи, алата за аутоматизацију, басх скриптирања и системске архитектуре. У овој области може бити тешко пронаћи почетне послове, јер захтева тако широк спектар техничког знања, али то је сјајна улога у коју треба прећи ако вам се свиђају аспекти инжењерства за решавање проблема без УИ / УКС захтева који већина производи окренути купцима захтевају.

13. Администратор базе података

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

Администратори база података баве се сигурношћу, обезбеђивањем, скалирањем и оптимизацијом система за складиштење података на ниском нивоу. Требаће вам знање о СКЛ и НоСКЛ базама података, најбоља безбедносна пракса и неке основне вештине скриптовања, али вероватно нећете писати код цео дан. Такође ћете се бринути због заиста ситних проблема са оптимизацијом, попут поправљања индекса и предмеморије.

Ако сте нови у развоју софтвера, почните тако што ћете научити све што можете о базама података. Мораћете да знате која база података је прикладна за коју апликацију и како да оптимизирате сваку од њих у мери, па ће бити тешко да то вежбате сами. Ако желите да пронађете неке велике скупове података за рад, погледајте Каггле.

14. Инжењер за поузданост локације

Инжењери поузданости локације одговорни су за одговор и решавање критичних проблема који се појаве у производњи. То често значи да се ротирају кроз „дежурну“ листу, тако да ћете можда одрадити необичне сате. Наличје је то што ћете заиста бити добри у решавању широког спектра необичних проблема, изради аутоматских упозорења и читању дневника сервера.

Због изузетно реактивне природе овог посла, може бити тешко дуго времена задржати искусне софтверске инжењере у улогама поузданости локације. Међутим, могло би бити сјајно место за ногу ако имате проблема са проналажењем прве улоге у развоју софтвера. Познајем два дипломца боотцампа који су започели улоге у СРЕ пре преласка у развој софтвера. Можда чак откријете да вам се свиђа изазов и узбуђење брзог решавања проблема.

15. Техничка подршка или подршка купцима

Док се неки инжењери плаше интеракције са купцима, другима је енергија да помогну људима да решавају проблеме цео дан. Кодирање вашег искуства учиниће вас идеалним кандидатом за улоге корисничке подршке у софтверским компанијама којима је потребан неко са техничким искуством да одговори на питања и предложи исправке.

Лоша страна рада у подршци је та што ћете можда морати да комуницирате с људима у најгорем случају. Незадовољни или фрустрирани корисници вероватно нису срећни што разговарају са тимом за техничку подршку, па ће вам бити потребно много стрпљења и дебеле коже да бисте дуго остали у овој улози.

Настава и писање улога

Одувек сам волео да предајем, па сам пронашао гравитацију ка инжењерским улогама које су ми дозволиле да то радим. Ако уживате у разбијању сложених тема и представљању другим инжењерима, постоји неколико путова у каријери којима можете ићи.

Улоге предавача за програмере софтвера

16. Технички писац

Трећа пракса на факултету била сам као технички писац у великој корпорацији. Било је прилично суво писање, али сваки дан сам уживао да учим нове ствари.

Од тада сам открио да техничко писање не значи само документацију. Можете се бавити техничким блогањем или цопивритером; можете креирати интерну или екстерну документацију; можете да креирате демо апликације и водиче. То је једно од најбоље плаћених подручја за писце, па вреди размислити.

Ако кренете овом рутом, мораћете да будете добри у писању (очигледно), организовању сложених идеја и учењу нових ствари. Што више будете могли самостално да уређујете, то ће ваш рад бити вреднији, зато уложите у алате који ће вам помоћи да будете бољи и ефикаснији.

Можете започети писање неких плаћених програма писања у заједници и претворити то искуство у посао са пуним радним временом док градите мрежу и портфељ.

17. учитељ

Постоји неколико начина на које каријеру у развоју софтвера можете претворити у наставничку каријеру. Можете добити посао предавача на кодирању за кодирање, предавати на колеџу или у средњој школи, можете се придружити платформи као што је еггхеад.ио или можете креирати сопствену веб страницу са курсом за Теацхабле или Едуцативе. Пут којим идете зависи од вашег порекла и толеранције на ризик.

У сваком случају, наставници морају брзо научити нове информације и представити их у сварљивом формату својим ученицима. Морате упознати своју публику на њеном нивоу и изградити поверење с њом да бисте успели. Настава може платити мање од развоја софтвера, али такође може бити врло испуњен пут у каријери.

18. Тренер

Корпоративни тренинг је још један облик наставе, али такође вредан разматрања. Предавачи могу радити као независни консултанти или запослени у великим компанијама где обично путују у канцеларије својих купаца како би одржали практичну обуку за специјализовани софтвер.

Тренери могу имати дубоко техничко знање, али неки су само технички паметни комуникатори. Корпоративно образовање се обично исплати више од подучавања, али може бити и више подстакнуто продајом. Тренери често говоре на конференцијама, одржавају радионице у заједници или путују у групе за окупљање између тренинга.

Ако волите да будете на сцени и представљате техничке концепте, ово би могао бити идеалан пут у каријери.

Аналитичке улоге

Много улога у технолошким компанијама захтева аналитичке вештине. Иако многа од ових поља захтевају специјализовано образовање, вреди их размотрити ако правите каријеру у заокрету од софтверског инжењерства. Мораћете да радите другачијим темпом од већине инжењера усмерених на производе, а као неке од горе наведених улога подршке, можда ћете моћи да комуницирате са другим деловима предузећа.

19. Научник или инжењер података

Ове две улоге (неке компаније их комбинују) укључују употребу великих скупова података како би се предузећу или њиховим купцима помогло да донесу боље одлуке.

Инжењери података обично раде на уносу података и на организационом каналу, док научници података дизајнирају експерименте и алгоритме који те податке уситњавају у корисне резултате. Наука о подацима (АИ, машинско учење итд.) Је огромно поље са коренима у математици, софтверском инжењерству и статистици.

Постоје курсеви, боотцампс и факултетске дипломе за науку о подацима и инжењерство, али можда ћете моћи сами да научите неке основе ако имате јаку математику. Ако не, прво размислите о нумеричкој анализи, матричној алгебри и статистици.

Будући да се за учење ових вештина треба дуго, а научници за подацима су веома тражени, ова улога се добро плаћа и вероватно неће ускоро нестати.

20. Безбедносни аналитичар

Улоге у информационој сигурности обично лете испод радара док нешто не крене по злу. Иако би сваки програмер требао бити свестан сигурносних рањивости и ризика, безбедносни аналитичари се експлицитно ангажују да пронађу, каталогизирају и предложе исправке за безбедносне проблеме.

Неки раде као независни консултанти, али у већим компанијама можда постоје интерни тимови. Ова улога је занимљива јер захтева комбинацију техничких вештина, усаглашености, пословних и вештина процене ризика.

Сигурносна радна места такође су најтежа места за технолошке лидере, тако да ћете овде имати сигурност посла. Сигурност информација је широко поље, па погледајте неке од многих путева којима можете ићи ако сте заинтересовани за то.

21. Истраживање и развој

Рад у истраживању и развоју може бити јединствено искуство за некога ко има вештине софтверског инжењерства. Велике компаније попут Гоогле-а и Амазона део свог профита посвећују ризичним, потенцијално високо награђеним експериментима које спроводе истраживачки и развојни тимови. Ови интердисциплинарни тимови могу да укључују програмере софтвера, научнике података, пословне аналитичаре и менаџере пројеката.

Тешко је ући у добар тим за истраживање и развој. Те улоге имају тенденцију да буду конкурентне и захтевају високо специјализовано знање о темама које вероватно нећете научити у боотцампу за кодирање. Међутим, неке компаније ангажују етичке хакере, осниваче или полиглоте како би помогле да се тим заокружи и убаци неко креативно размишљање.

Независност и флексибилност

Иако је наша професија која често дозвољава рад на даљину, а понекад чак и одмор, можда ћете желети још већу флексибилност у свом животу. Ако имате нагон да започнете сопствени посао, можда ћете моћи да радите 4 сата недељно, проводите шест месеци у години путујући или половину времена радите на пројектима отвореног кода. Није лако, али као програмер, имате огроман корак према већини људи.

22. Слободњак или консултант

Један од начина да ухватите више слободе је да напустите посао од 9 до 5 година и постанете слободњак. Као слободњак, унајмит ћете се једном или више клијената који ће вам плаћати по сату да бисте им написали код. Компаније често ангажују фриленсере да раде на одређеним краткорочним пројектима, отклањају технички дуг или попуњавају празнине када запосленик направи паузу.

Консултанти су врхунски слободњаци који решавају одређене проблеме за своје клијенте. Иако могу писати код, често их доводе због њихове стручности или јединственог порекла. Граница између слободњака и консултаната прилично је нејасна, зато немојте да се превише упуштате у семантику.

Најтежи је почетак рада слободњака или консултанта. Ако немате огромну мрежу, вероватно ћете се ослонити на платформе попут Упворк или Топтал да бисте пронашли клијенте. Ове платформе узимају значајан рез вашег прихода и приморају вас да се директно такмичите са мноштвом других слободњака широм света.

Како будете стварали репутацију и листу клијената, моћи ћете да добијате више посла од препорука. Препоруке су сјајне јер вам клијент долази на основу односа поузданог, а не на основу анонимности интернета. Ако се заиста добро бавите слободним ангажовањем или консултацијама, можете да повећате стопу довољно високо да можете узети мало времена између сваког ангажмана.

23. Оснивач стартапа

Интернет је препун прича о софтверским инжењерима који започињу посао (1, 2, 3), тако да можете стећи утисак да је то лако или чак добра идеја.

Истина је, зависи.

Почетним компанијама обично треба дуго да генеришу приход, тако да ће вам требати неколико месеци или година да живе без зараде да би ово успело. То је рекло, ако желите да изградите сопствени посао са софтвером, напредак је готово неограничен.

Можда ћете моћи да отворите компанију и ван редовног радног времена. Иако је то тешко извести (и може имати правне последице), то није неуобичајено. Ако пронађете једног или два оснивача са којима ћете делити терет, то може повећати ваше шансе за успех.

Последње мисли

Софтверски инжењеринг је узбудљиво подручје, али није за свакога. Чак и ако одете, стечене вештине неће пропасти ако се одлучите за нешто друго.

Многи дипломци боотцампа се плаше да траже посао изван подручја развоја софтвера, али подстакао бих вас да следите свој пут. Ускладите практичност (зарадите довољно новца за живот) са својим интересима и надамо се да ћете пронаћи пут у каријери где посао не изгледа као „посао“.

Волео бих да чујем ваше мисли. Ако сте кренули неконвенционалним путем или сте се пребацили у каријеру, јавите ми шта мислите на Твиттер-у.