Форум программистов, компьютерный форум, киберфорум
Наши страницы
svr
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Как стать программистом самостоятельно

Запись от svr размещена 25.09.2017 в 14:24

Литература на выходные: 15 материалов по структурированию кода для разработчиков
Почему научиться программировать так чертовски тяжело?

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

Читайте больше чужого кода

Начните с малого и программируйте постоянно

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

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

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

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

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

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

---

Каждый день необходимо работать, оттачивая свои навыки.

---

Обучение представляет собой непрерывный и продолжительный процесс.

---

Страх показаться слабым есть величайшая из всех слабостей.

---

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

Причина — одно-единственное разбитое окно.

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

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

Не живите с разбитыми окнами

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

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

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

Одно разбитое окно — неудачно спроектированный фрагмент программы*— это все, что требуется дня того, чтобы началось отклонение от нормы. Если оказывается, что вы работаете над проектом с несколькими разбитыми окнами, то слишком легко сползти к умонастроению типа "Вся оставшаяся часть программы — это ерунда, я всего лишь следую примеру".

---

Сделайте качество одним из пунктов требований.

---

Инвестиции в знания окупаются лучше всего.

---

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

---

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

---

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

---

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

---

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

Формулируйте ваш вопрос внимательно и вежливо. Помните, что вы просите одолжения; в противном случае может показаться, что вы требуете ответа.

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

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

---

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

---

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

---

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

---

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

---

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

---

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

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

Клиенты испытывают по отношению к тебе совершенно аналогичные чувства. Им хотелось бы работать с программистами, которые сразу понимают, что от них хотят, без объяснений на пальцах и абсурдного рассмотрения мельчайших деталей! А ведь именно они платят тебе деньги.

---

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

Самое время выбрать сферу бизнеса, на изучение которой ты будешь тратить свое время.

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

---

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

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

В какой бы группе ты ни был, всегда будь в ней худшим.

Окружающие тебя люди влияют на твой результат. Поэтому тщательно подходи к выбору коллектива.

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

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

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

---

Нет ничего более мощного, чем сообщество талантливых людей, работающих над сходными проблемами.

---

Не сдавайся на пути к мечте!
Но что они на самом деле хотели сказать — «не впадай в уныние». Не думай, что не можешь сделать то, что могут другие. Я соглашусь, что нельзя занижать свой потенциал.

Итак, мы уже упростили Стандартную Выпускную Речь с «не сдавайся на пути к мечте» до «если кто-то умеет что-то, ты тоже это можешь». Но это недостаточно правдиво. Наши способности при рождении все же отличаются. Большинство людей переоценивают влияние этих различий, но все же оно есть. Если бы я встретился с парнем ростом метр двадцать, чья мечта стать игроком NBA, самое глупое, что я мог бы сказать: «ты можешь все, если очень сильно постараешься».

Необходимо еще сократить Стандартную Выпускную Речь до «все, что может кто-то с твоими способностями, ты можешь тоже, ну и еще: не принижай свои способности». И, как часто случается, чем правдивее становится утверждение, тем оно менее изящно звучит. Мы взяли лаконичный мотивирующий (но лживый) слоган, а получили фарш, пропущенный через мясорубку. Такая речь не очень то вдохновляет. Но, что еще хуже, она не объясняет, что же все-таки нужно делать. Кто-то с такими же способностями? А какие у меня способности?

---

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

«Берись за тяжелые задачи». И лучше начать сегодня же. Я бы хотел иметь это знание еще в школе.

---

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

---

Остерегайтесь подражания людям с сомнительными достижениями. Особенно если они оправдывают лень.

---

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

---

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

---

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

---

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

---

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

---

Есть 2 основных причины, почему бы я выбрал либо Java, либо PHP. Первая — это очень популярные языки и найти соотвествующую работу не составит труда, а вторая — в том, что ни по каким другом языкам вы не найдете столько обучающего материала как по этим двум, причем как на русском, так и на английском.

---

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

---
Размещено в Без категории
Просмотров 948 Комментарии 1
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Запись от svr размещена 25.09.2017 в 14:34 svr вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru