@ProstoNekitos
3

Как перерасти из кодера в программиста?

День добрый.
Поясню вопрос:
Кодер (для меня) - человек, который способен писать хороший код
Программист - специалист, которые разбирается во многих аспектах языка на котором работает, а также в смежных областях, вроде математики.
На данный момент я могу себя позиционировать как C++ кодер - знание и использование всех стандартов до 17 включительно, умение работать с многопоточными примитивами, умение оптимизировать код, разбираться с чужим и т. д.
Но меня не оставляет сомнение, что по сути, я ничего конкретного не умею: на написание простейшего КМП может уйти вечность, потому что углубляюсь в код и ищу оптимальные методы на протяжении нескольких часов, в то время как можно было бы реализовать более громоздко, но за два часа, а то и меньше. Нет представления об асимптотической сложности алгоритмов, и структур данных.
В общем в голове сидит мысль, что единственное, что я могу - писать красивый и эффективный код. Куда копать чтобы от этого избавиться? Пока что штудирую книги по алгоритмам, но мне этого кажется мало
  • Вопрос задан
  • 2677 просмотров
Пригласить эксперта
Ответы на вопрос 8
@AlexSer
Думаю хорошие программисты все идеалисты. Именно поэтому им все время не нравиться то, что они делают. Сегодня тебе кажется, что ты пишешь красивый код. А через месяц смотришь на свой тот же код, и думаешь: - "блин что за урод это писал, ну как так можно".))
Ответ написан
Yertuwernat
@Yertuwernat
Кратко о себе: живу в России, не женат, характер
Кодер и программист это одно и то же, как мне кажется.
С лингвистической точки зрения это тот человек который владеет языком машины.
Тот кто умеет писать код - то есть умеет заставить машину работать.

На самом деле в природе такое разделение:

1) слесари монтажники (работают в рамках готовой архитектуры) 90% популяции
2) инженеры (разрабатывают архитектуры) 10% популяции

Если хочешь стать инженером - надо просто больше учиться - читай все вузовские учебники для инженеров-программистов и практикуйся.
Ответ написан
myjcom
@myjcom
и ищу оптимальные методы на протяжении нескольких часов

"Преждевременная оптимизация — корень всех зол."

писать красивый и эффективный код

Наверно скорее красивый. Как Вы оцениваете эффективность, если сами пишите, что не имеете представления о структурах данных и классических алгоритмах.

Все знать невозможно, выберете одно два направления и углубляйтесь в них.
Смежные области сами подтянутся по мере необходимости.
Ответ написан
AlexXYZ
@AlexXYZ
O Keep Clear O
Пока что штудирую книги по алгоритмам, но мне этого кажется мало
Есть ещё необъятный пласт - бизнеслогика. Там математикой не особо пахнет. Это особое колдунство.
Ответ написан
Комментировать
whiteworking
@whiteworking
¯\_(ツ)_/¯
Я думаю, что всё у тебя нормально. Депрессивыне мысли в нашей профессии встречаются. Если хочешь перемен, то найди(смени) работу, где у вас будет четкий дедлайн до которого у тебя не будет времени над обдумыванием а как вот тут красиво, а как вот здесь подправить. Просто берешь и делаешь, и всё.
Ну и книги книги читать
Ответ написан
Комментировать
@vanyamba-electronics
Ваша проблема в том, что вы не планируете разработку программы.
Задайте себе вопрос: что я смогу написать за сегодня?
И постарайтесь это написать.
Так вы научитесь измерять код в трудоднях. И начнёте искать решения проблемы не "как написать красивый код", а "как написать столько много кода и не свихнуться".
Потому что реальные программы измеряются в человекогодах.
Если вы найдёте способ программу объёмом, допустим, в 10 человеколет написать за 5 человеколет, то это уже будет сделать экономически выгодно. Вы начнёте искать варианты финансирования своего проекта.
Так и создадите успешную компанию по разработке ПО.
Бывает код дешёвый и код дорогой. Вы сейчас начинающий разработчик, поэтому ваш код ничего стоит, и вы можете потратить хоть месяц на решение какой-нибудь задачки, которую какой-нибудь школьник на олимпиаде решит за два часа.
Но чем больше вы знаете, тем дороже стоит ваше время, и года через три у вас уже не будет этого месяца. Поэтому вам надо научиться программировать быстро, то есть экономически эффективно.
В противном случае через три года вы станете заниматься чем-то другим, с программированием может быть даже и не связанным непосредственно. Просто это будет приносить вам больше денег, чем программирование.
Ответ написан
Комментировать
@Xilian
Программист 1С, сетевые технологии, SQL
>>Программист - специалист, которые разбирается во многих аспектах языка на котором работает, а также в смежных областях, вроде математики.

Математика уже "Смежная область"? Дональд Кнут плачет кровавыми слезами.

>>На данный момент я могу себя позиционировать как C++ кодер - знание и использование всех стандартов до 17 включительно,

Со всеми версиями компиляторов и фрэймворков? Хотел бы я посмотреть на человека, который знает весь Boost/Qt/SDL/Gtk.
Это как сказать, что я знаю Таэквондо, вин-чун, тайский бокс, джиу-джитсу и много других страшных слов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы