Pull to refresh

Comments 92

  • Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. (Фредерик Брукс)


И снова в очередной success story ни слова об отладке.
То есть, программистом получившегося клепальщика кода назвать нельзя.
Просто что-то сделать, и сделать что-то профессионально — две ОЧЕНЬ разные вещи
Расскажите, а как можно стать профессионалом? В чем собственно разница?
В его прогнозируемости.
Изучать досконально, с самых базовых основ, вместе с тем работать, набираться опыта, стараться не просто решать возникающие задачи, а исследовать и находить оптимальный способ их решения.
Профессионал знает тысячи нюансов и нюансиков, зачастую не связанных с конкретным языком программирования и конкретной реализацией. Это еще и environment, в котором работает софт, особенности операционной системы, особенности деплоя приложения на конкретных системах, особенности хранилищ, протоколов и транспортов.
Знание всего этого и, самое главное, учитывание этих знаний в своем коде и отличают профессионала от «выучил пайтон за 8 недель»
Однозначно! А еще предметную область стоило бы упомянуть.
Разница в том, что профессионал получает за свою работу деньги, только и всего.
UFO just landed and posted this here
Присоединяюсь ко всему выше сказанному. Писать программу можно научиться и за 2 недели. А вот проектировать — это не ремесло, это искусство. Для этого мало знать одного python. Нужно изучать и др. языки c,c++,c#,java,… Нужно подмечать как в них реализуются те или иные концепции. Необходимо изучать технологии. Нужно изучать ту среду в которой выполняется ПО т.е. ОС, аппаратную составляющую, сетевые технологии,… Зачем это нужно — спросите. Отвечу: для того что бы уметь построить грамотную архитектуру. Которая будет готова к изменению и расширению, а не к очередному переписыванию говнокода.
По-моему, вы говорите об инженерах-программистах, но программирование это не только их прерогатива.
И все же я считаю, что к программе нужно подходить как к проекту. И применять инженерные методы. Да, естественно в крупных проекта участвуют не только инженеры. Дизайнеры проектируют GUI, кто-то пишет help… Более того, каждый инженер проходит стадии своего становления, каждый состоявшийся программист писал говнокод. Гугу не рождаются, ими становятся. Но нельзя прочитать книгу «C++ за 21 день» и сказать «Я — крутой программист». Я не говорю что удел создания программ только профессионалов. Я призываю стремиться быть профи, развиваться, работать над собой. Каково Ваше мнение по данному поводу?
Есть программисты, инженерами не являющиеся. В официальной номенклатуре это, как минимум, «техник-программист» и «программист» — выпускники техникумов или колледжей. Часов изучения именно программирования у них как бы не больше чем у инженеров или бакалавров по той же специальности, плюс несравнимое число часов практики. Инженер-программист — это скорее рост вширь, овладение процессами решения бизнес-задач, а не чисто техническими навыками и инструментами вглубь. Самый простой пример — от программиста никто не потребует (в теории) технико-экономического обоснования предлагаемых им изменений в проекте, техническое могут, экономическое — не его компетенция. А с необходимостью развиваться и работать над собой я не спорю. Но в какую сторону каждый выбирает сам — одному интересно писать идеальный код, другому знать что его пусть и не идеальный код решает реальную задачу, и не просто решает, но и решение «хотелок» заказчика найдено самостоятельно.
>В официальной номенклатуре это, как минимум, «техник-программист» и «программист» — выпускники >техникумов или колледжей. Часов изучения именно программирования у них как бы не больше чем у >инженеров или бакалавров по той же специальности, плюс несравнимое число часов практики.

И как, много вы знаете/видели/слышали о таких колледжах?

Мне интересно, откуда пошло поверие, что на практикующего среднего программиста (или кодера, как это любят называть склонные к элитизму супермегагуру) надо идти учиться в колледж/техникум. Сужу по колледжам родного Зажопинска и по отзывам выпускников колледжей из других городов — ловить там нечего. Совсем. Ну то есть, вообще.
Например ncti.ru/ или www.ci.nsu.ru/ На хабре время от времени проскакивают вопросы типа «какой первый язык давать студентам колледжа — Java или Python?» — тоже значит где-то учат не только в ворде работать.

Вообще это как должно быть. К сожалению система среднего профессионального образования была сильно разрушена в 90-е. С другой стороны, думаю, и во многих вузах особо ловить нечего. Но если почитать программы «программистских» специальностей ССО и представить, что выпускники всё это знают и умеют, то, думаю, многие работодатели были бы счастливы иметь таких работников. Например, в память запало, что выпускник с квалификацией «программист» должен уметь участвовать в ревьюировании кода. Много выпускников вуза это могут?
>> Мне интересно, откуда пошло поверие, что на практикующего среднего программиста (или кодера, как это любят называть склонные к элитизму супермегагуру) надо идти учиться в колледж/техникум.

Да, не воспринимайте это серьезно, это прото интернет-мулька типа «быдлопрограммистишек надо учить в быдлопту». Реально, конечно, все развитые страны учат программистов в институтах. Вот подсмотрел данные по США — доля Software Developer'ов, не дошедших в своем образовании до института — меньше 15%.
Одно из определений, которое мне нравится: профессионал умеет примерно то же, что и любитель, но способен делать это в гораздо более широком диапазоне (неблагоприятных) внешних условий.
Нужно прочитать книгу дядюшки Роберта Мартина «Идеальный программист» называется. Думаю, она даст Вам правильное направление по нелегкому пути становления профессионалом!
Всегда надо с чего-то начинать. Ни один профессионал не родился профессионалом.
Нет, но становление может быть по разным путям. И некоторые из них — неправильные.
«Нет», конечно, не родился :) Но сделался постепенно.
Что значит «неправильные»? Если стал профи, значит путь был правильный.
Интересно — как он считал недели — в абсолютном выражении(количество дней),
или в относительном(день = 24 часа) — из расчета, что больше 4х-6ти часов активно думать в день он не может чисто физически?
Т.е. от метода подсчета количества дней очень сильно разнится реальное количество дней, которое он потратил…
Во втором случае мы имеем от 224 до 300+ дней, то есть почти год. :)
Если строго по тексту, то набегает 11-15 выходных, или 5-8 недель. Если принять за основу, что самообучением можно заниматься исключительно на выходных.
Изучить язык != научиться программировать.
UFO just landed and posted this here
Если создан какой-никакой, но работающий прототип, то речь явно идёт не только об освоении синтаксиса, а ещё, как минимум, умению выражать свои «хотелки» через этот синтаксис.
И «программировать» != «в промышленных масштабах создавать программные продукты». Не случайно даже в официальной российской номенклатуре профессий и должностей есть такие градации как «техник-программист», «программист» и «инженер-программист», подразумевающие не столько разный уровень знания языков и библиотек, сколько разные уровни абстрагирования от них.
Как и изучить фреймворк != изучить язык.
«Как я убедил себя, что научился программировать за 8 недель».
Работаю программистом только 3-й год и понимаю все больше и больше, что я вообще ничего не знаю.
Хотя тоже считал, что научился программировать спустя первые 8 недель.
12-й год.
Пока всего я ещё не знаю, и есть смутные сомнения…
Я тоже «умел» программировать, когда только начинал (написал игру «Кто хочет стать миллионером» на qBasic'е).
Сейчас уже 7 лет «в теме» и понимаю теперь точно, — чем больше я знаю, тем меньше я знаю (с)
UFO just landed and posted this here
startupquote.com/post/855482768 — милая голова =)

1. Собрать ссылки с примерами рабочего кода
2. Выучить код примеров
3. Воспроизводить выученный код самостоятельно
4. Профит

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

чтения == после чтения)
Спасибо за статью.

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

Народ! Пост не об этом. Даже сравнивать смешно того, кто за восемь недель разобрался с азами питона и вас всех, кто много лег зарабатывает программированием себе на хлеб с маслом.

Возвращаясь к аналогии с языком — это про то, как «выучить английский за 8 недель», чтобы уметь спросить где вокзал и знать, как заказать себе пинту эля. Тоже хорошее дело, кому-то, наверно, может быть полезно. И уж по-любому, осилившему такое есть чем гордиться.
Ну а в комментариях речь идёт о том, что, пользуясь вашей аналогией, некорректно называть изучение минимально необходимого для общения подмножества английского языка «изучением английского языка за 8 недель».
UFO just landed and posted this here
Программирование — это очень много разных вещей, объединенных одним словом. От «одноразовых» скриптов в шелле или Excel до разработки встраиваемых ОС или распределенных высоконагруженных систем реального времени.
UFO just landed and posted this here
В оригинале статья зовется более правильно — «how I taught myself to code»
Еще правильнее было бы «how I taught myself to write code». Тогда вполне честно — человек научился за 8 недель писать код, а не программировать.
Собственно вводные курсы программирования от юдасити, MIT и стэнфорда очень далеки от «просто изучения синтаксиса». Не знаю насколько реально начать так учиться вообще не имея бэкграунда, но это действительно внятная программа, которая может сделать из, допустим, первокурсника или непрофильного специалиста очень толкового джуниора, которого захотят многие компании за короткий срок.
И, да, он, конечно же уже будет программистом, как ни больно это осознавать некоторым людям.
Очень наивно. Никакой вводной курс не сделает из нуба программиста, как и художника, музыканта и т.п. Дело не столько в опыте, сколько в чётком понимании того, что делаешь и зачем. А по-вашему, можно и человека, который только научился строить собачьи будки, называть строителем.
Зависит от понимания термина «программист», на «бытовом» уровне это человек, который умеет писать программы, выдающие нужный результат, как для меня музыкант любой человек, который может сыграть что-нибудь похожее на Цоя или Хоя на гитаре. Он себя может не считать музыкантом, другие музыканты могут не считать его музыкантом, но для меня он музыкант.
>> Никакой вводной курс не сделает из нуба программиста

Полагаю, слово «программист» здесь нужно произносить с придыханием и писать с большой буквы.
Представил себе чувака, выговаривающего первокурснику, осилившему SICP: «Э-э-э, дружок, пока что ты нуб, а не программист. Мой хрустальный шар показывает, что ты не понимаешь, что и зачем ты делаешь. А вот Вася, который уже 6 лет копипастит код 1С из окошка в окошко и изучил все нюансы работы комбинации клавиш контрлц-контролв по виндовс ХР — он понимает, что делает. Он Программист».
Я считаю вводным курсом первые три главы SICP. Главы Metalinguistic Abstraction и Computing with Register Machines как-то странно называть частью вводного курса, не находите? Какое-то хардкорное введение получается — похлеще, чем в порно.
В самом MIT'е преподают курс вместе с ними и еще с некоторыми дополнениями. Курс вводный, для первокурсников. Самые основы.
Сколько я уже повидал ребят, которые говорят "какой-то язык программирования? Да я за 2 дня его выучил...", а потом за этими отличными-ребятами приходится всё заново переписывать…
Вы научитесь программировать когда вы не просто научитесь клепать код, а когда его почувствуете. Что-то мне подсказывает что вы вряд ли умеете строит архитектуру на основе шаблонов проектирования…

Вы научились писать и собирать код — это не «программировать».
Интересно, получится ли обойтись без «той самой картинки».
UFO just landed and posted this here
UFO just landed and posted this here
True story. Я по этой книге учил C++. Книгу первый раз я прочитал, не отрываясь, за 2 дня. Остальные несколько лет ушли на понимание того, как C++ правильно использовать. Причём, даже после нескольких лет изучения мне как минимум два раза попадались книги, взрывающие мозг — Jeff Alger/«C++ for real programmers» и Andrei Alexandrescu/«C++ modern design». Так что за 21 день можно изучить разве что синтаксис.
Имхо, можно научиться программировать за «21 день». Другое дело, что чтобы научиться программировать правильно жизни не хватит.
Я вот считаю, что это слово «научиться», чисто лингвистически-логически не подходит к программированию. Программирование — процесс, а не цель. Можно учиться программировать, т.е. можно и слово то само «учиться» опустить, смысл тот же. Нельзя же сказать, что я научился думать… Можно сказать, что я теперь думаю более структурированно и т.п.
Но негатива к статье тоже не испытываю, просто так сложилась практика наименования статей и книг по этой тематике.
Я сам не программист, но потихоньку начинаю осваивать синтаксис. Такие статьи помогают с подбором материала. Но лично мне, как я уже понял, гораздо полезнее было бы поочитать статью: «Как решить судоку с помощью программирования на python, без опыта программирования за 8 недель» — вот тут и цель и процесс :)
Считайте, что «научиться программировать» значит «научиться использовать процесс программирования для решения конкретных задач». Ну как «научиться водить машину» значит «научиться использовать процесс вождения машины для перемещения людей и грузов».
Боюсь, что по-достоинству оценить Ваш комментарий я смогу только после полного осмысления принципов ООП :)
Таких «программистов» у нас пол-страны, ничего удивительного.
Судя по собеседованиям процентов 90 =)
UFO just landed and posted this here
Автор в конце подводит итог «Вот и все. 8 недель (или меньше) и вы ушли от ничего не зная о разработке программного обеспечения до рабочего прототипа. Не так уж и сложно, так ведь?»
Где слова, что он стал программистом? Зачем, все эти попытки унизить его достижение? Ну да, вы программисты, вы учились годами и годами набирались опыта. Теперь нужно гнобить всех новичков?
Эти слова — в заголовке статьи. Странно, что вы их не заметили, несмотря на относительно крупный шрифт.
Извините за википедию, но все же.
Программи́рование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи).
Этого достаточно? Тем более оригинал именно так и звучит — How I Taught Myself to Code in 8 Weeks
Научился программировать != стал профессиональным программистом.
Спасибо за ссылки на онлайн курсы.
Я на codecademy прошел 58% питоньего курса и застрял из за бага, который они не исправляют (зато добавили к названию курса бирочку «Beta»).
Мне, как начинающему, сейчас не хватает знания алгоритмов и опыта практической реализации задуманного, а синтаксис можно всегда посмотреть в многочисленных книгах.
Учите алгоритмы, чем раньше — тем лучше.
На Coursera.org как раз сейчас Роберт Седжвик (известный специалист в области алгоритмов, выпустивший довольно популярную книгу) читает курс.
Не могу взять в толк одного: почему те, кто пробежались галопом по европам внезапно решают научить глупых людей истине, которую они познали внезапно, а те, кто собаку съел на своем деле и являются доками, на вопросы новичков все больше хмурятся и молчат?
Ну программирование не ограничивается одним лишь Python-ом. Советовал бы погонять C для начала, со всеми его указателями и прочими фишками которые позволяют отстрелить ноги и руки. Чтобы прочувствовать что-ли…
А я считаю, что автор молодец :-) В сравнении со многими новичками, которые пытаются безсистемно чему-то научиться, автор поставил четкую цель и выработал методологию.
Вполне себе хорошая подборка уроков и задан нормальный темп для сроков обучения.
Многие тут пишут мол выучил язык не значит что стал программистом…
А что если он уже программист на другом языке и просто решил изучить python и до кучи django?
Кто-то пишет про профессионалов которые все знают, умеют, предвидят, а разве эти профессионалы не могли выучить python за 8 недель до того как стать профессионалами и получили драгоценный опыт итд и стали этими самыми профессионалами?
Мне кажется вполне себе все хорошо сделано. Поставлена цель, хорошо подобраны уроки итд,.
Я бы если только сейчас с нуля(не зная вообще никаких языков) начинал учится, то добавил бы кучу уроков по TDD. Может что-нить типа этого раз уж про django речь.
В Codecademy прошел 100% уроков по питону и никому не рекомендую, даже новичкам.
Там сейчас куча багов и курс рассчитан на новичков, которые не знают что такое if, while.
В задания нет даже циклов!

Намного продуктивней запустить питон в консольном режиме и делать примеры из книги
www.amazon.com/Quick-Python-Book-Second-Edition/dp/193518220X/ref=sr_1_1?ie=UTF8&qid=1345739570&sr=8-1&keywords=The+Quick+Python+Book
После php питон просто магия
Спрашиваю не для себя: а что бы вы порекомендовали плохо понимающему английский человеку, желающему освоить Java самостоятельно хотя бы на уровне быдлокодера? Ну, помимо убийства о стену.
UFO just landed and posted this here
Окей, спасибо. Беда в том, что у меня аж три друга, которые хотели бы научиться (из них, правда, только у одного проблемы с английским), и как-то ни один из них не берётся самостоятельно за дело, а мне их координировать несколько влом, потому как сам я учиться не собираюсь.
UFO just landed and posted this here
нельзя так просто взять, и самостоятельно научиться программировать за 8 недель
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.

Articles