не хочу быть программистом что делать

«Я больше не могу»: 5 причин эмоционального выгорания программиста и что с этим делать

Андрей Н. начал кодить 8 лет назад, и готов был работать сутками напролет, набирая «шабашки» на выходные, а в свободное от работы время изучая новые фреймворки. Работа приносила удовольствие, он наконец-то нашел себя! Спустя 8 лет Андрей с трудом заставляет себя встать с кровати утром, работа не приносит радости, как не приносит ее ничто другое: все виды развлечений, которые развеивали ранее, больше не интересны. У Андрея эмоциональное выгорание, которое предшествует депрессии.

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

не хочу быть программистом что делать. Смотреть фото не хочу быть программистом что делать. Смотреть картинку не хочу быть программистом что делать. Картинка про не хочу быть программистом что делать. Фото не хочу быть программистом что делать

Причины эмоционального выгорания у программиста

1) Монотонная работа

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

Ключ к борьбе с эмоциональным выгоранием при монотонной работе: смена видов деятельности, задействование интуитивного мышления. Даниель Канеман отмечал, что интуиция — это способность автоматической выработки решений без длительных логических рассуждений или доказательств. Существует множество упражнений для переключения с аналитического на интуитивное мышление. Одно из них: перед рабочим коллом с коллегами представьте мысленно каждого из них, поразмышляйте о том, какими качествами характера они обладают, как характер влияет на плоды их труда (например, кто-то очень быстрый, но у него в коде одни баги, а кто-то «тормоз», но пишет чистый и хорошо документированный код, и так далее…).

«Сменить» картинку также можно, подключив спорт (обязательно любимый – который нравится, пробуйте разные, чтобы найти свой), или заняться просмотром фентези/фантастики, чтением увлекательных художественных книг (не профессиональной литературы – она все так же будет задействовать именно аналитическое мышление).

не хочу быть программистом что делать. Смотреть фото не хочу быть программистом что делать. Смотреть картинку не хочу быть программистом что делать. Картинка про не хочу быть программистом что делать. Фото не хочу быть программистом что делать

2) Фрустрация потребностей

3) Темп работы

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

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

4) Признание

Большинство из нас, даже не осознавая этого, хочет видеть результаты своего труда и получать за них признание («ты крутой программист! Ты так круто решил эту задачу! В результате этого…»). Если же вы пишите код, который не «мерджат», или нет релиза, или вообще решают изменить весь проект спустя год – вы чувствуете, что все это время работали зря, ваш труд не ценен, это как «выкидыш» у женщины. Никакие деньги не дадут чувства важности, если вы видите, что делаете бесполезную работу.

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

не хочу быть программистом что делать. Смотреть фото не хочу быть программистом что делать. Смотреть картинку не хочу быть программистом что делать. Картинка про не хочу быть программистом что делать. Фото не хочу быть программистом что делать

5) Высокая зарплата

Да-да, это не опечатка. Не маленькая, а именно высокая зарплата способствует выгоранию. Вы на пике, на высоких скоростях, стараетесь выжать из себя максимум, чтобы доказать (себе и работодателю, но прежде всего себе), что достойны. И делаете крутой продукт ежедневно. А еще иногда овертаймите в ущерб сна, или выходных с друзьями. Тогда как кодер с низкой ЗП позволяет себе поиграть в игру днем («за такую ЗП я манал»…).

Не будьте слишком строги к себе и боритесь с перфекционизмом. Верните страсть к работе, займитесь тем, что увлекает вас. Может быть это новая технология или интересный опыт коллег? Разрешите себе бездельничество. Иногда 2 суток, проведенных без строчки кода, рождают в мозге решение сложной задачи, которую вы выполните за 20 минут.

Общие «лекарства»

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

«Легкий человек»

Все зависит от психотипа (добро пожаловать в типологию личности), но как правило, программист – это усидчивый, скурпулезный, внимательный к деталям, с аналитическим складом ума человек, следующий стандартам и правилам, с критическим мышлением. Этому типу личности важно иметь рядом полную противоположность – веселого и беззаботного человека, который будет расслаблять вас и превращать жизнь в праздник. Это может быть девушка, друг, родственник или коллега – не важно. Проводите время с вашей противоположностью, и вы заметите, что ваше состояние изменится. В вашей паре вы – основа, база, берег, а партнер – воздушный шарик, путешествие, удовольствие и новизна. Коллега, который метко шутит и делает мемасы с вашими фото, или девушка, которая скажет «не парься, это такая ерунда! Поехали лучше в кино!» подходят на эту роль.

не хочу быть программистом что делать. Смотреть фото не хочу быть программистом что делать. Смотреть картинку не хочу быть программистом что делать. Картинка про не хочу быть программистом что делать. Фото не хочу быть программистом что делать

«Гормоны счастья»

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

Окружите себя уютом: теплые носки, плед, горячий кофе, кот (если есть), объятия, свечи или прикроватный свет (все вместе единовременно). Закройте глаза и послушайте легкую музыку. Ничего не делайте, никуда не спешите.

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

Запланируйте «час удовольствия» на каждый день. Планируйте, чем побалуете себя сегодня? Новые наушники? Заказ любимой еды? Прогулка в парке? Игра по сети с другом? Ежедневно радуйте себя.

не хочу быть программистом что делать. Смотреть фото не хочу быть программистом что делать. Смотреть картинку не хочу быть программистом что делать. Картинка про не хочу быть программистом что делать. Фото не хочу быть программистом что делать

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

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

Источник

Хотел стать программистом и передумал: почему IТ-карьера — не для всех

Сейчас мы можем встретить программиста без высшего образования, сисадмина с дипломом психолога или искусствоведа, тестировщика, начавшего осваивать профессию после 30. Но существуют и обратные примеры: кто-то делает первые шаги в IТ, но потом возвращается в старую профессию, кто-то выбирает другое направление для карьерного роста. Мы собрали истории профессионалов, подтверждающие, что работа в IT — это сложно.

Не факт, что за 1–2 года вы станете много зарабатывать

Один из главных стимулов переходить в IT — зарплата: средний доход IТ-специалиста в России составляет 100 тысяч рублей, что вдвое выше медианного уровня зарплат в стране. Для разработчиков эти цифры оказываются ещё в 1,5–2 раза выше — об этом рассказывает Газета.ру со ссылками на банк данных hh.ru. Кроме того, многие IT-специальности позволяют работать и за рубежом, а некоторые компании предлагают релокацию либо удалённую работу из любой точки мира. Но на вход в профессию потребуется 1–2 года интенсивного обучения с практикой.

Сергей Полуэктов, директор IT-компании MediaSoft:

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

В прошлом году в нашей команде появился iOS-джуниор, который смог дорасти до этого уровня за четыре месяца. До этого он был менеджером по продажам и перешёл в IT только в 27 лет.

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

Наталья Серебристая, руководитель службы доставки ООО «ТБМ»:

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

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

Учиться придётся долго

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

Дмитрий Кузьмин, автор медиа Нетологии:

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

Через пару месяцев после начала обучения я всё чаще думал: неужели я такой глупый, что не могу сходу разобраться во всём этом? Почему мне нужно сидеть по пять часов над задачей? Мне повезло. Нашлись ребята, которые помогали с задачами и поддерживали. Они мне говорили: «Не парься, долго разбираться в чём-то — это нормально». Я всё-таки стал разработчиком, немного поработал с кодом и IT-задачами. Потом вернулся в маркетинг.

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

Конечно, многие готовы к тому, что обучение в IT — это непрерывный процесс, и после университета или курсов ничего не заканчивается, а только начинается.

Александр Мезин, директор по развитию бизнеса Devtodev, Санкт-Петербург:

Азы знаний в сфере IТ я получил на срочной службе в армии. Под призыв я попал в 21 год: до этого учился на повара, потом работал. Во время службы был эникейщиком в воинской части: это был 2007 год, но в ходу там были устаревшие компьютеры с Windows 98 и даже один с MS DOS. Делал из этих машин сеть, Поднимал сервер файлового хранилища, разрабатывал систему учёта в MS Access для военного госпиталя, и благодаря этому я выучил азы программирования.

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

Сейчас работаю директором по развитию бизнеса в аналитической платформе Devtodev. Когда я только начал заниматься сетями, то прочитал всего Таненбаума, пособия Cisco для CCNA, ещё кучу университетских книжек и не только. Сейчас прохожу примерно по одному образовательному курсу в месяц. И понимаю, что учиться в таком режиме придется примерно всегда. Думаю, если хочешь работать в высокотехнологичной отрасли, в которой появляется что-то новое, повышать квалификацию придётся постоянно.

Нужна стрессоустойчивость и готовность к переработкам

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

Мария Николаева, CMO Usetech:

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

Светлана Нерадова, частный репетитор математики:

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

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

IT-сфера традиционно считается одной из самых гибких и либеральных. В большинстве компаний нет фиксированного начала рабочего дня, даже в Google, Facebook и Apple нет жёсткого дресс-кода. В некоторых офисах есть не только настольные игры, курсы английского и йоги, но и тренинги по эмоциональному интеллекту. В то же время дискриминация на рынке труда — не миф, и IT, увы, не исключение. Нет гарантий, что на новичков нигде не будут косо смотреть из-за пола, возраста, семейного положения или образования (либо его отсутствия). Особенно на тех, кто не шёл в карьере проторённой дорожкой.

Ольга Мустяц, редактор-фрилансер:

Я окончила журфак МГУ. Четыре года назад я решила, что не в силах больше работать редактором и копирайтером. Стала думать, куда бежать, посоветовали веб-программирование: мол, там низкий порог входа. Отходила сначала на двухнедельные курсы по JavaScript, потом поступила на курсы профпереподготовки при ИТМО, вполне успешно отучилась.

Стала искать работу и первый раз в жизни столкнулась с тем, что работодатели относятся ко мне предвзято: я же девушка и «гуманитарий». Как-то реально спросили, не муж ли делал за меня тестовое задание. Походила по собеседованиям около месяца, потом в жизни начался сложный период, и о смене профессии на время пришлось забыть. Через год попробовала вспомнить, что я учила, и посмотреть вакансии. Поняла, что за год веб ушёл далеко вперёд, да и знаний у меня мало, чтобы заниматься чем-то большим, чем клепание простеньких сайтов. Я не настолько без ума от IT, чтобы делать его делом своей жизни, постоянно учиться, а параллельно унижаться перед высокомерными менеджерами на собеседованиях (а потом и на работе). Ну и плюс у меня появились другие, более интересные для меня проекты.

Будьте готовы сократить количество общения

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

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

Анна Копытова, Business Development Manager в сервисе «Где мои дети»:

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

Нужно нарабатывать фундаментальные знания

Желающему начать карьеру разработчика часто недостаточно знаний основного синтаксиса языка программирования. Опытные программисты порой не считают за равных своих коллег без технического бэкграунда: это заметно даже по комментариям в нашем блоге. Если вы пришли в IT из другой отрасли, то придётся постепенно наращивать объём фундаментальных знаний. Разобраться, как работают компьютеры, как строятся сети, изучить принципы разработки, понять алгоритмы. Не запоминать формулы, надеясь, что дальше туда просто подставляются цифры, а разбираться, почему используется именно эта формула и как она работает. Не менее важно развивать навык поиска и фильтрации информации. Данных слишком много, нет смысла всё запоминать — кое-что проще найти. В противном случае есть риск не задержаться в профессии или остаться на джуниорской позиции без перспектив карьерного роста.

Лилия Гайнуллова, HR-директор «БАРС Груп»:

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

Андрей Емельянов, технический писатель по Linux-продуктам, Dr.Web:

Я работаю техническим писателем 10 лет, хотя по образованию я лингвист, а новую специальность начал осваивать уже после 30. Многие считают, что в эту профессию войти легко, особенно гуманитариям. Не все понимают важность работы техписателя, но при этом к специалистам предъявляются запредельные требования. Нужно профессионально владеть русским и английским языками, иногда и знание второго иностранного языка бывает нелишним. При этом требуются ещё и хорошие технические знания. Найти таких людей сложно. Чтобы преуспеть в профессии, нужно самообразование: чтение технической литературы на разных языках, изучение технологий (в идеале всё нужно знать на уровне тех, для кого пишется документация). Последнее сложнее всего, потому что нужно быстро усваивать много разной информации, и не по верхам, а копать глубоко. Когда я начал работать в IT, то многому учился у коллег-технарей. Возможно, систематический курс был бы лучше. Мне повезло с адекватными коллективами на нескольких работах подряд и возможностью изучать многое на практике.

Как попасть в IT и не пожалеть

Если собрать краткое резюме, вот что получается:

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

Развивайте технический бэкграунд. Где-то спасёт профильная магистратура, где-то — штудирование школьных учебников математики.

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

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

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

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

Источник

Как не стать программистом или… тебе здесь не место

ПРОЛОГ

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

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

Ну а если ты в процессе самоопределения по данной профессии — you are welcome!

ТЕРМИНОЛОГИЯ

Согласно учебникам, программирование — это всего лишь процесс написания инструкций на каком-либо языке программирования (ЯП).
Но так ли это просто — взять и написать программу?
Неужели написать программу, это просто перечислить набор указаний (инструкций) компилятору и все готово?
Всего-то заучить команды и штампуй себе проги, да греби бабло!?

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

Программирование — это умение абстрагировать, мыслить объектами, функциональными зависимостями, виртуальными образами.

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

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

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

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

Самое главное умение в программировании, это научиться воспроизводить (исполнять) код в уме.
Мозг программиста должен уметь запускать участки кода в уме. Вы прокручиваете цикл, вычисляете переменные и представляете, примерно, что будет на выходе.

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

ВЫВОД. Программист должен уметь выполнять код в голове, до того как скормит его компилятору.

ГОРЬКАЯ ПРАВДА

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

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

СТАНОВЛЕНИЕ

Только после этого, ты становишься кем-то похожим на программиста. И только уже потом, немытая голова старый свитер и борода…

Смех смехом, но по длине бороды одного нашего программера, мы узнаем на какой стадии проекта он находится.

ВЫВОД. Программист — это человек, который не только пишет программы, но и у которого они работают.

О ЯЗЫКАХ.

Существует много языков программирования, но особняком в это списке всегда стоял С++.
Почему С++?

С++ — это минималистичный язык, возникший как набор макросов от ассемблеристов. Вернее сначала возник С. Но не в этом суть, я не историк.
Почему рядовой программист должен знать С++?
Это примерно как священник, не знающий Библию. Как маркетолог, не знающий о правиле 4П. Как фотомодель без макияжа. Так и С++ — это тот самый необходимый багаж, который должен просто хотя бы лежать в голове на одной из полок.

Ты можешь не использовать С++ в действии, но ты должен знать его как канон, как основу всех основ. Но тем не менее, С++ весьма опасен при использовании, ведь, например, при манипулировании указателями, если программист до конца не понимает их основ, можно улететь на исполнение кода в участок данных (из-за этого, кстати, в JAVA, указатели отменили). А еще можно «выстрелить себе в ногу»)) так считал автор языка С++, господин Страуструп. Потому что таким инструментом, как С++, нужно очень грамотно владеть, чтобы пользоваться им виртуозно.

Также учтите, что часть современных языков взяла С++ за базу — Java, PHP, Perl, Ruby etc.
Все известные программы написаны исключительно на С++ (или С) — ОС Windows, ОС Linux, MacOS, iOS, Firefox, Kaspersky, Chrome etc. Более того, многие из известных программ, имеют открытые исходники и по ним можно учиться программированию.

На данный момент, только С++ дает самый быстрый и оптимизированный код под нативную родную платформу.

ПОЧЕМУ DELPHI НЕ ВАРИАНТ?

Здесь я приму отчаянную попытку отговорить начинающих от программирования на Delphi.

Pascal (IDE Delphi) — это программирование в рамках (ИМХО). Pascal — это язык, придуманный ученым Н. Виртом в 1970-ом году, в ходе разработки другого языка Модула-2. Pascal широко использовался для изучения основ программирования, но коммерческое использование он получил только в 80-90-е годы.

За десятилетия правления Борланда и InPrise он превратился в монстра, заимствовав (украв) часть синтаксиса из С++. Сейчас компания Embarcadero продолжает выращивать этого монстра, в чреве которого вы будете компилировать гигантского размера программы. Кстати и для Андроида тоже.

Я в свое время немало людей перетащил с болота Delphi на C++, чему они сами были впоследствии несказанно рады. Будучи С++-программерами, они с ужасом вспоминали про Паскаль и больше не имели желания на нем программировать.
Также, я слышал немало баек от программистов, пытавшихся переучить дельфистов на Java и потерпевших полный фиаско. Теперь многие ставят крест на дельфистах. Якобы, непереобучаемые.

Возможно это вызов и вам, господа дельфисты! Попробуйте написать прогу на С++. Через 2 месяца Delphi (Pascal) покажется вам детским садом и вы перейдете на следующий уровень развития (в среднюю школу). А там уже и Python не за горами.
Развивайтесь! А вам слабо?

Сразу попрошу не разводить холивор по поводу кто круче — Дельфи или С. Если Вы пишете на Дельфи хорошие коммерческие программы и ваши юзеры довольны продуктом, то значит все отлично. Пишите и дальше. Вы нашли свою нишу.

ИСПОЛЬЗОВАНИЕ ЯП

Теперь посмотрим на мировую статистику за 2015 год, так на чем все-таки пишут программы?
C (C++,C#,ObjC) — 28.5% (это нормальные пацаны)
Java — 21.5% (это Android, серверные и мобильные приложения )
Basic (+.NET) — 4.1% (это США с их обожаемым Visual Basic)
Python — 3.8% (это кулхацкеры, линуксоиды и гики)
Delphi (Pascal) — 2.9% (это Россия и Восточная Европа)
PHP — 2.7% (Web-программирование)
Javascript — 2.5% (Web-программирование)
Ruby — 2.0%

ШАГИ ПО СТАНОВЛЕНИЮ ПРОГРАММИСТА

С чего же начнется твое обучение программированию?
1. Ознакомление с алгоритмизацией
Тут для начала все таки хорош Pascal. Он неплохо развивает блочное мышление. Вводит в предметную область программирования. Не отпугивает так, как С++. И нога останется целой.
2. Переменные и типы данных
3. Базовые элементы языка
Структуры, классы
Циклы, ветвления, выбор, переходы, функции
4. Ознакомление с ООП
ООП — это именно тот функционал, который делает из программы человека «хорошую» программу. Это скелет (остов) любой приличной программы.
Это то, от чего едет крыша у начинающих. Это то, от чего бегут недалекие программисты.
Тут начинается абстракция.
Требуется понять только одно — ООП является костяком любой хорошо спроектированной программы.
Без ООПа порой сложно выстроить между собой логическое и интуитивно-понятное взаимодействие модулей программы.
5. Знакомство с технологиями — работа с файлами, потоками, графикой, сокетами, СУБД, Web, XML
6. Углубление — работа над своими проектами 6-9 месяцев. Тут важно не дергать готовые компоненты, а писать чистый С++ код.
Важно просто набить руку.

ФРЕЙМВОРК И КОМПИЛЯТОР(IDE)

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

IDE — это графическая оболочка-редактор, которая облегчает работу над созданием визуальных форм и редактирования кода.
Проблема современного программирования — излишнее многообразие фреймворков, сред и ЯПов.
Нельзя выучить все из них. Многое определяет заказчик или компания-работодатель.
Можно начать изучение с Visual C++ (среда от Microsoft), Builder C++ (Embarcadero) и Qt.

Visual C++ — это классика. Если нужно много удобных визуальных компонентов, если нужен навороченный интерфейс — берите Builder C++. Нужна кроссплатформенность — берите Qt C++.

Я начинал программировать на С++ в DOS. Тогда (в 90-х) больше и не было ничего (unix не в счет)!
Сейчас у нас есть C#.NET, Qt, wxWidgets, C++Builder, C++ VisualStudio под Windows. И не менее жирные вариации под Linux.
А если еще посмотреть в сторону Java, Android… то просто слюнки текут от возможностей.

Готовьте голову к обширному вливанию документации. Как говорят программисты — RTFM.
Учите один язык и одну среду. Учеными доказано, что программист с 3-летним опытом программирования на одном языке работает в 3 раза продуктивнее программиста с таким же опытом, но на другом языке.

ХОРОШИЕ ПРАВИЛА ПРОГРАММИРОВАНИЯ

1. Написал первую версию программы!? Выкинь и начните писать вторую версию.
2. Проектирование программы начинайте на бумаге — блоки, связи, морфология, схемы (UML)
3. Переменные самодокументируемые — bPersonNameValidity
4. 60% кода — обработка ошибок и исключительных ситуаций.
5. Разбивайте код на мелкие модули. Хорошая практика — один класс-один модуль.

КАКИЕ ОНИ БЫВАЮТ?

Разделение на системных(С) и прикладных(П) программистов.
С — знают устройство операционной системы, основы API, как работает ОС (потоки, процессы, прерывания, хуки), стараются весь код писать сами без привлечения сторонних компонент. Часто сторонники VisualStudio. Не любят создавать ПО с большими графическими интерфейсами.
П — пишут программу, использую сторонние модули и компоненты. Не вдаются в устройство ОС. Любят Delphi и Builder.

Embedding — самый профессиональный уровень. Программирование под железки — hardware. Требует знаний электроники и ассемблера. Самый высокооплачиваемый сегмент программирования.

Web-программисты — пишут код для динамических сайтов. Чаще на PHP. Дополнительно нужно знать HTML, CSS, JS и пр.

ЭПИЛОГ

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

По С++. Читаем Страуструпа. Держите его книгу под рукой.
И еще. Учи английский язык. Программисты должны уметь свободно читать на английском.
99% документации по программированию на английском. Перевода не ждите.
Названия переменных тоже называем английскими словами, заодно это комментирует код.
Если при изучении языка программирования, ты чувствуешь что продираешься через джунгли, что твои мозги вязнут в этой мути, что языковые конструкции ужасны и труднопонимаемы, и ты чувствуешь нарастающее раздражение, то вполне возможно, что это не твое. Бросай!
Программирование — это не профессия, это диагноз.
Главное, что ты — пытался, но возможно что твое призвание в другом.

Источник

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

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