Компьютеры | Программирование

  • Автор темы Автор темы :.Vlad_Grand.:
  • Дата начала Дата начала
MpFn3JgDlDg.jpg

Памятка для начинающих разработчиков

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

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

Как начать и что изучать
Найдите первое рабочее место. В офисе можно научиться многому. На месте начинающего разработчика я бы соглашался работать за еду, лишь бы научили. Собственно, я так и начинал — на первом рабочем месте получал 25$ за один завершенный проект. Опыт, который я там получил, бесценен.
Занимайтесь программированием всегда, когда есть время на это. Не вгоняйте себя в рамки одного проекта, за который вам платят в офисе. Изучайте новые технологии, пытайтесь сделать что-нибудь в opensource проектах, читайте новости своей отрасли, изучайте фреймворки, аналогичные тем, которые используете на работе. Изучение реализаций известных фреймворков покажет вам существующие best practice в архитектуре и написании программ. Когда я впервые залез в папку system фреймворка codeigniter, впервые познакомился с паттерном Singleton и посмотрел, как и зачем его использовать (+1 к знаниям), то понял, в чем суть порождающих шаблонов и принципа MVC (еще +2 к знаниям). Сейчас, когда меня начинает подташнивать от PHP, я лезу в исходники фреймворка beego, чтобы немного глубже понять GO.

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

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

Работа над ошибками
Кроме всего, многие джуны допускают общие ошибки, которые мешают им быстро и эффективно развиваться. Вот несколько из них:
«Почему меня заставляют работать с базой данных и разбираться в разнице между InnoDB и MyISAM? Я еще джун, я не должен этого знать. Пусть мидл это решает!»
— это самая распространенная ошибка практически всех джуниоров. Вы никогда не станете опытнее или умнее, если не будете делать того, чего до сих пор не знали и не делали. Только решая задачи сложнее и выше вашего уровня, вы развиваетесь.
— Что должен знать джун?
— Всё.
— Но всё знает только сеньор!
И никто не понимает, что почти вся разница между сеньором и джуном — это опыт.
***

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

«Я уже всё знаю и могу сделать всё!»
— да, вы могли сделать всё, что угодно и после прочтения первой книги, вот только работать оно будет, мягко говоря, не очень. Не торопите время.
В китайском искусстве владения боевым клинком есть три стадии познания:
— Сю — означает, что надо заучивать всё точно так, как показывает учитель. Требуется много лет тренироваться, иначе не будет базы для перехода на следующую ступень.
— Ха — означает освободиться от правил — где правил нет, там есть естественный ход вещей. Многие пробуют делать это слишком рано, поскольку переоценивают свои возможности.
— Ри — означает подняться над всем, что изучалось раньше, создать более высокие и более общие принципы (кстати, в программировании тоже есть три стадии: junior, middle, senior).
Когда вам кажется, что вы уже достигли пика своего умения — скорее всего, вы не правы.
***

«Я программист, поэтому платите мне 2000 долларов в месяц, и где вообще моя массажистка?», или «А я знаю, что другие программисты получают больше, чем я, в 3 раза!»
— да, и поверьте, по-настоящему хороший программист оплачивается и удерживается. Если ваша работа не оплачивается в полном объеме — значит, может быть, она еще не стоит желаемого уровня. Продолжайте учиться, набирайтесь опыта. Всему свое время.
***

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

Будьте смелее
В качестве заключения немного советов тем, кто уже в теме, но еще не уверенно себя чувствует:

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

— Делать свою cms — это нормально. Главное — написав свой велосипед, никому его не показывать и нигде не использовать. Сам факт того, что вы ее написали — знак того, что вы честно впитали информацию и закрепили ее на практике.
— Каждый раз думайте: «правильно ли я делаю?», «можно ли сделать лучше?», «это можно сделать лучше, я знаю».

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

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

— Даже не думайте учить 1С (да простят меня 1Сники).

Будьте смелее и не спешите переходить на стадию middle. Всё придет само собой.


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

Три языка программирования и много листков бумаги, которые содержат текст.
ты чего самый умный что ли сам поди на дельфине можеш калькулятор написать и все
 
Какой лучше язык посоветуете изучать? И какой полегче? :) Дайте ссылочку на видео уроки)
 
Какой лучше язык посоветуете изучать? И какой полегче? :) Дайте ссылочку на видео уроки)
Смотря для каких целей.
Рекомендую Python (легкий в обучении, мощен, применимый почти везде). Курсы есть на codecademy, codeschool, ютубе.
Ну а сам я изучаю Java из-за востребованости, популярности и относительной легкости по интерактивному курсу javarush.
Можно начинать с С++, но не рекомендую как 1 язык.
 
Последнее редактирование:
Смотря для каких целей.
Рекомендую Python (легкий в обучении, мощен, применимый почти везде). Курсы есть на codecademy, codeschool, ютубе.
Ну а сам я изучаю Java из-за востребованости, популярности и относительной легкости по интерактивному курсу javarush.
Можно начинать с С++, но не рекомендую как 1 язык.
Здравствуй,наверно помнишь,пол года назад,сидел,беседовали о программировании,о карьере, вот сейчас хочу немного рассказать об успехах. :) Этим летом закончил колледж.Полученными знаниями доволен частично,не то что ожидал,но и не очень плохо)) Даю дела в университет,факультет-Информатика и Вычислительная техника,сразу на 2 курс.Посмотрел программу обучения,С++,С#,немного веб-а и схемы,схемы,схемы...С++ как уже ранее говорил не особо интересует,но не знаю может полюблю все же этот язык.Интерес все накапливается и накапливается к этому языку,но все же,пока,не "догоняет" вебу))Уже нашел работу,работаю на частной фирме компьютерным оператором + графическим дизайнером(работаю с программами Photoshop,Illustrator и Articulate Storyline),работа не айс,но думаю для начала пойдет))Не все же великие программисты сразу стали теми кеми они являются сейчас :).Думал заинтересует,так вот к чему я это,расскажи немного о себе какие успехи,достижения :D
 
Здравствуй,наверно помнишь,пол года назад,сидел,беседовали о программировании,о карьере, вот сейчас хочу немного рассказать об успехах. :) Этим летом закончил колледж.Полученными знаниями доволен частично,не то что ожидал,но и не очень плохо)) Даю дела в университет,факультет-Информатика и Вычислительная техника,сразу на 2 курс.Посмотрел программу обучения,С++,С#,немного веб-а и схемы,схемы,схемы...С++ как уже ранее говорил не особо интересует,но не знаю может полюблю все же этот язык.Интерес все накапливается и накапливается к этому языку,но все же,пока,не "догоняет" вебу))Уже нашел работу,работаю на частной фирме компьютерным оператором + графическим дизайнером(работаю с программами Photoshop,Illustrator и Articulate Storyline),работа не айс,но думаю для начала пойдет))Не все же великие программисты сразу стали теми кеми они являются сейчас :).Думал заинтересует,так вот к чему я это,расскажи немного о себе какие успехи,достижения :D
Клёво, спасибо что поделился историей, а то тема уже еле держится.;)
"Интерес все накапливается и накапливается к этому языку,но все же,пока,не "догоняет" вебу)"
Это ты о Pyhon?
Да, PHP лидирует в сфере веб, но Python его неплохо догоняет. Просто сложнее будет найти работу. А я думаю, что веб по чуть-чуть будет переходить на Python и Ruby. Между прочем, Ruby тоже очень хороший язык, но не популярный. У меня как раз такая ситуация между выбором Java или Ruby. И то и то знаю на базовом уровне. Ruby вроде классный язык, у меня в городе есть веб-фирма, на которой они разрабатывают на Ruby, даже знакомый teamleader там есть, потому если хорошо постаратся, можно попасть к ним на стажировку, а зарплата там не малая. В то же время Java - самый популярный язык на данный момент, много вакансий и в то же время много программистов Java.
Успехов тебе:)
И на придачу
FY2AB3qRGmg.jpg

10 лучших языков программирования на 2015 год
Выбор языка программирования. Это сложный выбор и его приходится делать в самом начале своей карьеры, когда навыков, знаний и опыта нет. Многие специалисты затормозили свою карьеру, сделав ставку не на тот номер. Как не стать одним из них? Давайте разберемся!

Выбирая язык программирования, первое, чем вы должны руководствоваться, это специализация. Чем вы хотите заниматься? Созданием игр? Web-разработкой? Сопровождением ERP-систем? Искренне надеемся, что на этот вопрос у вас есть ответы, поэтому перейдем сразу к другим факторам.

Востребованность это наше все. Чем она выше, тем легче будет молодому специалисту найти работу. Ниже приведены сводные таблицы популярности ЯП и основных тенденций рынка.
b97744.png


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

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

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

PHP
Hypertext Preprocessor (PHP) хорошо известен веб-разработчикам. С помощью PHP можно создать web-приложение очень быстро и без особых усилий. PHP фактически является базовым языком для таких мощных систем управления контентом, как, например, WordPress. Поэтому знание PHP является очень важным для web-разработчиков и программистов.

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

Objective-C
Objective-C нужен тем, кто хочет заниматься разработкой приложений для iOS. Выбор этого языка является наиболее предпочтительным для тех web-разработчкиов, которые хотят использовать XCode (инструмент разработки программного обеспечения Apple). Выше мы приводили статистику подтверждающую эту тенденцию. Хотите стать заметным в App Store? Делайте свой выбор!

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

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

SQL
Упс, а это что за темная лошадка? В статистике ее не было! И все же SQL (Язык структурированных запросов) рекомендован к изучению веб-разработчикам. Это узкоспециализированный язык, который предназначен для работы с базами данных, такими как Microsoft SQL Server, Oracle, MySQL, и прочими.

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

Swift
Функциональность Swift в полной мере отражена в его названии. Это язык для быстрого и легкого программирования, создания приложений для устройств на iOS и MAC. Если вы собираетесь, или уже разрабатываете приложения для этих операционных систем, попробуйте Swift, который стал выбором многих программистов.

©skillkit​
 
Swift
Функциональность Swift в полной мере отражена в его названии. Это язык для быстрого и легкого программирования, создания приложений для устройств на iOS и MAC. Если вы собираетесь, или уже разрабатываете приложения для этих операционных систем, попробуйте Swift, который стал выбором многих программистов.
Язык хорош хотя бы из-за того, что схож по названию с моим ником.
 
Смотрю много тут еще не состоявшихся программистов ;)
А сейчас вы все просто додумайтесь востребаванна ли эта профессия в вашем городе. Мой друг лоханулся,отучившись 5 лет на него. В итоге работает в какой-то гос. орг. за гроши, в частные не берут,т.к. полно таких ;)
 
Смотрю много тут еще не состоявшихся программистов ;)
А сейчас вы все просто додумайтесь востребаванна ли эта профессия в вашем городе. Мой друг лоханулся,отучившись 5 лет на него. В итоге работает в какой-то гос. орг. за гроши, в частные не берут,т.к. полно таких ;)
Это одна из самых востребованных профессий, если не первая по рейтингу. И в следующие лет 10 будет держать свои позиции. Друг твой, скорее всего, сам не хотел стать программистом, и учился на него из-за надежды на большую зп или престижности. Универ не научит тебя работать. Чтобы устроится программистом корочка о "Специалисте" не играет роли, играет роль знания и навыки. Потому, если ты сам не будешь этим интересоватся, изучать и программировать - естественно кому ты надо?
P.S. Кто ищет, тот всегда найдет. Кто хочет - тот дойдет до своей цели.
 
Это одна из самых востребованных профессий, если не первая по рейтингу. И в следующие лет 10 будет держать свои позиции. Друг твой, скорее всего, сам не хотел стать программистом, и учился на него из-за надежды на большую зп или престижности. Универ не научит тебя работать. Чтобы устроится программистом корочка о "Специалисте" не играет роли, играет роль знания и навыки. Потому, если ты сам не будешь этим интересоватся, изучать и программировать - естественно кому ты надо?
P.S. Кто ищет, тот всегда найдет. Кто хочет - тот дойдет до своей цели.
В том-то и дело,что у него очень большие навыки и желание.Просто у нас в городе (Кострома) нет таких организаций и частных лиц,которым были бы нужны программисты (Видимо их перебор в городе).поэтому ему сейчас придется ехать в другой город в поисках работы.
 
Здравствуйте, я интересуюсь, защитой от "вирусов"(не создаю, за это могу получить статью)
Так вот, все вы знаете что такое WINlocker, но кто не знает могу рассказать как он работает, и его состояние на вашем компьютере.Ну и еще, вот вы скажете" фу, винлокер, сто пудов читор, просто всегда читерам они попадаются"
Просто я хотел скачать "пиратку" признаетесь все качают пиратки, и тут мне винлокер попался, вот я и обос*ался, знаете как я боялся... Это прошло что он не заблокиров диспетчер задач, теперь оберегаю свой компьютер, от всех таких читов и прочего Го*на
Но в наше время таких"Хакеров" очень много.Ну на этом все, если хотите узнать что нибудь еще, про вирусы и как их победить пишите
P.S. На заметку, я не показываю что я какой-то крутой и все такое, вот вы знаете PHP HTML, а я почти их не знаю, так что не надо говорить что я "кхм".
 
Винлокер еще и в MBR записывают, тогда бы я посмотрел на тебя.
Кхм, смотри, это было год назад я первый раз поймал WInLock, а ты там про создание говорил, а я упоминал, что Я их не создаю, так что милок, вы не туда попали.
+ можно найти статью в интернете, а лучше вообще скачать Startup Monitor, чтоб всякое не лезло в автозагрузку( кто не знает все Winlock`и лезут в автозагрузку).
 
В том-то и дело,что у него очень большие навыки и желание.Просто у нас в городе (Кострома) нет таких организаций и частных лиц,которым были бы нужны программисты (Видимо их перебор в городе).поэтому ему сейчас придется ехать в другой город в поисках работы.
Возможно.
 
Назад
Верх