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

C

charv

Guest
Что бы вы посоветовали человеку, который заканчивает институт.
И которого в этом иституте соответственно ничему нормально не научили.

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

Team

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

Да, и забыл добавить, не забывай учитывать при выборе профессии что
<span style=\'font-size:14pt;line-height:100%\'>"Тяжела и неказиста жизнь простого програмиста" (с)</span>
 

Фёдор Кошель

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

Sha

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

vladimir_s

Пользователь
В институте (хотя смотря в каком)....если брать ПетрГУ....дают только азы....да и то половину того что дают - не нужно...это мое мнение....

Покупай нормальные книжки...учи языки....если совсем ничего в голове нет...учи Паскаль..как основу...будешь знать паскаль...потом можешь Delfi учить......потом С.......только не в коем случае не содись на Builder.....учись самостоятельно все делать..иначе нормальным программистом не станешь........главное стараться вникать во все на 100%......если что-то не получается...не перескакивать вперед, а добиваться чтобы получилось.....самое главное еще понять "объектно-ориентированное программирование"....что это такое и с чем это едят.....ну и практика конечно в дальнейшем не помешает...без нее никак....когда будешь более менее чего-то уметь...не бойся...устраивайся на работу (не легко, но можно)....там помогут еще...поднатаскают......

а вообще если есть такое дикое желание.....собери в себе всю силу воли..и иди до конца.....надо всегда дела до конца доводить....по крайней мере стараться это делать)
 
M

morpheus

Guest
[quote name=\'charv\' date=\'28.2.2007, 19:49\']Что бы вы посоветовали человеку, который заканчивает институт.
И которого в этом иституте соответственно ничему нормально не научили.

Что делать, чтоб выучить свой первый язык програмирования и устроиться на работу?
[post=\"126137\"]<{POST_SNAPBACK}>[/post]​
[/quote]

1. Скорее всего ты сам не учил, это уже лень и тебе ее надо перебороть
2. Если действительно хочешь изучить. Иди на курсы

По моему тут все очевидно
 

Svent

Пользователь
На курсы не иди - только деньги потратишь.
Чтобы не тратить зря время на Паскаль, сразу садись за Си.
Возьми несколько хороших учебников и справочников.
Хорошие: Bjarne Stroustrup. The C++ Programming Language( сложноват для начинающих) и Herbert Schildt. The Complete Reference C++.
Если ноль, читай Liberty. C++ in 21 Days. Я бы перевел - не питайте иллюзий, что освоите этот язык за 21 день.
Надо будет, могу по мылу скинуть.
Как только начнёшь отличать циклы от классов и станешь помыкать указателями, дуй на работу, пусть на самую простую. ИМХО, прикладные задачи - самый лучший способ чему-нибудь научиться. К тому же через год будешь немало знать, и главное у тебя будет опыт работы. Дальше пойдёт всё как по маслу.

П.С. Ещё один немаловажный фактор - руки должны стоять к этому делу.
 

Nicki

Пользователь
[quote name=\'charv\' date=\'28.2.2007, 19:49\']Что бы вы посоветовали человеку, который заканчивает институт.
И которого в этом иституте соответственно ничему нормально не научили.

Что делать, чтоб выучить свой первый язык програмирования и устроиться на работу?
[post=\"126137\"]<{POST_SNAPBACK}>[/post]​
[/quote]
Извини за странный вопрос, а ты уверен что тебе это надо? (карьера программиста, всмысле).

Просто сама постановка твоего вопроса наводит на разные мысли...
 
C

charv

Guest
Спасибо всем за конструктивные ответы.

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

Оглавление и все новые главы можно посмотреть у меня в ЖЖ - http://charv-lv.livejournal.com/36196.html

Если есть вопросы, ответы на которые вы хотите видеть в этой книге - пишите.
Или здесь, или в комментах к ЖЖ. Любые идеи, размышления и комментарии по теме будут восприняты с благодарностью.
Ваша помощь не останется безнаказанной - подарю экземпляр с автографом.
 

letu4ij_gollandec

Пользователь
аж ты перец хитроделанный!
хочешь так сразу.. из князи да в ... хорошие пидарас программисты переделаться!?
хехе.... слухай сюды. у меня на таких давно досье.. дабы узнавать и отстреливать еще на дальних подходах! (ничего личного!) :D
1. забей на учебу и всякие там языки. займись своим си-ви (CV). это твое "лицо", которое будет видеть потенциальный работодатель ДО того, как поговорит с тобой лично. в си-ви главное - врать, да не завираться. то есть, пиши много, умно и расплывчато. пиши сразу на английском. конторки, где по-английски не шпрэхают тебя не интерисуют. а английский язык позволяет говорить банальности умными словами. на пример, experienced software architect with strong problem solving skills in computer science... а? звучит? то-то...
2. не позиционируй себя как кодер. кодирование - работа для всяких студентов и стареющих гиков. да и облажаться можно на раз-два... это опасно! не мелочись и ставь себя сразу Архитектором. ты не занимаешься мелочами вроде создания красивого, эллегантного, самодокументируемого, надежного и понятного кода. это работа для лохов и неудачников. настоящие программисты пидорасы сразу идут в архитекторы. поэтому научись важно надувать щеки, выпячивать пузо и ... самое главное... многозначительно молчать, вращая выпученными от напряжения мозга, глазами.
3. в пункте первом я чуток слукаваил. совсем уж так без учебы не получиться. особенно, если ты реально нихрена не знаешь, то придется посидеть и почитать книжки.. что-нибудь по унифицированной архитектуре информационных систем. только не вчитывайся и не старайся понять, что там написанно. это опасно! вдруг поймешь... с ума ж сойдешь!! поэтому вооружись карандашиком и подчеркивай всякие умные слова и словосочетания. выпиши их и выучи как Отче наш! тренируйся перед зеркалом говорить убедительно. в конце концов попробуй сам составлять более полные предложения. на прример, "Объектно-ориентированная иерархия шаблонов проектирования практически исключает неповторно используемые элементы компонент системы".
4. если вдруг... с какой-то балды к тебе пристанут с вопросами о реализации твоих гениальных архитектурных идей, то... держи при себе пухлую тетрадь (ты же старомодный ретроград!) всю исписанную биссером неразборчивого почерка со всякими диаграммками, схемками, разноцветную, с массой таких желтенких стикерчиков... начни объяснять, используя термины из пункта 3. и когда спросивший в конец обалдеет, заверши свое грязное дело коронным "implementation follows" (имплементэйшн фолоуз). не важно что это значит, но смотри на поверженного гордо и с высока!
5. учись спорить. это уже чисто человеческая черта, которая пригодится в любой ситуации. спорь с усталым видом, словно, ты говоришь с умственно отсталым ребенком, чтобы оппонент понял, что ты просто проявляешь милость, отвечая на его неразумные реплики. никогда не позволяй себе соглашаться. пори чепуху, цепляйся к словам и всегда оставляй последнее слово за собой. бери измором. нормальные люди и гетеро программисты просто устанут и сдадутся.. слабаки! пользуйся этим!
6. прокачивай свое эго и доминантность. это уже из области офис-культуры. на пример, первым входи в дверь и не придерживай дверь за собой. ну что с того, что есть женщины? тебе как пидорасу должно быть все равно! первым бери кофе! первым садись на единственный стул! говори громким голосом. у окружающих людей (твоих подчиненных и/или потенциальных подчиненных) не должно быть и тени сомнения - ты всегда занешь что делать дальше! но.... тут, друг мой противненький, я тебя предостерегу... кроме прочих особенностей твоей пятой точки, ты должен развить удивительную чувствительность попы к начальству... и не дай тебе Бог ошибиться... и "полезть в пекло поперёд батьки".. настоящие пидорасы к начальству и попой, и лицом одновременно... выкручивайся как хочешь!!


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


удач на поп'рище! :angry:

и не дай тебе Бог показаться в поле моего видения на профессиональном уровне. B)

забыл добавить...
7. выработай способность мимикрии, чтобы сливаться с фоном при встрече с настоящим гетеро архитектором. :)
 

Mulll•GuN

Пользователь
2all
учу сам... С++ т.к. я очень линивый, учу медлянно т.е. когда припрет )
абзакупался кучами книг везде практически одно и тоже.
по себе судя я понимаю, для того чтобы выучить язык им нужно заниматься
т.е. после прочтения двух трех глав поставить себе цель (программу)
и попытаться ее написать и так всю книгу, потом уже пойдет полегче... я имею введу учиться писать под линукс и сеть.
но я все равно хочу сходить на месячные курсы, это все равно будет плюс.
В книгах на самом деле полезного мало но без них никуда
купите себе задачников... могу посоветовать форум где всегда помогут вам разобраться с вашими ошибками, вообще если захотеть
то можно выучить самому и без всяких универов.
А зная 1 язык второй уже будет легче учить.
 

Солнце в тапках

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

scrptn

Пользователь
Вот статейка по теме: _http://ru.wikibooks.org/wiki/Языки_программирования_в_школе

Еще хочу сказать о том, что лучше учить.

Языки:
- Java, C#, PHP - хороши по соотношению сложности и популярности. Собственно, их освоить способен любой школьник, если постарается.
- JavaScript, Python, Ruby - для быстрого программирования в самый раз, но потребуют более серьезных знаний для полноценного использования возможностей. Первый, естественно, по области применения ограничен, но последняя версия (1.8.1) по возможностям Питону не уступает.
- Common Lisp, Scheme, Clojure - уже жестковато в плане требований к теоретической подготовки. Clojure, кстати, под JVM изготовлен, поэтому применимость аналогична Java, хотя на освоение уйдет куда больше времени.
- Haskell, F# - это уже для тех, кто решил академично подходить к делу.

Есть еще куча языков, которые я мог бы упомянуть, но не стал, потому что недостаточно о них осведомлен. А некоторые опустил, потому что и без моего совета все понятно (Си, C++, Асм).

Еще перед изучением стоит определиться с такими вопросами:
- основная сфера применения знаний: системное программирование, прикладное, веб, встраиваемые системы, научные расчеты;
- специализация: инженер/проектировщик, собственно программист, спец. по графике, звуку, интерфейсам и т.д.;
- основная платформа: JVM, .Net, тип ОС и т.п.;

Есть вообще языки, жестко привязанные к средам/платформам, что тоже нужно учитывать - ActionScript, например.

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

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

Я, конечно, многое забыл упомянуть и во многом неточен, но хочу сказать, что все примерно так обстоит, как я написал. Те, кто знает только языки программирования - это не программисты, а просто любители. Если же такие люди "работают" по специальности - тогда имя им быдлокодеры (англ. codemonkey).
 
Сверху