Как стать программистом

Содержание:

Обучение

С самого начала стоит отметить, что обучение программированию — дело непростое и небыстрое. Чтобы стать разработчиком, вам придется вложить много труда и времени. Но то, что учиться нелегко, не означает, что это не весело!

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

Специфика профессии

У тестировщика свои особенности мышления. Программист на всё смотрит с точки зрения реализации, а тестировщик — со стороны эксплуатации. Программист чаще пишет в позитивном сценарии, а тестировщик исследует в том числе негативный.

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

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

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

Может ли новичок-нетехнарь стать хорошим QA-специалистом

Порог входа в тестирование довольно низкий. Чтобы стать тестировщиком, не требуется техническое образование. Главное, чтобы человеку была интересна сфера IT и он хотел развиваться в этом направлении. Об этом говорит в своём интервью на hh.ru руководитель департамента обеспечения качества ПО Veeam Software Игорь Кацев.

На сайте Software-Testing.ru опрашивали тестировщиков из России и СНГ по поводу их образования. Оказалось, что в профессию приходят и достигают в ней карьерных высот разные люди: технари, гуманитарии, экономисты, юристы, люди с двумя высшими и люди без диплома вообще.

Читайте больше

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

Я рекомендую «Полный код» Стива Макконнелла, «Чистый код» Роберта Сесила Мартина и «Мифический человек-месяц» Фреда Брукса.

Для начинающих в этой области выделю следующие книги: «Научиться программировать» Криса Пайна, «Программирование Ruby: Руководство для прагматичных программистов» Энди Ханта и Дэйва Томаса, «Гибкая разработка с Rails» Дэвида Хайнемайера Ханссона и «Плетение паутины» Тима Бернерса-Ли.

Альтернативный экспресс-тест на склонность к программированию

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

«Если человек сможет расписать по шагам как приготовить яичницу, указав не только happy путь, а так же exceptional и alternative, тогда точно сможет стать программистом» — утверждает Николай Каштанов, ИТ-эксперт ICL Services по предоставлению сервиса. 

Если говорить о личностных качествах, то Федор Зубарев, руководитель программ компании Bell Integrator считает, что чаще всего эти два типа людей потенциально могут стать хорошими программистами:
«1-й: дотошные, пунктуальные, иногда занудные. Люди, готовые разбираться с любой мелочью, вникающие во все детали. 
2-й: люди творческие, немного неаккуратные в различных, в том числе и в бытовых, вопросах. Образование — профильное или чисто математическое»

Узнаете себя в одном из типов? Записывайтесь на бесплатный курс по программированию!

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

«Уверен, что добиться успеха в том или ином виде деятельности можно только упорным трудом, который всегда приносит должное вознаграждение. Разработка софта — не исключение. Если такая работа продолжает радовать, если хочется еще что-то поделать „для себя“ — поисследовать, изучить что-то новое — признаки таланта налицо.» — убежден Сергей Стрелков, руководитель направления собственных разработок компании КРОК.

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

Начало усердной работы: профессия «Веб-разработчик».

Вы любите решать нестандартные задачи

«Не стоит забывать и о том, что программирование в большой мере творческая профессия. Несмотря на всю четкость алгоритмов и следованию гайдлайнам (правила программирования на каком-либо языке), специалисту этой профессии очень часто приходится придумывать гармоничные решения для реализации нестандартных задач. Стоит учесть, что речь идет о специалистах, разрабатывающих современные программные продукты для широкого круга пользователей, потому как в некоторых областях есть специфика, которая требует четкого следования определенным правилам и где нет места творческому подходу — например, низкоуровневое программирование на языках, близких к базовым» — объясняет Воротников Денис, ведущий веб-программист Mercaux Inc.

Про учёбу

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

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

Больше всего мне понравился блок, посвящённый автоматизации тестирования. По его завершении мне даже удалось монетизировать знания — немного заработать на фрилансе. Я увидел на YouDo задание: раз в два часа поднимать по 5–6 объявлений на разных сайтах. За пару часов я написал сценарий на Katalon Studio и отправил его работать на сервер заказчика. Так на автоматизации я заработал первую тысячу рублей.

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

Друг порекомендовал мне изучать PHP: там порог вхождения ниже, чем в других языках, а ещё он позволяет решать практические задачки. К совету друга, на мой взгляд, можно прислушиваться — два человека из трёх, которых он обучал, прокачали не только технические скилы, но и вышли на очень хорошую зарплату.

Зачем нужны бесплатные онлайн-тесты на профориентирование?

Профориентационные тесты от «ПрофГид» приобрели популярность в России и за ее пределами. Тесты, разработанные опытным профориентологом, помогут быстро решить следующие задачи:

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

Результат профтеста является ориентировочным, однако он позволит узнать о новых профессиях и сферах, которые ранее не рассматривались в качестве приоритетных. Онлайн-профориентатор – это не экзамен на знание предмета, в нем учтены психоэмоциональные факторы, а также личные качества.

Стать разработчиком может каждый, главное — желание

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

— Думаю, любой человек, даже незнакомый с программированием, может стать веб-разработчиком. Главное, желание. У меня есть друг, по образованию медик, который много лет работал менеджером по продажам техники. Работу он не любил. Как-то я у него спросил: „Ты не хочешь заняться программированием?“ Он подумал и стал учиться. Ему потребовался год на самостоятельное обучение. Сейчас он разработчик PHP в Томске и неплохо получает. Ему нравится.

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

/**
     * Получение списка критериев
     * @return array
     */
    private function getCriterions()
    {
        $criterionIds = PedDiagnosticVSDevelopmentCriterions::where('PED_DIAGNOSTIC_ID', $this->arResult)
            ->get()
            ->pluck('DEV_CRITERION_ID');

        $directionIds = PedDiagnosticVSDevelopmentDirections::where('PED_DIAGNOSTIC_ID', $this->arResult)
            ->get()
            ->pluck('DEV_DIRECTION_ID');

        $criterions = [];
        $directions = DevelopmentDirections::where('INSTITUTION_ID', self::getCurrentInstitutionId())
                ->where('EDUCATIONAL_AREA', $this->educationalArea)
                ->whereIn('ID', $directionIds)
                ->get()
                ->toArray();

        if($directions) {
            foreach ($directions as $direction) {
                $criterions = DevelopmentCriterion::where('INSTITUTION_ID', self::getCurrentInstitutionId())
                    ->where('EDUCATIONAL_AREA', $this->educationalArea)
                    ->where('DIRECTION_ID', $direction)
                    ->whereIn('ID', $criterionIds)
                    ->get()
                    ->pluck('ID')
                    ->merge($criterions);
            }
        } else {
            $criterions = DevelopmentCriterion::where('INSTITUTION_ID', self::getCurrentInstitutionId())
                ->where('EDUCATIONAL_AREA', $this->educationalArea)
                ->where('DIRECTION_ID', 0)
                ->whereIn('ID', $criterionIds)
                ->pluck('ID')
                ->merge($criterions);
        }

        return $criterions;
    } 

Красиво написанный код напоминает стихотворения Маяковского

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

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

Трудное начало

Вы уже знаете, что хотите стать программистом, но как это сделать? Учиться дома? Купить курс? Поступить в ВУЗ? С какой технологии начать?

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

Самостоятельное обучение программированию

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

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

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

Курсы и школы программирования

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

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

Денег не было — учился по курсам с торрентов

С таким подходом мне очень не хватало общения, поэтому я завёл аккаунт в Instagram, подписался на многих ребят из индустрии и начал рассказывать о себе. Очень быстро появились знакомые и я понял, как развиваться дальше.

Поначалу я обходился без JS-фреймворков и сборщиков — пользовался плагинами Live Server и Live Sass Compiler для редактора Visual Studio Code.

В какой-то момент я записался на бесплатный курс в RS School. Это был интересный опыт, но до конца я так и не дошёл, потому что все вебинары и челленджи пролетали мимо меня: их проводили примерно в 20:00 по Москве — во Владивостоке в это время было три часа ночи.

В Instagram я познакомился с Сашей Белькевичем — фронтендером, который работает на Vue.js. У него есть Patreon-сообщество, где он за небольшие деньги даёт задания с обратной связью. Конечно, я присоединился.

Русскоязычные курсы по Vue.js мне не понравились, но Саша предложил поискать уроки от Максимилиана Шварцмюллера — самоучки, который сам освоил фронтенд и бэкенд, а потом сделал курсы и обучил полтора миллиона человек.

Эти уроки я скачал с торрента. Переживал из-за своего плохого английского, но там были субтитры, и первое время я выписывал незнакомые слова в тетрадь. Зато сейчас уже всё воспринимаю на слух. Спустя некоторое время я удалил торренты и купил курс Максимилиана на Udemy.

Теперь моё портфолио пополнилось проектами от RS School и Саши, я более-менее научился верстать и использовать препроцессор, немного разбирался в Bootstrap, JavaScript и основах Vue.js.

Я завёл аккаунт на LinkedIn, оформил профиль, подтвердил несколько навыков и начал наращивать сеть контактов. В комментариях к какому-то посту мне предложили пройти собеседование: в итоге меня интервьюировали, когда я копал картошку у тёщи. Стоя с лопатой посреди сорняков, я отвечал на вопросы о promise и this, bind и reduce. Интервьюер сказал, что мне стоит подтянуть, и посоветовал изучить React. Я уже был готов на всё, поэтому пошёл на Udemy и купил очередной курс.

React мне понравился — у него есть нормальная документация. Не знаю, почему все говорят, что Vue.js намного проще.

Абстрактно-логическое мышление

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

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

Вот пример из книги Канемана «Думай медленно… решай быстро»:

«Стоимость бейсбольного мяча и биты — 1 доллар и 10 центов. Бита на 1 доллар дороже мяча. Сколько стоит мяч?» Если вы ответили — 10 центов, то сделали неправильный вывод, ведь получается, что бита всего на 90 центов дороже мяча, и не совпадает совместная стоимость товаров. Логичный и верный ответ — 5 центов.

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

Разнообразные ошибки аргументации на примере диалога двух роботов

Как проверить логическое мышление у ребенка

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

Вот несколько таких задач

  1. Нужно усовершенствовать конструкцию самолетов, чтобы их реже сбивали на войне. Известно, что у вернувшихся с заданий самолетов больше всего пробоин на фюзеляже, чуть меньше — на крыльях, а зона двигателя всегда практически в идеальном состоянии. Бюджета хватает на усиление только одной детали. Что в самолете надо укрепить?

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

  1. У Тани две монеты на сумму 15 копеек. Одна из них — не пятак. Какие у Тани монеты?

Ответ. Банальная внимательность к предпосылкам и ответ очевиден — 5 копеек и 10 копеек. Ведь если одна монета — не пятак, нет противоречия в том, чтобы пятаком была другая.

  1. В двух кошельках всего 4 копейки, причем в первом — копеек вдвое больше, чем во втором. Как это возможно?

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

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

Малышам нужны задачи попроще и поинтереснее

Например, на сайте LogicLike много красочно оформленных задач, что особенно помогает удерживать внимание дошкольников []

Оттачивайте свои коммуникационные навыки

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

«Харизма, симпатичность и другие подобные навыки важны», — сказал Джим Бака, старший разработчик и коуч Android. «Никто не хочет работать с нехаризматичными, неприятными людьми. Это навыки, которые так же важны, как и технические навыки! На самом деле они становятся более важными по мере развития вашей карьеры. Эти навыки дают больше возможностей, так что не сбрасывайте их со счетов.»

По словам Грегори Голински, программиста и специалиста по SEO в YourParkingSpace, умение разговаривать с непрограммистами также является ценным навыком работы.

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

Кто такой программист?

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

Название профессии произошло от древнегреческого πρό и γραμμα (пред и запись соответственно). Другими словами, если переводить название профессии программиста буквально, то мы получим «предписание», из чего становится понятно, что этот специалист предписывает как должно быть. Несмотря на то что профессия молодая, первую программу решения уравнения Бернулли в 1843 году написала Ада Лавлейс, между прочим, дочь знаменитого поэта Джорджа Байрона, графиня и математик. Ей и присвоено почетное звание «первый программист», хотя профессия преимущественно мужская. Сегодня программисты известны во всем мире и часто занимают на страницах прессы не меньшее место, чем, скажем, звезды кино. Кто не знает имена Стива Джобса, Майкла Цукерберга, Сергея Брина, Евгения Касперского или одного из самых богатых людей мира Билла Гейтса?

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

Отметим, что профессия программиста неоднородна. Внутри профессии существует несколько узких специализаций:

системный программист – занимается разработкой операционных систем, глобальных поисковых систем – его работа как бы находится в родо-видовых отношениях с прикладным программистом

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

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

Web-программист – специализируется на программировании, связанном с глобальной сетью Интернет, основным источником информации и мощнейшим инструментом рекламы

Web-программист создает сайты, продвигает их, работает с контентом.

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

4 | Вы не чувствуете удовлетворения после решения проблемы.

Если вы не испытываете радости и чувства выполненного долга после решения проблемы, вы никогда не станете успешным программистом.

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

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

Радуйтесь своим успехам: Когда вы решаете проблему, над которой долго бились, независимо от её сложности, гордитесь выполненной работой, отдыхайте и поздравляйте себя. Дайте чувству удовлетворения проникнуть в вас и наполнить энергией для решения следующей проблемы.

Кем проще стать, программистом или тестировщиком?

Чтобы ответить на вопрос, сравним обе профессии по основным критериям, которые могут повлиять на выбор:

Параметр

Программист

Тестировщик

Чем нужно заниматься

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

Проверять работу программ, приложений, сайтов. Выявлять и описывать ошибки (баги).

Сложность работы

Выше. Требуется решать нестандартные задачи.

Работа по четким инструкциям и алгоритмам.

Зарплата

У новичков на 20-30% выше, чем в тестировании. Быстро растет по мере накопления опыта.

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

Сколько времени требуется на обучение

От 1 года и больше.

От 6 месяцев, при этом можно найти курсы со стажировками.

Кому подойдет

Людям с логическим складом ума, усидчивым, способным придумывать новое, находить нестандартные решения.

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

Что в итоге выбрать, профессию тестировщика или программиста?

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

Есть курсы, которые проводятся совместно с работодателями и лучших выпускников приглашают на собеседования. Например, такая программа сделана в Нетологии. Она идет совместно с Альфа-Банком, который приглашает выпускников к себе.

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

Захотел в IT, потому что это интересно

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

Я вспомнил, что когда-то интересовался вебом, но дальше забав с HTML-тегами дело не пошло. Вскоре наткнулся на бесплатные тренажёры HTML Academy — часами проходил их и громко матерился на заданиях, где вёрстка должна была совпасть с образцом пиксель в пиксель. Потом я купил подписку и прошёл все тренажёры по вёрстке.

В конце концов я понял, что за IT будущее. Я работал продавцом, таскал тяжести, крутил гайки на заводе, фотографировал неприятных клиентов — вся эта деятельность была тупиковой. А в IT много направлений, в которых можно развиваться: если заскучал, несложно сменить работу и язык программирования — такого я не встречал ни в одной другой индустрии.

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

Большую часть своей жизни я находился в эмоциональной заднице — и закончить жизнь в той же заднице я не хочу. Но и IT я выбрал вовсе не из-за денег — мне и правда было интересно. Вёрсткой я могу заниматься, забывая поспать и поесть. Это ли не счастье? А вот работа только ради зарплаты — путь в никуда.

Кому больше платят? Сравниваем зарплаты

Тестировщики обычно получают до 80 тыс. рублей в месяц. Исключение – QA Lead, то есть руководитель отдела тестирования. Его доход может превышать 200 тыс. рублей в месяц.

Хороший разработчик может зарабатывать от 100-120 до 150-200 тыс. рублей в месяц в зависимости от языков и технологий, которыми он владеет. Доходы мобильных разработчиков могут превышать 200 тыс. рублей в месяц.

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

Профессия

Средняя зарплата на рынке, руб.

50000 – 100000

70000 – 200000

80000 – 200000

50000 – 300000

60000 – 250000

50000 – 200000

40000 – 100000

50000 – 100000

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

8 | У вас ограниченное, узкое и беспорядочное мышление

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector