Отказ от ответственности (Пожалуйста, прочитайте, прежде чем прыгать, чтобы ответить):
Я видел несколько вопросов, похожих на тот, который я хотел бы задать, поэтому вот несколько похожих вопросов.
ИМХО Они не совсем то, что я спрашиваю, и они не настолько тщательны, как я надеюсь (я не хочу отмахиваться от ответов на вопросы ниже, и я не дискредитирую спрашивающих, я просто хочу быть немного более тщательно)
Может ли степень CS помочь старшему программисту?
Важность степени CS при подаче заявки на рабочие места развития?
Позвольте мне быть ясным, я не спрашиваю следующее:
- Как научить себя программированию с нуля (без степени в CS)
- Как позиционировать себя как хорошего разработчика программного обеспечения (без степени в CS)
- Как получить отличную высокооплачиваемую работу в качестве разработчика программного обеспечения (без степени в CS)
Немного контекста:
Теперь, когда я отказался от ответственности, позвольте мне конкретизировать мой вопрос, начиная с краткой истории моего опыта в качестве разработчика программного обеспечения.
Прежде всего, мне невероятно повезло. Мне дали несколько рабочих мест (несколько тяжелых бэкэнд-проектов PHP / MySQL и несколько приложений WP7 в XAML / C #), благодаря которым я действительно узнал все, что знаю о разработке программного обеспечения. Почти все работы по разработке программного обеспечения, которые у меня были, были такими, на которые я не был по праву квалифицирован (и я дал это понять своим работодателям до того, как они меня наняли). Я не хочу отдавать себе должное, когда этого не происходит, но я бы сказал, что совершенное смирение обходится без скромности .
Почти в каждой моей работе по развитию я превзошел ожидания моего работодателя и оказался ценным активом. Есть, конечно, исключения 1 . Но я хочу сказать, что я достаточно умен и смог научить себя тому, что мне нужно было знать, чтобы добиться успеха на своей работе. С каждой работой я растягивался все больше и больше.
Я посещаю кампус Сиэтлского университета в Вашингтоне , и в настоящее время я учусь на четвертом курсе, у меня осталось два года, и я работаю над математикой. Во время различных работ, которые у меня были (см. Мое резюме, если вы хотите этот список), я также посещал школу в качестве очного студента.
Как я думаю, большинство разработчиков согласятся с этим, изучая типичные курсы общего образования для студентов, в том числе вводные курсы по программированию. АБСОЛЮТНО ПАЛЕСЫ по сравнению с написанием реального кода, созданием реальных 2 продуктов, работой с замечательными людьми и положительным влиянием на жизнь пользователей 3 .
Так что ... по ходу дела ... я тратил гораздо больше своего времени и энергии на работу вместо того, чтобы сосредоточиться на учебе. Иногда я выступал очень ужасно , но по большей части мне удавалось оставаться на плаву со своими оценками.
Однако программа информатики в UW очень , очень , очень , очень конкурентоспособна.
Таким образом, для меня не было неожиданностью, когда я был отклонен программой. Дважды. По иронии судьбы, в то же самое получасовое окно, в котором я получал по электронной почте всегда вежливое, хотя и удручающее уведомление об отказе, мне позвонил Amazon, предложив мне летнюю стажировку 4 в качестве SDE.
Когда я смотрю на других мужчин моего возраста (21), которые преследуют те же цели, что и я в разработке программного обеспечения, я чувствую себя довольно хорошо о том, где я нахожусь, что я изучаю, кто я и что Я могу сделать. Конечно, есть намного, намного, намного более блестящие 21-летние подростки, чем я, я не хочу сказать, что я выделяюсь из толпы, просто я чувствую, что я не ужасно отстаю от прогресса моего среднего сверстника ,
Я уверен в своей способности быть успешным в мире программного обеспечения. Что еще более важно, я уверен в своих способностях и желании продолжать расти, учиться и смущаться, когда мне это действительно нужно.
Математическая степень
Я стремлюсь получить степень по математике с единственной целью получить степень. Есть те, которые говорят, что я должен бросить и начать работать сейчас (как я имел возможность сделать), и есть те, которые говорят, что я действительно должен закончить свою степень. Я решил продолжить обучение по совершенно разным причинам, чем те, что есть в лагере, поэтому, пожалуйста, не поощряйте меня так или иначе в этом вопросе. Считайте вопрос "закрытым" :)
* ГЛУБОКОЕ ДЫХАНИЕ * ... извините, это дольше, чем я ожидал.
По сути, это мой вопрос:
- Как мне объективно определить, какие области обучения, общие знания и другие навыки, которые я получил бы в результате получения степени CS, мне могут или не могут быть необходимы сейчас?
Как мне отсортировать эти навыки в порядке важности?
Каков наилучший способ (в течение следующих двух лет) дополнить мое образование, чтобы получить эти качества таким образом, чтобы соответствовать или даже превосходить уровень бакалавриата высшего образования высшего учебного заведения?
Вот шаги, которые я уже предпринимаю:
- Задайте вопрос сообществу разработчиков (этот пост)
- Проводить наставничества с опытными разработчиками, которые разделяют со мной схожую карьеру
- Определите краткосрочные и долгосрочные «учебные» цели и последующие учебные программы с изложением тем обучения
- Продолжайте писать код и работайте над проектами, которые мне нравятся
Если вы зашли так далеко, вы заслуживаете печенье :) Я ценю, что вы терпите меня.
Итак ... сообщество разработчиков, опытные разработчики, сокурсники, которые находятся в одной лодке со мной, что бы вы посоветовали?
Также ... пожалуйста, имейте в виду мои отказы от ответственности в верхней части этого поста о том, что я НЕ прошу.
Обновить:
Я понимаю, что я не предоставил очень конкретные параметры для того, что я считаю успешным «ответом» на мой вопрос (ы). Я думаю, что вопрос очень расплывчатый и может потребовать ряда «правильных» ответов.
Через некоторое время я выберу ответ, который соответствует следующим атрибутам:
- Объясняет причину их ответа
- Может говорить с определенного уровня опыта (будь то найм / взаимодействие с кем-либо или кто-то, кто находится / на моем месте)
- Краткий, но тщательный, дает широкие принципы, желательно в сочетании с конкретными примерами
- И, наконец, учитывая длину, которая может потребоваться для соответствия вышеприведенному, пожалуйста, сделайте хороший, хорошо обдуманный ответ, который приятно читать. Другие, которые могут быть заинтересованы в этом в будущем, я надеюсь, будут развлечены ответом.
Так что есть некоторые параметры для «правильного». Я думаю, они очень высокие, но я разработал их как набросок того, что, как я предполагаю, будет «лучшим» ответом. Очевидно, что при наличии достаточного количества времени я выберу ближайший соответствующий ответ в качестве «ответа».
(1) - я работал над предыдущей версией этого сайта, и пока у нас не было явного Разговор об этом, я чувствовал, что я не был в состоянии сделать очень хорошо (это может быть о чем свидетельствует тот факт, что с тех пор они полностью изменили свой сайт) (2) - Во-первых, да, это реальный продукт (хотя я пишу этот пост в Chrome ...), и это пинает задницу Во-вторых, я был старшеклассником-разработчиком в тесте, написал доказательство концептуальный код для некоторых новых функций для IE8 ... так было некоторое время назад. (3) - На момент публикации я являюсь разработчиком, который написал это приложение, я больше не являюсь ответственность за его кодовую базу (4) - моя стажировка начнется в июне 2012 года, и я буду работать в интернет-магазине команда.