Четверг, 28.11.2024, 22:49
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Как стать программистом
AdministratorДата: Четверг, 29.10.2015, 00:22 | Сообщение # 1
Майор
Группа: Администраторы
Сообщений: 97
Репутация: 0
Статус: Offline
0. Начинай рано

Основы алгоритмов начались у меня в начальной школе. В 7м начали преподавать паскаль, в 10м — C. Естественно, вряд ли здесь есть пятиклассники, но посыл таков: как только замечен первый интерес к программированию, его стоит подкреплять знаниями. Причем, школа все равно не даст хорошего понимания: если даже есть уроки программирования, то они не дают столь основательные знания, как книги. Итак, для старшей школы и просто для знакомства с темой предлагаю классическую «Керниган, Ричи: Язык программирования C». Признаться, эту книгу я заменил книгой с тем же названием, но за авторством Подбельского и Фомина.

1. Учись сам

Серьезно. Научиться программировать можно только программируя. Читай книги и мануалы. Разбирай примеры. Пиши собственные программы. Когда-то давно я хотел посмотреть одно аниме, но русского дубляжа не было, были субтитры в str(так ведь?). Беда в том, что инет был медленный и дорогой(привет, диалап!), а найденные субтитры отставали на пяток секунд. Понятное дело, что править файлы руками было очень долго, поэтому на C + WinApi было написано диалоговое приложение, которое принимало файл, размер и знак смещения, и формировало мне исправленный файлик сабов. Написано было естественно криво и бажно, но

а) Я решил задачу
б) Разобрался с основами WinApi
в) Научился дебагу и отладочному выводу

2. Поступи в универ по специальности

Даже если само программирование давать будут мало, в учебе есть несколько плюсов:

1. Математическая основа. Математика все равно пригодится. Будете ли вы писать простейший графический редактор под Android или игры под linux, будете ли реализовывать алгоритм шифрования — математика все равно нужна.

2. Будущие коллеги. Эти ребята — твои одногруппники и сокурсники — они тоже программисты в будущем! Ты можешь обменяться с ними опытом, а через 5 лет получить возможность устроиться в хорошую фирму по рекомендации. Да и всегда приятно обсудить профессиональные проблемы.

3. Связи университета. У пристойного университета всегда есть сотрудничество с IT-компаниями. Это могут быть разработчики железа, программного обеспечения или и того, и другого. Из этих компаний будут приходить специалисты и читать лекции — да, по субботам с утра. Но это возможность обучаться у людей, которые на волне в своей отрасли.

3. Начинай работу рано

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

4. Разбирайся в основах

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

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

5. Докапывайся и разбирайся

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

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

6. Никогда не останавливайся

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

7. Пользуйся лучшими инструментами

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

8. Общайся со старшими

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

9. Помогай другим

Несмотря на то, что предыдущий принцип хорош, есть еще лучше: помогая другим, учишься сам. Зарегистрируйся на stackoverflow.com и отвечай. Мало того, что это хороший способ развития, профиль на SO — это строчка в резюме и путь к careers.stackexchange.com.

10. Ходи на собеседования

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

_______________________________
Оригинал: http://habrahabr.ru/post/148498/

Цель этой темы здесь - прервать нескончаемый поток тупых тем "хачу стать праграмистом низнаю как".


источник: http://spaces.ru/forums....mp;tp=1
 
olgapet946Дата: Воскресенье, 20.01.2019, 20:25 | Сообщение # 2
Рядовой
Группа: Пользователи
Сообщений: 4
Репутация: 0
Статус: Offline
smile
 
  • Страница 1 из 1
  • 1
Поиск: