sivabur
@sivabur
Заблокировали просто так!

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

Кроме:

1. Английский.
2. Основные алгоритмы и структуры данных.
3. Паттерны проектирования.
4. Базы данных.
5. Системы контроля версий.
6. Основные библиотеки, фреймворки.
7. Безопасность
  • Вопрос задан
  • 1530 просмотров
Решения вопроса 3
newross
@newross
.Net разработчик, стартапер
Не забываем про soft skills:
- умение формулировать свои мысли и доносить их человеческим языком;
- навыки сбора требований;
- начальные переговорные навыки, чтобы донести до заказчика/руководителя почему стоит сделать именно так, а не иначе;
- в идеале нужно уметь делегировать рутинные задачи младшим коллегам.
Без этих навыков даже самый гениальный разработчик дальше уровня middle вряд ли продвинется.
Ответ написан
Комментировать
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Ну могу добавить
7. Асимптотическую оценку сложности O() алгоритмов и задач
8. Смысл компиляции
9. Принципы работы OS (sync-asynk, shared memory barrier, file descriptor, fork, kqueue) и основные syscalls.
10. Сетевую модель(стек OSI)
11. Хотя бы базовые основы администрирования машины и сети(terminal, shell, ssh, scp)
12. Любимый текстовый редактор. )))
Ответ написан
Комментировать
barmaley_exe
@barmaley_exe
Сильно зависит от области работы. Во многих областях будут полезны ещё и эти навыки:

7. Сети
8. Параллельное программирование
9. Устройство операционных систем
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
agent10
@agent10
Software Engineer
1. Надо уметь думать.
2. Иметь желание и интерес к делу.
Всё! Остальные пункты вытекут сами из этих 2х.
Ответ написан
viktorvsk
@viktorvsk
Не уверен, что для среднестатистического:
- фронт-энд разработчика нужны паттерны, алгоритмы и структуры
- Для 1C-ника - английский
- для эмбеддера - базы данных и фреймворки

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

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

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

Другое дело в том, как вы распоряжаетесь имеющимися знаниями и, главное, - теми, которых еще нет (а-ля Антибиблиотеки Умберто Эко) и как быстро адаптируетесь к новым задачам

Часто, на такой вопрос отвечают "Изучайте протоколы и структуры данных", но это тоже сильно общий ответ (хотя, конечно, как и вопрос).
Ответ написан
opium
@opium
Просто люблю качественно работать
Вы сами ответили на свой вопрос и мы вам тут не помощники.
Ответ написан
Комментировать
@AlexLIn
Ответственность
Управление временем
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Умение понимать этих странных манагеров/заказчиков/клиентов.
Ответ написан
Комментировать
В статье Из чего состоит "абстрактный разработчик"? мной была сформулирована классификация знаний программиста. Я думаю это то, о чём ты спрашиваешь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы