Какие программы лучше писать


9 0

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

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

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

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

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

Самое главное, что вы получите от такого проекта – обмен опытом. Даже если проект небольшой, вы все равно многому научитесь. Если база кода больше 10,000 строк кода, то уже придется применять патерны и правильно проектировать код. Математику научится писать несложно, это научат в любому книге, а вот правильно проектировать код, вы научитесь в хорошей команде.

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

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

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

В Канаде мне пришлось начинать с нуля и все заслуги в России здесь не котируются. Но именно благодаря широкому пониманию различных систем я смог вырасти за 2 года из Application Developer в Technical Architect и даже вести команду (от чего я уже отказался правда по собственному желанию).

Если вы выберите путь работы над различными проектами, как я, то не стоит разбрасывать все свои знания слишком широко. Кругозор имеет смысл, когда вы все же знаете хотя бы одну технологию достаточно хорошо. Я работаю в разных системах и пишу на разных языках, но при этом все же как минимум 50% уделяю какому-то одному языку, в котором специализируюсь больше всего. Раньше это был Delphi, сейчас это C#.

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

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


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Денис Сепетов

22 Июля 2012


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


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

P. S. Расту, стараюсь :)


XHelp

22 Июля 2012

По-моему хоть раз поработать над крупным проектом даёт много опыта. Я не имею в виду код, он может быть в любом проекта любого качества. Я имею в виду подходы к проекту. Понять НАСКОЛЬКО важно соблюдать какие-либо conventions. Узнать всё мощь revision control и issue tracking систем... Может даже посмотреть на Scrum, pair programming и т.д. В маленьких проектах этого не особо увидишь.
Маленький/большой проект при этом подразумает мало/много разработчиков.

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


Михаил Фленов

22 Июля 2012

Не знаю, как в России, а в нашей компании даже к маленькому проекту до 10,000 строк кода подходят серьезно со всей отвественностью. Разница в больших и сложных только в том, что знаний нужно иметь больше. Нужно уметь не только написать код, но сделать его оптимально быстрым. Когда меня наняли, то первый год я сидел и оптимизировал сайт потому, что слишком много было таймаутов. Зато сейчас все работает быстро и без тормозов.

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

А в подходе разницы не должно быть в хороших компаниях.


Денис

22 Июля 2012

Мне понравилась эта заметка, спасибо Миша!!!


urumchic

23 Июля 2012

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

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


Николай

23 Июля 2012

насколько востребован php в северной америке?


Михаил Фленов

23 Июля 2012

На мой взгляд самый востребованый и на нем тут пишут большинство Web проектов. Только и платят за него меньше всего. зарплата от 30 до 50. Выше 60 найти невероятно сложно, а если кто-то готов платить, то туда программисты как мухи налетают, и очень хорошие, поэтому нужно быть на голову выше всех, чтобы получать больше 50.

Расходы на семью из 4-х человек в Канаде:
http://www.canada-area.com/Blog.aspx?id=178


Андрей

07 Мая 2013

Всем привет! А вот я хочу попробовать писать программы, но незнаю, с чего начать!? Подскажите! Выгодно это или нет!? Как быстро можно  освоить программу!? Много ли требуется времени!?


Михаил Фленов

07 Мая 2013

Ну судя по заработкам MS, это очень выгодно. А на счет времени - зависит от программы


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

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

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

Пишите мне