Така че искате моята работа: разработчик на приложения

{h1}

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


Много концерти, свързани с компютър и софтуер, се събират в една и съща група кариери, без реална диференциация. Реалността обаче е, че има редица призвания, които включват програмиране, разработка, компютърна сигурност и др. Миналата година обхванахме тънкостите в това да си ИТ професионалист. Днес разглеждаме света на разработчиците на приложения. Говорихме с Джейсън Буц, който ни дава да разгледаме какво прави и как се различава от другите кариери в програмирането.

1. Разкажете ни малко за себе си (откъде сте? На колко години сте? Опишете работата си и колко дълго сте били в нея и т.н.).


Роден съм и съм израснал в Индианаполис, Индиана. Аз съм на 26, но наближавам бързо на 27. Аз съм разработчик на приложения, което е фантастичен начин да се каже, че създавам уеб приложения. С настоящия си работодател съм от почти 2 години, но професионално работя върху уеб приложения от около 5 години. Играя с уебсайтове и уеб технологии в свободното си време повече от 15 години.

2. Защо искате да се захванете с програмиране / разработка на приложения? Беше ли нещо, което винаги сте знаели, че искате да направите?


Като пораснах исках да бъда ветеринар или пазител на зоопарка, така че това не беше точно това, което първоначално исках. В средното училище взех летен клас за обогатяване, където се научих да изграждам уебсайтове. Все още бяха 90-те години и уебсайтовете не изглеждаха добре, но аз бях закачен. В гимназията взех всеки компютърен клас, който можех, и научавах повече за уеб разработването у дома по свое време. Ходех на уроци по всичко - от програмиране до изграждане и поправяне на компютри. Всъщност успях да получа няколко сертификата. Не бях сигурен какво точно искам да направя, но знаех, че ще се занимава с компютри. След като започнах търсенето си в колежа, заложих на степен по компютърни науки и в колежа разбрах, че съм добър в уеб приложенията и обичам да ги изграждам.



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


С заглавията, които компаниите използват, нещата стават много мътни. Например във фирмата, в която работя, разработчик на приложения може да получи повишение в софтуерен инженер, където единствената реална разлика е наличната скала на заплащането. Имах предишна работа, където правех същото, но заглавието ми беше разработчик / анализатор. Сигурен съм, че има дори повече заглавия, използвани от тези, но не ги знам всички. Още по-сложно става, когато вземете предвид, че заглавието на софтуерен инженер се използва за задачи, които не работят непременно с уеб приложения, а просто правят някакво програмиране.

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


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

4. Как се става разработчик на приложения? Имате ли нужда от колеж? Изискват ли се сертификати? Ако все пак учиш в колеж, какво трябва да учиш?


Не е задължително да се завърши колеж, но има много компании, които дори няма да ви считат за позиция, освен ако нямате такава. Без диплома ще трябва да имате добро портфолио от работа и проекти, които сте изградили. Ако сте направили добър принос в популярни проекти с отворен код, това би било особено полезно (разбира се, доброто портфолио ще бъде полезно дори и с колеж).

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


Има няколко пътя, по които можете да поемете за колеж. Изминах маршрута по компютърни науки (CS). В моя екип има хора, които имат степени по информационни науки (IS) или компютърни и информационни науки (CIS). Дори съм работил с един човек, който е завършил компютърна графика. CS градусите обикновено имат повече компютърна теория, отколкото IS или CIS. Мисля, че съм виждал и някои колежи да предлагат степени за уеб разработка, които дори биха могли да работят. Наистина се свежда до това, което преподава индивидуалната програма и какво точно искате да направите.

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

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

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

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

Съществува и добрият стар метод за изпращане на автобиографии. Бих предложил да не използвате сайтове за намиране на работа, като CareerBuilder, ако можете да му помогнете; просто изпратете автобиографията си до компанията чрез собствения им раздел за кариера. Потърсете компании във вашия район и погледнете какво правят и какви работни места имат на разположение. Ако имате въпрос дали те дори имат определени видове работа, не се колебайте да им се обадите и да поискате да говорите с HR вербовчик. Никога не се знае, може да имате късмет и да получите интервю от това. Най-важното при изпращането на автобиографии е, че е по-малко вероятно да получите обаждане, отколкото някой, който е бил препоръчан от друг служител, така че излезте там и свържете мрежа.

6. Разкажете ни малко за средния работен ден.

Започвам дните си в 7:30 сутринта по избор. Останалата част от отбора влиза в 9:00. Аз съм сутрешен човек и съм по-продуктивна сутрин, така че шефът ми няма нищо против и се наслаждавам на тишината. Обикновено започвам деня, като преглеждам имейла си и бюрото за помощ, търсейки всякакви проблеми, за които мога да се погрижа или трябва да предоставя актуализация. След това взимам всичко, което правех предишния ден, и правя всичко възможно, за да се съсредоточа върху това до срещата на SCRUM в 9:30. Нашите срещи на SCRUM са кратка среща, на която казваме над какво сме работили и какво планираме да направим за този ден. Това е и времето, когато шефът ни може да смени приоритетите и да ни каже да направим нещо различно, ако е необходимо. След това продължавам да работя през деня, като правя периодични кратки почивки, за да се разходя и да разгледам нещо, което не е код или текущия ми проблем.

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

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

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

7. Какъв е балансът работа / личен живот като програмист?

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

8. Коя е най-хубавата част от кариерата ти?

Пъзелите. Програмирането на нещата наистина е като гигантски логически пъзел. Трябва да събера различни неща, за да създам приложение, което прави нещо. Може да ми кажат, че когато някой одобри даден елемент в приложението, определена група хора трябва да получи имейл, но не мога просто да го въведа както е. Трябва да го взема и да го разбия до съвсем основно ниво. След като го разбия, подреждам парчетата си - кода - така че ще изпълни това, което искам. Също така обичам, когато стигнеш да създадеш нещо ново. Новите функции, които не са отчети, обикновено са много забавни за правене. Понякога сложните отчети също могат да бъдат интересни. Потребителите да идват при вас и да казват „Нуждаем се от диаграма на Гант“, а след това да създадете това и да им го предадете, е прекрасно изживяване. Те са склонни да ви гледат като на някакъв магьосник или магьосник.

Освен пъзелите и създаването, хората могат да бъдат наистина страхотни. Аз съм отвратителен човек, но всички в моя екип също са отвратителни. Разговорите, които ще водим, могат да полудеят. Понякога чувате някой да разказва какво прави Marvel със своите комикси. Друг път ще чуете невероятно подробни отзиви за игри. Друг път ще чуете произволни, но завладяващи факти за филмите. Понякога нещата стават философски. Никога няма скучен разговор и всички ние непрекъснато се смеем.

9. Коя е най-лошата част?

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

10. Кое е най-голямото погрешно схващане на хората за вашата работа?

Хората мислят, че тъй като работя с компютри, знам всичко за компютрите, включително как да ги поправя. В моя случай знам как да поправя компютри, но това не е толкова често, колкото хората си мислят. Друго често срещано е, че тъй като мога да пиша програми, хората мислят, че мога да напиша програма за всичко. Мога да се науча да пиша програми за други системи, но всяка платформа е малко по-различна. Не мога да ви кажа колко пъти съм имал хора да ми казват: „Хей, имам нужда от вашата помощ. Имам тази страхотна идея за приложение за телефон и трябва да го направите. ' Винаги изглеждат малко онемели, когато им кажа, че не съм запознат с това как да създавам телефонни приложения.

11. Някакви други съвети, съвети, коментари или анекдоти, които искате да добавите?

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

Важен урок, който научих, и който смятам, че е доста полезен за всички, винаги зависи от вашите грешки. В последната компания, в която работех, работех по финансовата система и бях изтласкал актуализация, която бях написал. На следващия ден мениджър дойде там, където другият разработчик и аз седяхме и ни каза, че изглежда 2 милиона долара са изчезнали от системата. Бързо казах, че вероятно съм виновен, защото предишния ден бях изтласкал някакъв код, засягащ това. Признаването, че съм объркал, е изминало дълъг път. Също така успях да разреша проблема и да накарам парите да се появят отново във финансите, което вероятно не навреди. Другият разработчик там беше накарал 200 милиона долара да изчезнат и той също не беше загубил работата си. Винаги се съобразявайте с грешките си и направете всичко необходимо, за да ги поправите, ако те са поправими.