LINUX.ORG.RU
ФорумTalks

Каким должен быть настоящий программист?

 


1

1

Прежде всего, каким его вижу я:
1) Должен знать на достаточно высоком уровне английский язык чтобы читать техническую литературу
2) Интересоваться современными технологиями, новинками железа
3) В свободное время самостоятельно заниматься собственными проектами, да и просто кодить ради развлечения
4) никаких игр, исключение только если программист эту игру разрабатывает
5) знание сетей
6) настоящий программист должен заходить на багтрекеры, сайты с эксплойтами и читать об уязвимостях - предупрежден, значит вооружен
7) необязательно, но желательно знание Unix, в частности Linux. Конечно же писать код и отлаживать можно и в Windows, но в Linux это значительно проще
8) знание С
Вот пожалуй и все что я хотел сказать

★★★★★

Последнее исправление: w1nner (всего исправлений: 1)

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

Sadler ★★★
()

Я не программист

Я, конечно, не программист, но программист - моей подруги мужа близкий друг. Так вот, он говорит, что без знания алгоритмов и структур данных ты не программист, а ЧМО, которое шлепает формы и «создает» архитектуру БД своего факультета/школы/бурсы/гей-клуба/клуба-танчикопоклейщиков.

fifajan
()
Ответ на: комментарий от svr4

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

И что ? Это всё детали. Я говорю об ассемблере, как о языке для общего развития, для общего понимания, как всё работает, не об инструменте. Можешь представить мысленно, что SSE2 - это матсопроцессор для спарка такой. Или для Моторолы.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

Как бе, учёт зависимостей инструкций для оптимизации (а не ИБД) обязателен.

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

svr4
()
Ответ на: Я не программист от fifajan

По поводу знания что такое чёрно-красное дерево и быстрая сортировка - макаке, которая заполняет скелеты классов, это ровно так же без надобности, как и клепателю формочек.

svr4
()
Ответ на: комментарий от svr4

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

Ну, вот, сам всё правильно и объяснил.

lenin386 ★★★★
()

Даже программировать не должен, достаточно уметь. А у тебя 8 пунктов.

t184256 ★★★★★
()

The three chief virtues of a programmer are: Laziness, Impatience and Hubris.

уже упомянули?

George
()

1. Для этого не нужен «высокий уровень».

2. Зачем? Чтоб «о, выпустили оперативу на террабайт, можно говнокодить!»?

3. Это никто не должен, каждый свободное время проводит так, как ему нравится.

4. Прям ремня ему если он запустил ангрибердс или 2048.

5. Действительно, как можно написать какой-нибудь standalone-калькулятор на десктоп не понимая как работает BGP.

6. Да, те кто рассылки получают это так, лошары а не разработчики.

7. Конечно, разработчик фронтенда обязан знать как пересобрать ядро.

8. Особенно это нужно тем кто пишет на всяких ПХП.

alozovskoy ★★★★★
()

1) Должен знать на достаточно высоком уровне английский язык чтобы читать техническую литературу

Удел холуёв и подобострастцев. Английский знать надо, но ставить это на 1-е место...

) Интересоваться современными технологиями, новинками железа

Удел эникеев

3) В свободное время самостоятельно заниматься собственными проектами, да и просто кодить ради развлечения

Удел фореверэлонов

4) никаких игр, исключение только если программист эту игру разрабатывает

Всё хорошо в меру. К алконавтам 3-й степени и ярым трезвенникам отношусь примерно одинаково: у них проблемы с алкоголем. С играми то же самое

5) знание сетей

Только если ты системщик. Прикладному программисту ниже сеансового уровня лезть нехрен

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

Лишняя информация. Следить за эксплойтами к овер 9000 различного софта? Главное вовремя обновлять софт, которым пользуешься.

7) необязательно, но желательно знание Unix, в частности Linux.

Программисты 1С смотрят на тебя как на задрота через оправы своих дорогих очков.

Конечно же писать код и отлаживать можно и в Windows, но в Linux это значительно проще

Дельфятники с тобой не согласятся.

8) знание С

Зачем привязываться к какому-то определённому языку

Вот пожалуй и все что я хотел сказать

Ты забыл про математику вообще и алгоритмический инструментарий в частности, без которых ты быдлокодер, а не программист.

r_asian ★☆☆
()
Ответ на: комментарий от svr4

ну что, сынку, помогли тебе твои ля...

Ну вот макаками и останутся в зоопарке, а не как мойей близкой подруги мужа друг - успешным раграмистом.

fifajan
()

Прежде всего, каким его вижу я:

Описал итишника широкого профиля.

sudo
()
Ответ на: комментарий от hlebushek

4. Знание html и css

программист

Какое отношение веб-макака имеет к программированию?

EXL ★★★★★
()
Ответ на: комментарий от svobodka_fighter

Линкедин, швабр, да и гмейл (а значит и гуглплюс) у каждого второго.

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

svr4
()
Последнее исправление: svr4 (всего исправлений: 1)

9) быть достаточно богатым
10) быть лидером, уметь убеждать и вести за собой людей
11) уметь говорить перед аудиторией, уметь хорошо и доходчиво писать
12) уметь мыслить системно, отличать цели и средства их достижения друг от друга

shimshimshim
()
Ответ на: комментарий от shimshimshim

13) повышенная личная ответственность
14) вера в дело и себя
15) адаптивность
16) проактивность
17) способность точно понимать не задавая вопросы
18) четкое понимание субординации

Suigintou ★★★★★
()
Ответ на: комментарий от Suigintou

17, 18 лишнее, остальное в той или иной степени да, важно. Но менее важно, чем мои 4 пункта.

Объясняю:
- богатый (относительно программистской массы) - материальный признак того, что человек и правда хороший программист, а не только в своем собственном воображении. В нашем мире хороший программист не может быть бедным по определению.
- лидер - хороший программист должен организовывать работу обычных программистов, должен придумывать новые библиотеки, решения и архитектуру и уметь убеждать других рограммистов использовать именно его решения, а не существующие альтернативы
- уметь говорить и писать - см. предыдущий пункт, плюс добавляется общение с непрограммистами (бизнес, редакторы и т.д.), выступление на конференциях, написание книг и статей
- мыслить системно - для того чтобы понимать, что «заюзать фреймворк» или там линукс это не цель, а средство для достижения какой-то другой, более приземленной вещи

Все это и отличает хорошего программиста, которых (условно) 1%, от обычных программистов, которые тоже бесспорно полезны, но от других мало чем отличаются, легко заменимы, и если даже такой программист умрет - от этого в мире IT мало что изменится.

shimshimshim
()
Ответ на: комментарий от lenin386

Гнать обоих

Если оно пишет тормозящий код, это означает только то, что оно не профессионал, его надо гнать в шею. За окном очередь на его место.

Гнать обоих. Программиста и его начальника. Если код тормозит [, но работает], то это нормально. Если код тормозит, но в ТЗ есть [чётко сформулированное] требование чтобы он не тормозил, то это прежде всего нарушение ТЗ. Если таковое требование напрямую не высказано, но начальник не озаботился чтобы оно было донесено до исполнителей, то он тоже виноват. Так что гнать обоих.

Camel ★★★★★
()

Настоящий программист должен регулярно заниматься сексом. С девушкой. Лучше с двумя-тремя.

Sonsee
()

Трезвым.
А то набыдлокодють по пьяни, а потом истребители на экваторе переворачиваются.

imul ★★★★★
()

Каким должен быть настоящий программист?

Реальным. А не мифическим персонажем.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Sonsee

Настоящий программист должен регулярно заниматься сексом. С девушкой. Лучше с двумя-тремя.

Воображаемыми

by_zero
()

2) Интересоваться современными технологиями, новинками железа
5) знание сетей

Ты прогера с админом не попутал?

4) никаких игр, исключение только если программист эту игру разрабатывает

Ты забыл написать, что выходные и сон не нужны.)

Murg ★★★
()
Ответ на: комментарий от Gvidon

Это админы толстые, прогеры обычно тощие.

Murg ★★★
()
Ответ на: комментарий от tailgunner

Настоящий программист должен быть высок, строен, белокур.

Женщины любят молодых, политически грамотных, длинноногих (c)

sudo
()

1) Должен знать на достаточно высоком уровне английский язык чтобы читать техническую литературу

поправка - знать язык на достаточном для тех. литературы уровне

2) Интересоваться современными технологиями, новинками железа

нет

3) В свободное время самостоятельно заниматься собственными проектами, да и просто кодить ради развлечения

не обязательно

4) никаких игр, исключение только если программист эту игру разрабатывает

нет

5) знание сетей

нет

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

этим вообще не программист занимается, потому - нет

7) необязательно, но желательно знание Unix, в частности Linux. Конечно же писать код и отлаживать можно и в Windows, но в Linux это значительно проще

кратко говоря - нет

8) знание С

а это тут к чему? нет же

reprimand ★★★★★
()

1) уметь программировать
2) разбираться в предметной области
3) понимать, что от него хотят
4) превышать сроки меньше чем в 3 раза

Tark ★★
()
Последнее исправление: Tark (всего исправлений: 1)

15) адаптивность
16) проактивность
17) способность точно понимать не задавая вопросы
18) четкое понимание субординации

началооось!..

reprimand ★★★★★
()
Ответ на: комментарий от vurdalak

а у меня вот вопрос, зачем нужно:

Интересоваться современными технологиями, новинками железа

?

и

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

?

next_time ★★★★★
()
Ответ на: комментарий от outtaspace

английский

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

хотя для тех, кто под ПК да мобилы прогает, не спорю, а англ. нужен

next_time ★★★★★
()
Ответ на: комментарий от next_time

Технологиями — чтобы применить их и улучшить свой продукт и рабочий процесс. Уязвимости — можно в чужом продукте увидеть в чём состоит уязвимость, и понять что в коде твоего есть такие же проблемы.

vurdalak ★★★★★
()

Самое главное и единственное нужное ты забыл. Он должен любить хорошо владеть ЯП на котором он пишет.

anonymous_sama ★★★★★
()

По личному опыту

1) Должен знать на достаточно высоком уровне английский язык чтобы читать техническую литературу

Не правило, а следствие.

2) Интересоваться современными технологиями, новинками железа

Если это ложится в рамки работы.

3) В свободное время самостоятельно заниматься собственными проектами, да и просто кодить ради развлечения

Бред. В хорошей компании твои проекты и развлечения это часть работы.

4) никаких игр, исключение только если программист эту игру разрабатывает

Бред. Шахматы это чтоли не игра?

5) знание сетей

Если это требует работа.

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

Спутал с сис. админом/нетворк админом. Это их обязанность.

писать код и отлаживать можно и в Windows, но в Linux это значительно проще

Ты точно знаешь в деталях разницу?

8) знание С

Это само собой. Плюс еще ассемблер.

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

gh0stwizard ★★★★★
()
Ответ на: комментарий от r_asian

необязательно, но желательно знание Unix, в частности Linux.
Программисты 1С смотрят на тебя как на задрота через оправы своих дорогих очков.

с чего бы, а если 1С-ник линуксоид, благо 1С к ОС не привязана?

Дельфятники с тобой не согласятся.

дельфи умер

Ты забыл про математику вообще

факультатив

next_time ★★★★★
()
Ответ на: комментарий от vurdalak

чтобы применить их и улучшить свой продукт и рабочий процесс

ну вот, положим, я узнал, что вышел corei7 и что?

Уязвимости — можно в чужом продукте увидеть в чём состоит уязвимость

90% уязвимостей — выход за пределы массива, «плевали мы на деструктор» и прочий всем известные типичные косяки, остальные — специфичны для конкретного продукта

next_time ★★★★★
()
Ответ на: комментарий от next_time

ну вот, положим, я узнал, что вышел corei7 и что?

Если ты например узнал что вышел 8-ядерный процессор, а у тебя приложение использует максимум 4 потока, то это повод посмотреть, нельзя ли его ещё распараллелить.

90% уязвимостей — выход за пределы массива, «плевали мы на деструктор» и прочий всем известные типичные косяки, остальные — специфичны для конкретного продукта

Ну есть ещё XSS и инъекции, например.

vurdalak ★★★★★
()
Ответ на: комментарий от lenin386

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

next_time ★★★★★
()
Ответ на: комментарий от vurdalak

Если ты например узнал что вышел 8-ядерный процессор, а у тебя приложение использует максимум 4 потока, то это повод посмотреть, нельзя ли его ещё распараллелить.

Зачем за этим следить? Если возможности какой-то технической новинки будут действительно серьезные о ней будут говорить на каждом углу.

Tark ★★
()
Ответ на: комментарий от Tark

Зачем за этим следить?

Что ты понимаешь под «следить»? Для меня это просмотр RSS по утрам, нифига не напряжно.

Если возможности какой-то технической новинки будут действительно серьезные о ней будут говорить на каждом углу.

Это не так. Если новинка достаточно специфична или просто малопопулярна, то не будут. Часто ты видел, чтобы на каждом углу говорили о новой версии django?

vurdalak ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.