Учёба на ITшника-программиста. Запутался, куда идти?
Добрый вечер всем.
Помогите, пожалуйста, я совершенно запутался.
Дело вот в чём: проживаю я в Финляндии и учусь там же в ВУЗе на программиста. Сейчас я на 3-ем году обучении и планирую закончить или в мае 2015 или к декабрю 2015. Дело в том, что я до сих пор не смог определиться, в каком направлении двигаться. Универ дал базу по Assembly/C/C++/Java/HTML/PHP/JS/SQL/Android/Windows Phone программированию. Так же были другие предметы по базам данным и алгоритмам. Более того, уже прошёл CCNA1-4...Сейчас прохожу CCNP. Так же курсы по Security и эксплойтам....
Т.е. по выпуску я программист+сетивик.
Да, хорошо, я знаю базу этого. Но что дальше то? Куда развиваться. Куда не посмотри, просят опыт работы огромный и т.д.
В данный момент подрабатываю в универе админом, но не собираюсь я в жизни этим заниматься...Помогите, пожалуйста. Я просто не знаю, как мне себя совершенствовать в свободное время. Читать книги - это да. Но без практики какой толк?
Да, и, конечно, учусь на "отлично"....А толку то? Ну закончил я и среднюю школу с золотой медалью и что?? Помогите, пожалуйста. Наставника нет :(
Вы не думайте о технологиях, которые изучили. Подумайте о том что вам нравится, в чем интереснее всего копаться? В разработке мобильных приложений? Игр? Десктопных приложений? Сайтов? Алгоритмов? Где вы можете ночами не спать и делать делать с интересом?
@Refic: Вот видите, прямая дорога в андройд разработчики, займитесь этим. Поверьте, если что, у вас потом не будет особых проблем переквалифицироваться в будущем на другой язык/платформу.
Готовься парень -- наставник сам не придет.
Хочу тебя обрадовать, что этим вопросом задаются многие студенты (и я в буквально год назад) на последних курса. И это хороший признак свидетельствующий о том что ты уже идешь в правильном направлении. Не знаю как у тебя, а в моем случае я имел хоть и очень размытое, но все же какое никакое представление и отталкивался от него и своих предпочтений. Со временем вопрос "куда двигаться" отпал как-то сам собой -- мозг сам нашел правильное решение. Но и ты не теряйся: определись что тебе нравиться, где будет простор для творчества, где ты себя чувствуешь лучше, увереннее. Пользуйся гуглом, собирай и анализируй информацию и в принципе все.
Благодарю за ответ. В принципе, больше всего интересуют две вещи - это C\C++ и Android dev.
Просто учат столько всему многому сразу, что хочется знать всё. Но всё знать очень углублённо прямо так сразу не получится, т.к. нужно ооочень много времени.
А кто вас торопит? Не летите сломя голову -- определитесь. Определите цели и основную часть времени уделяйте им, все остальное изучайте в свободное или не занятое время. Например для начала можно пройтись по основным алгоритмам, изучить основы языка и потихоньку углубляться. Главное не отлынивать и делать все поэтапно.
Из алгоритмов в первую очередь надо вынести понятие вычислительной сложности :) Все остальное в основном сделано за нас сотни раз в сотнях свободных и не очень библиотек. В продакшне умение разобраться в чужом коде оказывается ценнее, чем умение писать крутые алгоритмы (если ты не работаешь в гугле, конечно) :) Впрочем это исключительно мое мнение.
По жизни нравятся автомобили. Т.е. я бы пошёл в IT сферу авто.строения. Сейчас развивается это бешенными темпами и софт хотел бы я писать там. Но в Финляндии это не возможно. Поэтому, скорее всего, моб. программирование.
Судя по новостям вполне возможно, что в некоторых автомобилях будет крутиться какая-то модификация андроида. Так что мобильная разработка может быть очень кстати )
тобишь, в моём случае, следует углублённей изучать c++ и android? хорошо, как? не расскажите про свой опыт? неважно, что это были другие технологии или языки, ведь изучение оно везде то же.
Я бы не стал так категорично определяться относительно C++ и андроид :) жизнь штука сложная. Я в институте учил C++, но потом оказалось, что в моем городе вакансии C++ либо совсем термоядерные, либо C++ для микроконтроллеров. В итоге я стал подтягивать C# и Java. Определенный опыт C++ (и немного ассемблера) позволил быстрее понять как все устроено. Потом узнал про TDD, паттерны, наконец то научился пользоваться гитом, попробовал питон.
Я бы порекомендовал в C++ двигаться в сторону работы с памятью (умные указатели) и попробовать стандартные библиотеки stl, boost или Qt, если вам оно больше нравится. Более глубокое изучение C++ стоит времени и, наверное, не оправдано в данный момент.
На Java можно изучить паттерны проектирования и оттачивать стиль ("Банда четырех" или обзор паттернов на каком нибудь блоге, для стиля можно попробовать Макконела "Совершенный Код"). Поначалу будет желание использовать паттерны по поводу и без повода :) Это пройдет с опытом. Java легко заменяется на C# (для мобилки с прицелом на Xamarin, который, увы, безумно дорого стоит)
Также попробуйте TDD (пожалуй самое полезное из всего) и любую систему контроля версий (mercurial проще для понимания, git мощнее и более распространен). Плюс изучить основы SQL (хватит нескольких недель копания в принципах и простых запросах). Если останется время, можно покопаться в Python или в другом скриптовом языке (это для всякой утильной работы и на черный день, если придется делать недорогие сайты). Тут пожалуй больше чем на полгода, но это все то, что лично мне пригодилось в работе
Спасибо. Вы прямо меня описываете в самом начале. Тоже C++ больше учил. И больше куда вакансий на java, c# и mob. dev. Впрочем, спасибо. так и поступлю!
Авто + IT очень крутая тема сейчас, если таковых нет в Финлядии, посмотрите стажировки в других странах. А пока что пишите больше на C++, если есть хоть какой-то интерес то можно под Android, как уже сказали, скорее всего именно эта ОС будет в Авто будущего. Она кстати уже и сейчас внедряется, сам видел в Volkswagen Passat )