Как работать разработчиком программного обеспечения

Автор: Peter Berry
Дата создания: 19 Lang L: none (month-012) 2021
Дата обновления: 1 Июль 2024
Anonim
Как стать ПО программистом? - Ответ профессионала
Видео: Как стать ПО программистом? - Ответ профессионала

Содержание


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

Согласно с USNews.comсредний разработчик программного обеспечения заработал 101 790 долларов в 2017 году. По данным Gorroo.io, средний разработчик C # зарабатывает 102 тысячи долларов в год.

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

Средний C # разработчик зарабатывает $ 102 тыс. В год.

Но с чего начать? Если вы тот, кто в прошлом не баловался с кодом, то вы можете оказаться в полной растерянности относительно того, как начать. В этом посте мы рассмотрим все, что вам нужно знать: что делает разработчик программного обеспечения, какие квалификации вам могут понадобиться и как найти работу.


Что делает разработчик программного обеспечения?

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

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

Типы разработчика программного обеспечения

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


Разработчик программного обеспечения может также работать веб-разработчиком или «разработчиком полного стека» для создания веб-сайта или добавления интерактивных функций. Они могут разрабатывать мобильные приложения или работать над инструментами собственной промышленности.

Еще одно различие: разработчик программного обеспечения и инженер-программист. В чем разница?

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

С другой стороны, разработчики программного обеспечения с большей вероятностью будут основным креативным директором проекта. Они разрабатывают программное обеспечение от начала до конца для клиента или организации, обычно для выполнения определенной роли.

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

Какие навыки и квалификация нужны разработчику программного обеспечения?

Чтобы быть разработчиком программного обеспечения, вам нужно научиться программировать.

Следующий вопрос: «какой язык программирования лучше всего изучать» или «какие языки программирования хотят работодатели?»

Хотя, безусловно, верно, что некоторые языки программирования более востребованы клиентами и работодателями (Python, Java, JavaScript, PHP, Swift, C #, C ++, Ruby), правда в том, что это полностью зависит от того, какую работу вы хотите выполнять , Вот несколько примеров.

Разработчик полного стека

Python, JavaScript, PHP и Ruby - все языки, которые используются для веб-разработки. Если вы работаете на онлайн-портале или делаете обновления для веб-приложений, таких как Twitter, некоторые из них, вероятно, будут полезны. В этой роли также может быть полезно понимать базы данных (SQL) и разбираться в сервере.

«Разработчик полного стека» - это веб-разработчик, который достиг своей окончательной формы: тот, кто может заниматься всеми аспектами веб-дизайна и обслуживания, от внешнего интерфейса (HTML, CSS, JavaScript) до внутреннего интерфейса (PHP, Python, Ruby), на обслуживание сервера. Этот тип профессионала пользуется большим спросом.

Вот отличный курс от Udemy, если вы хотите узнать больше: Full Stack Web Developer Bootcamp.

Мобильный разработчик

Однако, если вы заинтересованы в разработке приложений для Android, вам нужно будет изучить Java или Kotlin (в идеале оба). Вам необходимо ознакомиться с Android Studio, Android SDK (Software Development Kit) и всеми новыми концепциями, которые Google постоянно внедряет (например, мгновенные приложения или пузыри).

Подробнее: Как найти работу в качестве разработчика Android

Если вы хотите зарабатывать на жизнь iOS-приложениями, вам следует изучить Swift и Objective C и ознакомиться с Xcode. Если вы хотите создавать приложения для Windows или использовать кроссплатформенность, вам понадобится C # и понимание Visual Studio.

Разработчик игр

Чтобы стать разработчиком игр, вы должны обязательно изучить C # и в идеале C ++. Вы должны познакомиться с движками большой игры (Unity и Unreal) и, возможно, захотите добавить немного САПР в свой набор навыков.

Окончательное руководство по разработке игр Unity для Udemy - хорошее место для начала.

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

Кроме того, существуют специальные инструменты, которые компании будут использовать для управления своим рабочим процессом и совместной работы над более крупными проектами. Когда я посетил Facebook в Лондоне несколько месяцев назад, я познакомился с множеством различных инструментов, которые компания использует для отслеживания проектов. К ним относятся Phabricator, Mercurial, Sapienz и другие.

Конечно, такие инструменты, как Github (используется для контроля версий), вероятно, будут полезны для инженеров-программистов и разработчиков, работающих в различных отраслях. Приложения для управления проектами, такие как Asana или Basecamp, также очень полезны для удаленной работы. Показ того, что у вас есть опыт работы в этих областях, еще больше дополнит ваше резюме и сделает вашу работу еще более полезной.

Подводя итог: то, что вам нужно знать, будет зависеть от типа разработчика программного обеспечения, которым вы хотите стать.

Лучшие сертификаты разработчика программного обеспечения

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

Короткий ответ: нет. Более длинный ответ - нет, но это, безусловно, помогает.

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

Подробнее: Перспективная карьера и зарплата аналитика информационной безопасности

Кроме того, степень даст вам преимущество перед другими кандидатами в процессе подачи заявки.

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

Есть много признанных в отрасли сертификатов, которые дадут вам определенное влияние при подаче заявки на должности.

Например, вы можете получить сертификат Unity напрямую от компании, что может оказаться полезным для разработчиков игр. Если вы хотите стать разработчиком Android, вы можете подать заявку на получение статуса Associated Android Developer, которая является официальной программой Google. Или вы можете стать сертифицированным разработчиком приложений для Android, что довольно хорошо известно.

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

Просто введите в Google интересующий вас вид работы и найдите самые известные сертификаты в этой области. Если вы не уверены, то выберите один из больших языков, таких как C # или Java, или ищите курс по информатике или полный стек, который охватит множество вопросов.

Вам нужны сертификаты, чтобы быть разработчиком программного обеспечения?

Самый дешевый вариант - стать разработчиком программного обеспечения без сертификации или квалификации. Но возможно ли найти работу как разработчика-самоучки?

Я могу гарантировать вам, что это так, поскольку именно это я и сделал. Я изучил программирование на BASIC на ZXSpectrum и оттуда углубил свои знания в QBASIC, B4A, затем в Java, C #, Python и других.

Я смог сделать это, позволив своему резюме говорить за меня. Я разработал успешное приложение для Android с более чем 100 000 платных загрузок, работал с некоторыми довольно громкими именами, а затем написал техническую книгу по разработке игр для Apress Media (Springer).

Эти достижения обеспечивают такую ​​же гарантию для клиентов, как и сертификат, и позволяют мне брать гораздо больше, чем я мог бы.

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

Большинство фриланс-сайтов, таких как UpWork, также предоставляют короткие тесты, которые вы можете выполнить, чтобы продемонстрировать свое базовое понимание.

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

Что касается поиска работы с крупными работодателями, некоторые профессионалы предполагают, что сертификация может вообще не помочь.

Это потому, что если вы знаете один язык программирования, то сравнительно легко понять другие. Хотя синтаксис, инструменты и некоторые правила могут отличаться; первый язык, который вы изучаете, по-прежнему самый сложный. Существует эквивалент «если» почти во всех языках, которые вы изучаете.

если вы знаете один язык программирования, то сравнительно легко понять другие.

При работе в организации обучение всегда будет требоваться. Очень немногие работодатели ожидают, что вы будете знать все сразу, и, честно говоря, в карьере любого инженера-программиста происходит огромное количество обвинений. Будьте готовы почувствовать себя полностью вне себя и наполниться «синдромом самозванца», когда начнете. Но не волнуйтесь, так чувствуют все!

Как научить себя коду

Обучение кодам - ​​это сложный процесс, и сложные концепции, такие как объектно-ориентированное программирование, могут оказаться непростыми. К счастью, в Интернете доступно огромное количество бесплатных материалов; мы уже выделили пару отличных курсов от Udemy, и кроме них есть еще много. Например, у нас есть курс для разработчиков Android, который ведет Гэри Симс.

Вот еще несколько отличных инструментов для изучения кода прямо сейчас:

  • Отличный курс, который научит Python для науки о данных.
  • C # пакет кодирования
  • Пакет обучающих программ для веб-разработчиков из девяти частей

И на таких сайтах, как SkillShare, есть множество отличных курсов.

Смотрите также: Как начать разработку Android-приложения для начинающих за 5 шагов

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

Поиск оплачиваемой работы в качестве разработчика программного обеспечения

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

Поиск внештатной работы - это в основном вопрос использования списков вакансий, таких фрилансеров, как PeoplePerHour или UpWork.

Существуют также сайты фрилансеров, которые предназначены специально для разработчиков программного обеспечения и инженеров. К ним относятся Rent-a-code и даже переполнение стека.

Есть и другие способы заработать деньги с опытом как разработчик программного обеспечения. Вы можете стать писателем (как я в конце концов и сделал) и написать учебники для блогов или книги для технических издателей. Вы можете преподавать через онлайн-курсы; почему бы не создать свой собственный курс Skillshare?

В Китае Huawei Mate 20 Pro выпускается в пяти цветах: ярко-черный, сапфировый синий, вишнево-розовый, изумрудно-зеленый и аврора. Согласно сDroidhoutHuawei скоро выпустит два новых цвета для своего фл...

Обновление, 15 февраля 2019 года (15:17 ET): В заявлении Бизнес ИнсайдерHuawei подтвердила, что Mate 20 Pro и Mate 20 X не будут выпущены в США. Mate 10 Pro и Mate 9 были проданы в США, но с тех пор о...

Увлекательные публикации