Вот вроде бы учишься чему-то, пилишь какие-то проектики маленькие, сдаешь все лаб. работы, курсовые, экзамены в университете на пятерки по предметной области, выходишь на биржу труда и понимаешь, как греческий философ: "Я знаю, что ничего не знаю". И действительно, каждый раз, каждый день ты сталкиваешься с тем, что уровень твоих знаний совсем низок, и непонятно, могу ли я вообще устроиться на работу.
Скажите пожалуйста, какими базовыми знаниями должен обладать разработчик и, что он должен уметь (легко создавать поисковые системы, или же системы бронирования) вообще, когда даже на сайте фрилансе для тебя каждая новая задача - открытие? Как правильно развиваться, учиться, чтобы за всем поспевать?
ps: ну, на первом курсе стремно, когда 80% твоей группы, обучаясь по специальности - программист, получают тройки и даже не хотят быть программистами
По-моему, Вы просто в «долине смерти». Есть такой этап в развитии программиста. Сначала восторг от «Hello, World», когда выучил синтаксис первого языка и кажется, что всё по плечу. Потом понимаешь, насколько много нужно знать всего и вся, и понимаешь, что не знаешь вообще ничего, барахтаешься от источника к источнику, везде какая-то муть. Это и есть «долина смерти», через неё немногие проходят. Но через год-полтора упорных трудов кругозор расширяется, поднимается вера в себя, и всё перестаёт быть таким уж мрачным. Просто наберитесь терпения и не опускайте руки.
Разработчик должен уметь решать все адекватные и не очень адекватные задачи, которые ставит заказчик. Не зацикливайтесь на умении решать какую-то конкретную задачу. Вы не должны уметь создавать поисковую систему или систему бронирования. Что от них толку, если поисковая система чаще всего строится на готовых компонентах, а вероятность, что следующий ваш проект будет система бронирования - примерно 1 из 100.
Разработчик должен уметь создавать систему, которая будет решать поставленную задачу, и которая имеет запас для расширения, чтобы маленькое дополнение от заказчика не заставило делать все с нуля. Должны знать ООП в идеале, так как сейчас это используется почти везде. Должны знать, что такое REST, SOAP, XML, JSON, HTTP, должны уметь настроить web-server так, чтобы сайт работал и можно было заняться разработкой (настройка продакшна, установка какого-то специализированного софта - уже задача админа). Нужно знать, какие технологии/библиотеки существуют и где применяются, чтобы случайно не писать одностраничное web-приложение на jQuery.
Изучать досконально какие-то технологии, решать конкретные задачи просто так практически не имеет смысла. Никогда не знаешь, какой проект будет следующим и пригодятся ли эти знания.
Анатолий K: Согласен, практика всегда полезна. Я хотел донести автору, чтобы он не думал, что если он умеет решать какую-то конкретную задачу - значит он крутой разработчик.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.