Требуется совет начинающему разработчику

Немного о себе (исключительно с целью уточнить вопрос).
Студент 5 курса, специальность КБ. Программировать люблю и хочется верить в то, что умею (хотя порой приходится убеждаться в обратном).

Из ЯП нормально владею только С# и, в чуть меньшей степени, C++. Все остальное либо очень поверхностно, либо не пробывал вовсе. Тем не менее, изучить какой-то новый язык считаю вполне возможным, если есть или появится необходимость. Благо, меня учили программировать в целом, а не конкретному языку.
Курса со второго решил, что буду развиваться в сторону .NET и сопутствующих технологий, чем до сих пор с различным успехом и занимался (ADO.NET, Windows Forms, WPF, немного ASP.NET).
С различными СУБД (MS SQL Server, Oracle Database, Postgre, MySQL) также много поработал, в том числе во взаимодействии с приложениями под все тот же .NET.
В целом, считаю себя достаточно толковым студентом — не самым толковым, но одним из передовиков в своей группе (пардон, если звучит нескромно).

Существует высокая вероятность того, что после окончания вуза (то есть уже через год) в силу определенных сложившихся обстоятельств буду вынужден искать дополнительный заработок (помимо основной работы). Наличие нескольких мест работы исключается, равно как и поиск более оплачиваемой, так что выбор падает на фриланс. Изучив статистику по проектам различных типов с одного из популярных сайтов фриланса, пришел к выводу (возможно неправильному), что большая часть этих проектов связана с веб-разработкой.

Перейду к сути вопроса. Буду благодарен за совет/рекомендацию: в сторону чего стоит податься в такой ситуации, с учетом всего описанного выше.
А именно:
1) Стоит ли связываться с веб-разработкой, либо же имеет смысл заняться чем-то другим?
2) Стоит ли пытаться учить что-то новое (PHP, CSS, etc. у меня на околонулевом уровне), или же продолжить начатое мной изучение ASP.NET?
В портфолио мне в любом случае кинуть нечего (многочисленные лабы-курсовые-диплом врядли подойдут).
Промежуточной целью ставлю в течение этого года поставить на поток разработку (возможно, в паре с товарищем), и, как результат, иметь относительно стабильный дополнительный доход (хотя бы 10-15к рублей в месяц). Конечная цель в идеале — смена работы через несколько лет (раньше не получится) таким образом, чтобы полученные и подтянутые за время работы фрилансером навыки шли в актив на новом месте работы.

Одним словом, какой дальнейший путь развития Вы бы порекомендовали? Приношу извинения за пространность и большой размер вопроса, надеюсь на понимание и дельный совет. Спасибо.
  • Вопрос задан
  • 4199 просмотров
Пригласить эксперта
Ответы на вопрос 9
TheHorse
@TheHorse
Если хорошо знаете С# и .Net — оставайтесь с ними. Аргументы:
1. На фрилансах часто (но не так часто как веб) появляются небольшие проекты, которые возможно (и вероятно проще) делать на этой платформе, без денег не останитесь.
2. Изучение php, очень вероятно, приведет вас к тому, что вам прийдется конкурировать по стоимости со школьниками и другими слабыми программистами.
3. Лучше знать хоть что-то хорошо, чем знать многое но плохо. Став экспертом в области .Net вы легко сможете потом найти хорошую работу с over $n000 зарплатой.

P. S. Но, если в душе вы романтик, путь воинов света — с/с++))).
Ответ написан
Комментировать
ixSci
@ixSci
Идите туда, чего хотите Вы сами. Изучать рынок по сайту фриланса — не очень разумно. Любые специалисты нужны, при этом нормальных программистов не очень много и они всегда нарасхват.
Веб технологии на поверхностном уровне изучить легче чем C++, к примеру. Поэтому фриланс биржи заполнены «индусами», готовыми за 5$ в час работать. Конкурировать на этом уровне Вам будет очень сложно, практически невозможно. Поэтому нужно стать профессионалом, чтобы конкурировать на других уровнях, там где клиенты не экономят на разработке нанимая «индусов».
Мне, честно говоря, не очень понятно, почему человек изучающий одну из наиболее популярных технологий на данное время задумывается о PHP. Не верю я, что .NET разработчик не может себе найти проект во фрилансе. К тому же, сейчас продолжает набирать обороты разработка под мобильные ОС(тот же odesk завален предложениями по написанию софта под iOS). Почему бы не обратить внимания на это? Если уж пытаетесь найти то, на то на что сейчас большой спрос то пытайтесь найти нишу, которая не переполнена. Попробуйте свои силы под WP7 например, вдруг выгорит с платформой? Тогда Вы можете попасть в хорошую струю. В общем, советовать тут можно много. Но выбор делать Вам, и лучше Вам его сделать самостоятельно т.к. Вы лучше всего знаете себя и лучше всего можете понять последствия своего решения, тут же люди выскажутся со своей колокольни и не факт, что их опыт\знания не вылезут Вам боком.

P.S. под «индусами» нужно понимать низко-квалифицированных кодеров, любой национальности и вероисповедания. Никаких претензий к религиозной группе индийцев не имею :)
Ответ написан
Комментировать
@EvgK
Недавно решил посмотреть на oDesk. Подошел основательно — заполнил все, что можно, прошел различные тесты на самом oDesk (попал в top 1% в тесте по .NET). В портфолио ничего не добавлял (специфика такая). Подал заявки на три вакансии, по одной взяли в очень сложный проект на .NET в качестве Senior Developer с хорошей (на мой взгляд) оплатой. Собственно для чего я это пишу — работа для .NET разработчика сейчас есть, причем совсем не обязательно в качестве разработчика сайтов. Корпоративные распределенные приложения — как раз ниша .NET, вот в этом направлении и стоит развиваться (если конечно выбрали .NET). WPF, ASP.NET MVC, Windows Azure (становится популярнее на данный момент), малоизвестный WiF, всякие Entity Framework и прочее — технологий в стеке много, не стоит останавливаться на ASP.NET. С\С++ тоже очень помагает, так же как и хотя бы базовое знание Unix платформ. Также, несмотря на скептическое отношение многих к сертификатам (я тоже отношусь к ним достаточно прохладно), иностранные заказчики их ценят (особенно MCPD) и поэтому получить парочку не помешает.
P.S: и тот факт, что много заказов на php, не должно вас смущать. Вам не нужно много, вам нужен один.
Ответ написан
Комментировать
@Jazzist
В вебдеве жесткая конкуренция. Из-за кажусегося низкого порога вхождения огромное количество школоты массово портят репутацию отрасли. Для того, чтобы конкурировать (в том числе и найти достойную работу) — придется потратить несколько лет на дообучение.

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

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

Так же будет полезно изучение теории. Паттерны, методики и основы надо знать — очень работе помогает.
Ответ написан
Комментировать
dio
@dio
Имхо, путь войнов света нынче — node.js/eglang :)
Если решите идти в веб разработку без базового понимания клиентской части не обойтись, так что css/js в минимальном объеме необходимы. А если распробуете js и поймете, что кроме «классической» ооп существует еще целая вселенная…
Ответ написан
Комментировать
png
@png
Вопрос действительно пространный. Для себя его я понял так, чтобы мне ещё изучить, чтобы стать лучше. То есть вы не знаете куда двигаться дальше.
Послужной список у вас очень приличный, вы уже большой молодец. Далее идет оттачивание навыков и опыта.
Какую нишу займете — там и развивайтесь.

Будет это .NET — платформа — замечательно.
Лично мне больше нравится java / j2ee/ j2se. Но это уже дело вкуса.

Итак, советы:

0. Купите/скачайте книгуМакконнелл Совершенный код
Эта книга просто сокровище для разработчика. Сам купил по совету преподавателя на 3-м курсе, ни разу не пожалел. До сих пор открываю, и нахожу там для себя что-то новое.

1. Проверьте правильность понимания вами принципов ООП. Принципы проектирования классов и прочее.
Знать о существовании шаблонов проектирования и их применении тоже желательно.

2. Качество знаний языка SQL поможет вам проверить этот сайт. Имеет смысл так же перечитать принципы проектирования БД. Нормальные формы и прочее.

3. Если ударитесь в Web, то знать
HTML, CSS, JS надо, нужно знать хотя бы что это и как это работает.
а так хорошо знать протокол HTTP и принципы сетевого взаимодействия.

Короче, идею вы надеюсь поняли, лучше всего копить пакет общих знаний и опыта о разработке. Такие разработчики ценились всегда дорого. С такими знаниями работается качественней и эффективней.
Ответ написан
UseRifle
@UseRifle
Вариант уехать из Москвы и работать удаленно за московскую з/п не рассматриваете?

У нас тут 40-50 тыс. рублей считается достаточно хорошим доходом :)
Ответ написан
IlyaMS
@IlyaMS Автор вопроса
Всем огромное спасибо за советы, видимо, действительно стоит продолжить развитие «в глубину» (.NET и иже с ним). Я, в общем то, так и планировал, но решил проконсультироваться с общественностью. :)
Наверное, постараюсь зацепиться за чьи-нибудь проекты в качестве помошника, с последующим разрешением добавить их себе в портфолио. Надо же как-то на рынок выходить.
Ответ написан
Комментировать
Akson87
@Akson87
Еще вариант: устройтесь в какую-нибудь аутсорсинговую контору удаленно со свободным графиком часов на 10 в неделю. Напрягать сильно не будет, а дополнительный заработок появится. Минусы же стандартны: кто-то за Вас ищет проекты и получает с этого процент, но и в случае провала теряете не Вы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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