Итак, вы хотите мою работу: разработчик приложений

{h1}

Еще раз возвращаемся к нашему Итак, вы хотите мою работу серия, в которой мы беседуем с мужчинами, которые работают на желаемой работе, и спрашиваем их о реальности их работы и даем совет о том, как мужчины могут осуществить свою мечту.


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

1. Расскажите немного о себе (Откуда вы? Сколько вам лет? Опишите свою работу, как долго вы на ней проработали и т. Д.).


Я родился и вырос в Индианаполисе, штат Индиана. Мне 26, но быстро приближаюсь к 27. Я разработчик приложений, то есть я создаю веб-приложения. Я работаю со своим нынешним работодателем почти 2 года, но профессионально работаю над веб-приложениями около 5 лет. В свободное время я занимаюсь веб-сайтами и веб-технологиями более 15 лет.

2. Почему вы захотели заняться программированием / разработкой приложений? Вы всегда знали, что хотите этим заниматься?


В детстве я хотел быть ветеринаром или хранителем зоопарка, так что это было не совсем то, чего я хотел изначально. В средней школе я пошел в летний дополнительный класс, где научился создавать веб-сайты. Это были еще 90-е, и сайты не выглядели хорошо, но меня это зацепило. В старшей школе я посещал все компьютерные классы, которые мог, и в свободное время узнавал больше о веб-разработке дома. Я брал уроки всего, от программирования до сборки и ремонта компьютеров. Я действительно смог получить пару сертификатов. Я не был уверен, что именно хочу делать, но знал, что это будет иметь дело с компьютерами. Начав поиск в колледже, я сосредоточился на степени информатики и в колледже понял, что хорошо разбираюсь в веб-приложениях и люблю их создавать.



3. Можете ли вы определить для нас, чем занимается разработчик приложений? Его обычно объединяют с множеством других технических профессий. Что определяет вашу конкретную роль?


С названиями, которые используют компании, все становится очень неясным. Например, в компании, где я работаю, разработчик приложений может получить повышение до инженера-программиста, где единственной реальной разницей является доступная шкала оплаты. У меня была предыдущая работа, на которой я делал то же самое, но мое звание было разработчиком / аналитиком. Я уверен, что используется еще больше названий, но я не знаю их всех. Все становится еще сложнее, если учесть, что звание «инженер-программист» используется для вакансий, которые не обязательно связаны с веб-приложениями, а просто занимаются каким-то программированием.

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


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

4. Как стать разработчиком приложений? Вам нужно высшее образование? Требуются ли сертификаты? Если ты учишься в колледже, чему тебе следует учиться?


Высшее образование не обязательно, но есть много компаний, которые даже не рассматривают вас на вакансию, если она у вас нет. Без ученой степени вам потребуется хорошее портфолио работ и проектов, которые вы создали. Если вы внесли хороший вклад в популярные проекты с открытым исходным кодом, это будет особенно полезно (конечно, хорошее портфолио будет полезно даже с высшим образованием).

Я знаю не так много сертификатов, если вы хотите заниматься какой-либо веб-разработкой, хотя я уверен, что некоторые из них существуют. Сертификаты могут быть полезны при выполнении любой работы в сфере высоких технологий, но работодатели, похоже, с большим подозрением относятся к потенциальным сотрудникам, у которых есть множество сертификатов, но нет реального опыта, подтверждающего их. Это обычное дело, когда люди набиваются на сертификационные тесты и проходят их, но при этом не имеют реального понимания информации.


Есть несколько способов получить высшее образование. Я пошел по пути компьютерных наук (CS). В моей команде есть люди с дипломами в области информатики (IS) или компьютерных и информационных наук (CIS). Я даже работал с одним человеком, имеющим степень по компьютерной графике. Степени CS, как правило, содержат больше компьютерной теории, чем IS или СНГ. Думаю, я также видел, как некоторые колледжи предлагают степени в области веб-разработки, которые даже могут работать. На самом деле все сводится к тому, чему учит индивидуальная программа получения степени и чем именно вы хотите заниматься.

5. Как вам работа в качестве разработчика приложений? Существуют ли разные виды работ в этой области? Каков рынок труда?

Лучший способ, с которым у меня возникли некоторые проблемы, найти работу разработчика приложений - это начать со стажировки. В моем колледже им не уделяли особого внимания, что действительно работало против меня. Прошлым летом в моей команде было несколько стажеров; один из них проделал такую ​​хорошую работу, что ему почти сказали, что его возьмут на работу, когда он закончит учебу, если он подаст заявку.

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

Мне больше всего повезло с рекомендациями от семьи и друзей. Я получил свою первую работу после окончания колледжа благодаря парню, которого я знал, который закончил университет за год до меня. В то время мы на самом деле не были друзьями, но он знал, какие уроки я посещал, и знал, что может поручиться за мои навыки простым фактом, что я получаю диплом по той же программе, что и он. В школе я не могу особо подчеркнуть, что вам нужно общаться с вашими профессорами, выпускниками и даже людьми на год или два раньше вас. Они могут быть ключом к поиску работы своей мечты. Я действительно попал в дверь моего нынешнего работодателя благодаря двоюродному брату моего сводного брата или сестры. Звучит как-то безумно и всегда вызывает смех, но я возьму все, что смогу.

Есть еще старый добрый метод рассылки резюме. Я бы посоветовал не использовать сайты по поиску работы, такие как CareerBuilder, если вы можете помочь; просто отправьте свое резюме в компанию через свой собственный раздел карьеры. Найдите компании в вашем районе и посмотрите, чем они занимаются и какие вакансии у них есть. Если у вас есть вопрос о том, есть ли у них определенные виды работы, не стесняйтесь позвонить им и попросить поговорить с HR-рекрутером. Никогда не угадаешь, может тебе повезет и ты получишь от этого интервью. Важным моментом в рассылке резюме является то, что у вас меньше шансов получить звонок, чем у кого-то, кого порекомендовал другой сотрудник, так что выходите и общайтесь.

6. Расскажите немного о среднем рабочем дне.

Я начинаю свои дни в 7:30 утра по собственному желанию. Остальная команда не приходит до 9:00. Я жаворонок и более продуктивен по утрам, поэтому мой босс не возражает, и мне нравится тишина. Обычно я начинаю свой день с беглого просмотра своей электронной почты и поиска в службе поддержки любых проблем, о которых я могу позаботиться или о которых мне нужно сообщить обновленную информацию. После этого я беру все, чем занимался накануне, и изо всех сил стараюсь сосредоточиться на этом до нашей встречи SCRUM в 9:30. Наши встречи SCRUM - это короткие встречи, на которых мы говорим, над чем мы работали и что планируем делать в этот день. Это также время, когда наш босс может поменять приоритеты и посоветовать нам сделать что-то другое, если потребуется. После этого я продолжаю работать в течение дня, периодически делая короткие перерывы, чтобы прогуляться и посмотреть на то, что не является кодом или моей текущей проблемой.

Одна вещь, которая немного уникальна и отличается от команды, в которой я сейчас работаю, - это то, что во время обеда мы почти всегда играем в игру. Мы склонны играть в игры, которые можем закончить менее чем за час, хотя мы начинаем пробовать игры, которые можно легко сфотографировать и возобновить на следующий день.

После обеда я просто продолжаю работать, пока не придет время идти домой. В моей ситуации немного отличается то, что есть одна система, которую я единственный, кто знает, как полностью управлять или развивать. Это не совсем идеально, но обучение других не является приоритетом. Так что я получаю много запросов в службу поддержки по системе и меня вовлекают в собрания, когда людям нужны новые функции или возникают вопросы. В общем, средний день не так уж и плох. Я работаю в технологической компании, и у нас есть внутренний инструмент для обмена мгновенными сообщениями. Весь день команда может не разговаривать много, но в этих сообщениях постоянно летают разговоры и шутки. Это позволяет легко общаться, оставаясь при этом продуктивным.

Каждые месяц или два у нас есть релиз, который делает пару недель гораздо более напряженными и разнообразными. Эти недели обычно включают тестирование всей системы и исправление любых обнаруженных ошибок как можно быстрее. Затем мы выпускаем релиз на выходных, а на следующей неделе должны выпустить множество мелких исправлений, поскольку люди обнаруживают новые ошибки.

7. Каков баланс работы и личной жизни для программиста?

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

8. Какая самая лучшая часть вашей карьеры?

Пазлы. Программирование действительно похоже на гигантскую логическую головоломку. Мне нужно соединить разные вещи, чтобы создать приложение, которое что-то делает. Мне могут сказать, что когда кто-то утверждает элемент в приложении, определенной группе людей необходимо получить электронное письмо, но я не могу просто оставить это как есть. Я должен взять это и разложить до самого базового уровня. Разобрав его, я упорядочиваю свои части - код - так, чтобы он выполнял то, что я хочу. Еще я люблю, когда тебе удается создать что-то новое. Создавать новые функции, не относящиеся к отчетам, обычно очень весело. Иногда могут быть интересны и сложные отчеты. Когда пользователи приходят к вам и говорят: «Нам нужна диаграмма Ганта», а затем создавать ее и передавать им - это замечательный опыт. Они склонны смотреть на вас, как на какого-то волшебника или волшебника.

Помимо головоломок и творчества, люди могут быть действительно замечательными. Я чокнутый человек, но все в моей команде тоже гики. Наши разговоры могут стать безумными. Иногда вы слышите, как кто-то рассказывает о том, что Marvel делает со своими комиксами. В другой раз вы услышите невероятно подробные обзоры игр. В других случаях вы услышите случайные, но занимательные факты о фильмах. Иногда вещи становятся философскими. Никогда не бывает скучных разговоров, и мы все постоянно смешим друг друга.

9. Что самое плохое?

Скучные проекты или проекты, которые когда-то были захватывающими, но теперь превратились в однообразные. Создание действительно простого отчета, в котором просто перечисляется информация, не так уж и весело. Единственное спасение для них - это то, как быстро вы сможете их закончить. У вас не так много творчества, и самая большая загадка заключается в том, как вы собираетесь извлекать всю нужную информацию. Остальное вы уже сделали раньше. Иногда большие проекты могут превратиться из действительно интересных в однообразные, а затем затянуться на несколько недель. Понимать, как все делать с самого начала, и иметь все эти грандиозные идеи - это здорово - они объединяют в себе некоторые из лучших частей работы. Но затем вам нужно делать все те великие дела, которые вы придумали, и это может очень быстро начать наскучать, а затем становится разочаровывающим, когда вы забываете, как вы делали одни дела и планировали сделать другие. Вы должны балансировать между заметками и попытками запомнить вещи. Чем грандиознее ваши идеи, тем сложнее совместить все части правильно.

10. Какое самое большое заблуждение люди имеют о вашей работе?

Люди думают, что, поскольку я работаю с компьютерами, я знаю о компьютерах все, включая способы их ремонта. В моем случае я знаю, как чинить компьютеры, но это не так часто, как думают люди. Еще одна распространенная проблема: поскольку я могу писать программы, люди думают, что я могу написать программу для чего угодно. Я могу научиться писать программы для других систем, но каждая платформа немного отличается. Не могу сказать, сколько раз люди говорили мне: «Эй, мне нужна твоя помощь. У меня есть отличная идея для приложения для телефона, и мне нужно, чтобы вы ее реализовали ». Они всегда выглядят немного ошеломленными, когда я говорю им, что не знаком с тем, как создавать приложения для телефона.

11. Какие еще советы, подсказки, комментарии или анекдоты вы хотели бы добавить?

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

Я усвоил важный урок, который, как мне кажется, полезен для всех, - всегда признавать свои ошибки. В последней компании, в которой я работал, я работал над финансовой системой и выпустил обновление, которое я написал. На следующий день менеджер подошел к тому месту, где сидели мы с другим разработчиком, и сказал нам, что, похоже, из системы исчезло 2 миллиона долларов. Я быстро сказал, что, вероятно, это моя вина, потому что накануне я опубликовал какой-то код, влияющий на это. Признание того, что я напортачил, имело большое значение. Я также смог решить проблему и вернуть деньги в финансовую отчетность, что, вероятно, не повредило. Другой разработчик заставил исчезнуть 200 миллионов долларов, и он тоже не потерял работу. Всегда признавайте свои ошибки и делайте все возможное, чтобы их исправить, если они поправимы.