Стать профессиональным программистом, не поступая в колледж? [закрыто]

16

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

То, что я хочу сделать, это сказать «Винтовой колледж», вычеркнуть себя и сделать что-то удивительное, удивить всех и стать миллионером, сделавшим себя сам. Реальность ситуации такова, что я за две недели до окончания средней школы имею примерно эквивалент опыта самообучения по курсу «Введение в программирование» (хотя я стремлюсь учиться и совершенствоваться), мне все еще нужно платить счета, и у меня есть подлое подозрение, что любому работодателю будет трудно воспринимать меня всерьез.

Насколько я понимаю, это довольно распространенное мнение, что вы можете сделать это без степени, но как кто-то, как я, делает это? Кто-нибудь воспримет меня всерьез, если я войду в их офис и скажу: «У меня нет формального образования и минимум навыков, но я хочу работать и хочу учиться. Пожалуйста, дайте мне работу».

Кенис Риган
источник
3
Почему бы тебе не пойти в общественный колледж, а затем перевестись в университет? Это самый дешевый маршрут для получения степени.
davidk01
1
Можете ли вы повторить этот год в старшей школе в своей стране, а затем открыть для себя все обычные возможности? Если вам скучно во второй раз, вы всегда можете начать программировать те проекты, которые, как вы подозреваете, сделают вас миллионером. Однако в сегодняшние дни лучше идти миллиардером.
Джон К
2
Вы не должны принимать отказ от бюрократического персонала колледжа, как если бы он пришел от профессора. Профессора обычно занимаются только подбором аспирантов. Если бы я был тобой, я бы вежливо сопротивлялся, связывался с колледжем и спрашивал их, что тебе нужно, чтобы продемонстрировать свои способности, а затем добиться успеха). Обучение в средней школе финансируется налогоплательщиками, поэтому я бы сделал еще один год, как кто-то предложил. я бы также подумал о том, чтобы пойти в колледж на пару лет, как сказал кто-то другой. Вопрос: вы больше цените время или деньги? Удачи тебе!
Работа

Ответы:

27

Я был в том же положении, что и вы, и я выбрал ту «винтовую школу», о которой вы говорите. У меня была любовь к разработке программного обеспечения, хобби на C ++ помимо базового курса по программированию на HS и мечты. Теперь я профессиональный разработчик, поэтому я поделюсь с вами своим опытом.

Побывав в колледже в течение 1 года (у меня была полная стипендия для технического театра), я поняла, что мне больше нравится программное обеспечение, чем создание декораций.

Год 1- Я начал свою «собственную вещь», которая состояла из поддержки настольных компьютеров для оплаты аренды и развития. Разработка всего, что я мог сделать, для любого, кто этого хотел, за небольшую цену. Оглядываясь назад, я, вероятно, делал заявки на 20 000 долларов за 1000 долларов. Начать самостоятельно - это отстой, потому что даже если у вас есть опыт, чтобы узнать, что это приложение за 20 тысяч долларов, у вас нет правдоподобия, чтобы попросить его. И что хуже всего, я понятия не имею, чего я не знаю, и никаких других разработчиков вокруг меня. Я создал приложения, которые были кошмарами обслуживания. У меня не было навыков в архитектуре или шаблонах проектирования, поэтому я в основном делал вещи, которые взрывались, и делал сетевую поддержку для оплаты счетов. Много Taco Bell, смешанного с «ну, по крайней мере, я не работаю на человека». У меня есть мечта о приложениях, чтобы написать и выйти в мир,

Год 2 - Стать немного лучше разработчиком, узнав, что не нужно делать, и наблюдая, как вещи взрываются мне в лицо. Едва обходятся поддержкой настольных компьютеров, обучением серверов и созданием веб-сайтов. Это должно быть проще, чем работать на этого человека, но у меня нет реального портфолио, поэтому продолжайте.

3 год- Начинаю понимать это. Когда я нажимаю «Файл»> «Новый проект», у меня возникает смутное представление о том, куда я хочу пойти и как строить вещи. Все еще выбирая неправильные архитектуры, веб-сервисы кажутся классными, так почему бы не создать ВСЕ с ними? Нужна калькулятор для настольного приложения? Я создам веб-сервис! Начинаю подбирать несколько клиентов и быть ИТ-специалистом и несколькими программными проектами. Одна вещь, которую я сделал, - это создание сервиса автономного резервного копирования с использованием веб-сервисов, поэтому я мечтал стать «Mozy», когда все еще обменивались лентами. Широкополосная связь только стала обычным явлением, поэтому я был на шаг впереди, и это станет моей идеей на миллион долларов. Но у сервиса были проблемы (из-за моего отсутствия архитектурных навыков),

Год 4 - Наконец, клиент верит в меня для долгосрочного проекта. Мне удается это сделать, не облажаясь; код не велик, но он работает. Начав зацикливаться на счетах, я начал работать с несколькими другими разработчиками (притворяйся, пока не сделаешь это, верно?) И даже отвечая на несколько вопросов по обмену экспертами. О, да.

Год 5 - Если вы еще не заметили, эти мечты в 1-м году все еще не написаны, так что это начинает немного удручать. У меня есть приличный портфель материала, который я успешно написал, получил неплохой импульс и респектабельную клиентскую базу. До сих пор не знаю, что я не знаю, и безубыточности.

Годы 5 - 8 - я объединю их, потому что это больше похоже на «сделай проект, узнай немного о каждом, перенеси этот опыт в следующий». Сегодня середина 8-го года, и только в последние год или два я стал хорошим разработчиком. Эти мечты в первый год уже были изобретены кем-то еще много раз. Если вы не догадались, я не создал Мозы.

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

Я не могу говорить о том, как колледж меняет это путешествие; Я оставлю это другим в этой теме. Но советы я дам:

  1. Вам нужно работать с другими разработчиками. Я не понимал, насколько это важно. Вы не знаете, чего не знаете, пока не посмотрите на чужой код или не получите ужасный обзор кода.
  2. Сбой, прежде чем у вас есть основные обязанности. Если вы действительно хотите выйти на улицу самостоятельно, попробуйте сделать это до того, как вы выйдете замуж, получите оплату за проживание, детей и т.д. Привыкайте к этому и цените его, потому что это лучший опыт. Но когда у вашего приложения-убийцы, на которое вы только что потратили все свое время и деньги, нет ни одного клиента, гораздо легче восстановить его, когда это только вы.
  3. Нет ничего плохого в начальной загрузке. Если у вас есть навыки работы с сетью, работайте в Центре сетевых операций или в службе поддержки (что-то в сфере ИТ) и работайте над тем, чтобы стать лучшим разработчиком в нерабочее время и в выходные дни. Общайтесь с людьми на реальных работах. Они понадобятся тебе позже.
  4. Будьте на 125% уверены, что вы ЛЮБИТЕ разработку программного обеспечения. Страсть к программному обеспечению предшествует части «миллионера», а не наоборот. Если у вас нет страсти к этому, или ваше сердце не начинает биться немного быстрее, когда вы запускаете New Project, займитесь чем-нибудь другим и оставьте это для души.

Я уверен, что смогу продолжить, но забавно то, что я видел этот вопрос, работая над одним из этих снов, и должен был ответить на этот вопрос. :) Удачи.

Brandon
источник
6
Как веб-разработчик-самоучка, я могу согласиться с тем, что пункт «Вы не знаете, чего не знаете» особенно актуален.
Бен Стефенсон
5
+1 за «Сбой, прежде чем у вас есть основные обязанности». Я самоучка и провела годы, работая вечером над внештатными проектами, прежде чем получить постоянную роль. Оглядываясь назад, я бы ничего не изменил, но, если по какой-то неожиданной причине я встретил свою миссис раньше, я знаю, что через пару месяцев не выйду замуж, 80-100часовые недели не очень хорошо работают с отношения.
DBlackborough
16

Без сомнения, иди в колледж.

Лично я сделал это без колледжа (не говоря уже о том, что я миллионер, но у меня хорошая работа в компании, в которой я люблю работать), но это трудный путь. Первоначально, вы находитесь за кривой во всем . Математика, алгоритмы, операционные системы, все, что вы получаете во время формального образования (и некоторые из которых, например, исчисление, очень трудно выучить у вас, даже с доступом к таким вещам, как math.SE).

Будучи только что окончившим среднюю школу, вы можете пройти свой путь в отдел контроля качества и начать впитывать все, что сможете. Путь от QA до разработчика или инженера может быть грубым, хотя есть (иногда плохое) обобщение, сделанное о людях, выходящих из QA, пытающихся попасть на путь разработки.

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

Несмотря на то, что мне нравится то, что я делаю, и я горжусь своими личными достижениями, я бы никогда не порекомендовал это всем, кто обладает способностями и имеет хорошие возможности для прохождения программы получения степени.

Демиан Брехт
источник
+1 Я сам не пошел в колледж, рано бросил школу, и мне пришлось преодолеть множество проблем, когда я начинал как разработчик программного обеспечения без необходимых полномочий. Однако этот путь сделал меня таким, какой я есть сегодня, и мне нравится, как я сегодня! Мне так нравится узнавать, что я собираюсь начать учебу в университете (в другой области)!
3
Я не согласен. Я занялся профессиональной разработкой программного обеспечения без какой-либо степени, и я думаю, что все зависит от человека. Я ненавижу формальное, структурированное образование и очень предпочитаю учиться, выполняя задания. Я знаю, что никогда не смог бы пройти через колледж (хотя у меня были оценки, чтобы получить приличный), просто потому, что все это так теоретически и, ну, в общем, бессмысленно. Так что, если вы не тот человек, которому понравится структура колледжа, и вы - уверенный автодидакт (которым вы должны быть как разработчик, если честно), тогда колледж не нужен.
Бен Х
Формальное образование - ракетка. Теория, как сказал Бен, бессмысленна, если вы не работаете в академическом качестве. Я действительно не могу понять одержимость формальным образованием и тратить 4 года на лекции среди 30 других студентов вместо того, чтобы тратить эти 4 года на то, что ты изучаешь. Разве мы не учимся на практике? Мало того, зачем мне тратить 4 года на получение степени, унаследовать сокрушительный долг, а затем пойти на карьеру и сэкономить на пенсии? Почему бы мне не просто построить свою собственную компанию? Сделать мои собственные деньги? Используйте инструменты, которые я хочу использовать? Концепция занятости смехотворна.
Дэмиен Роше
4

С вашим текущим резюме вы не получите работу в качестве разработчика, так что даже не беспокойтесь.

Если вы не можете или не хотите учиться в колледже, вам придется получить некоторый опыт самостоятельно. Это трудный способ сделать это, но это может быть сделано. Мобильные приложения - хороший способ начать, так как вы можете легко представить свой продукт реальным пользователям. Вклад в проекты с открытым исходным кодом может быть другой вариант. Или просто напишите что-нибудь для собственного использования. Во-первых, вы не будете зарабатывать на этом деньги, по крайней мере, недостаточно, чтобы зарабатывать на жизнь - поэтому вам, вероятно, понадобится и обычная работа. Не упустите возможности получить дешевое образование; В некоторых колледжах вы можете посещать курсы без кредита за небольшую часть обычного обучения.

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

Удачи.

Майк Баранчак
источник
3

Хм ... это сложно. Я думаю, что это действительно зависит от вашей натуры как личности.

Если бы вы действительно знали содержание примерно в 6 или 8 книгах, вы были бы очень солидным разработчиком (годы, намного превышающие то, что производится большинством программ для CS - серьезно). Относитесь к основам серьезно; очень серьезно - как религия серьезно (KR может быть вашей библией).

Идея делать небольшие проекты хороша. Всегда старайтесь улучшить себя - выберите несколько экосистем и изучите их хорошо (1 - скажем, ROR или Django в linux с mysql и 2. iOS / Objective C; 2.5. - добавьте jQuery / HTML).

отредактируйте --- в верхней части моей головы, я бы предложил список ниже (в ~ этом порядке); У меня 9, но одна из них - книга по математике, другая - книга по сценариям / Java, а последняя - необязательная. Помимо этого есть пара тем, которые будут рассмотрены в статье о программном обеспечении Джоэла. Я думаю, что это сделало бы вас очень сильным разработчиком - я уверен, что другие не согласятся.

  1. Язык программирования Си - Керриган и Ричи - большинство других книг посвящены вопросам, поднятым здесь
  2. хорошая книга по написанию сценариев на выбранном вами языке (Ruby, Python, PHP) или книга по Java
  3. Компьютерные Системы - Перспектива Программиста - эта книга только продолжает давать и давать
  4. Дискретная математика с приложениями - Epps (?)
  5. Расширенное программирование в среде UNIX
  6. Книга по машинному обучению / ИИ, может быть, Распознавание образов и машинное обучение ИЛИ специальная сетевая книга, такая как TCP / IP, иллюстрированный том № 1
  7. Шаблоны проектирования или Шаблоны проектирования J2EE
  8. Разработка алгоритма - Кляйнберг
  9. Понимание ядра Linux - необязательно
timpone
источник
Что такое КР? Это книга?
Оминус
2
@ Ominus Я полагаю, что он имеет в виду "язык программирования C" - en.wikipedia.org/wiki/The_C_Programming_Language
@Glenn +1 Спасибо! @ Тональность, когда ты говоришь 6 или 8 книг, ты имеешь в виду или просто вообще говоришь? Если вы конкретно думаете о конкретных книгах, я хотел бы увидеть этот список. Благодарю.
Оминус
@Ominus Лично я бы сказал, что любые книги, связанные с вашими языками программирования, которые вы используете, и книги по этому вопросу ( programmers.stackexchange.com/questions/870/… ) также хороши.
1
@timpone: Ах, пропустил # 7 :) И да, мы, очевидно, просто не согласны, что хорошо (некоторые из лучших разговоров рождаются из разногласий :))
Демиан Брехт
2

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

Я впервые начал играть с компьютерным программированием, когда мне было около 9 лет. В 90-х я заработал немного денег на создании веб-сайтов для друзей, и это дало мне непосредственный опыт работы с ранним вебом (я играл с javascript, я был довольно смущен, когда появился CSS и т. Д.).

Когда я был подростком, я решил, что пришло время действительно углубленно изучить компьютерное программирование, поэтому я искал в Интернете темы, которые должен знать каждый программист, а затем я потратил все, что у меня было на книги. Я купил одну книгу по дискретной математике, книгу по ОС и книгу по программированию на C в среде UNIX.

Затем я начал изучать объектно-ориентированное программирование на C ++ и по пути взял Python и Java, и это дало мне мою первую работу (она не очень хорошо оплачивалась, но я скоро оставлю эту работу гораздо лучше).

Когда я поступил в колледж, я был очень расстроен этим. За исключением таких классов, как исчисление, статистика и формальные языки; Я почти уже знал все темы, которые обсуждались в курсе и балансирующем колледже, и моя работа становилась все труднее с каждым днем.

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

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

Так что, да, вы можете работать в качестве разработчика программного обеспечения без степени, но вам придется много учиться, устраивать паршивые работы, когда вы еще новичок, и показать каждому потенциальному работодателю, что у вас есть знания, опыт и вы действительно умны ( в конце концов вам нужно убедить его нанять вас, а не другого парня, который имеет эту степень CS). Просто убедитесь, что вы понимаете структуры данных, алгоритмы и алгоритм анализа, шаблоны проектирования и некоторые концепции ОС.

Мой последний совет вам: если вы можете себе это позволить, вы должны пойти в колледж. Поверьте мне, теперь вам будет намного легче, пока вы еще не закончили среднюю школу и вам не нужно беспокоиться об оплате счетов. Быть разработчиком, не посещая колледж, работает, только если вы начали очень рано. Люди будут нанимать вас, если у вас есть степень, но вы еще не умеете хорошо кодировать, а сейчас, если у вас нет степени и вы все еще не можете хорошо писать, вас не будут нанимать.

Рафаэль
источник
1

Если вы сможете поступить в университет, вам будет легче, но это не обязательно.

Ключ имеет то, на что вы можете указать и сказать: «Я сделал это». Единственный способ сделать это - тренировать себя снизу. Начните с выполнения случайных работ для людей, которым «просто нужен программист». Может быть, проверить такие места, как eLance .

Вы также можете написать свое собственное программное обеспечение и продавать его. Выберите проблему, которая пока не имеет хорошего решения на рынке, и напишите программу, которая решает эту проблему. Вы сможете продать его. Тогда у тебя будет доверие. Честно говоря, вы, вероятно, сделаете дрянную работу, если это ваш первый настоящий проект, но вы выучите тонну и будете продавать копии, если это будет полезно. Код не должен быть красивым. Пользователи видят только пользовательский интерфейс.

Опыт является ключевым. К счастью, программирование - одна из тех профессий, где вам вряд ли понадобятся какие-то дополнительные усилия, чтобы начать работу. Просто осознайте, что впереди у вас очень долгий путь обучения.

Скотт Уитлок
источник
0

Работодатели хотят по крайней мере одну из двух вещей (или обе): образование или практический опыт. Обычно получение образования является одним из самых простых способов попасть в систему, где вы, наконец, начнете получать практический опыт. Получение образования говорит работодателю, что вы будете придерживаться чего-то сложного (а иногда это может показаться бесполезным и пустой тратой времени). Это важно для них, потому что работа, независимо от того, насколько вам это нравится, никогда не будет легкой или веселой все время. Они хотят знать, что вы собираетесь придерживаться там.

При этом, если вы собираетесь попробовать маршрут, который вы наметили, вам понадобится некоторый практический опыт. Лично я бы порекомендовал посмотреть на стартапы (они, как правило, немного более склонны рисковать с кем-то, у кого мало опыта или нет). Еще одна вещь, которую стоит рассмотреть, это найти работу любого рода (для оплаты счетов), а затем потратить время на разработку проектов, которые вы можете использовать в качестве резюме. Как только у вас будет небольшой арсенал проектов, вы окажетесь в гораздо лучшем положении, чтобы обратиться к работодателям и сказать: «Вот что я могу сделать ...».

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

Кеннет
источник
0

Я не учился в школе около 2 лет. У меня уже есть работа по программированию, и я проучился около 20 или 24 часов в колледже. У меня не было достаточно денег или времени, чтобы сделать это после первых двух семестров.

Как я получил свою работу в программировании? Удачи, в основном. Но вы можете увеличить свои шансы на то, чтобы вас заметили. Причина, по которой меня заметили, заключалась в том, что я создавал небольшие побочные программы и показывал своим друзьям ... Это было так, и меня называли "Компьютерным парнем", и больше учителей спрашивали меня, как починить их компьютер, чем настоящего технического специалиста. Ну, один из пап моего друга владел небольшой компанией по разработке программного обеспечения ...

Совет, который я дам вам, - не переставайте делать вещи. Учись и зарабатывай. Сделайте любой проект, который кто-нибудь захочет. Что-нибудь интересное для вас, или что-нибудь, что кто-то заплатит вам даже за копейки. Вклад в проекты с открытым исходным кодом, а также. Командная среда хороша.

Кроме того, станьте известным на веб-сайте как StackOverflow. Я получил второе предложение о работе от запроса Stack Exchange к StackOverflow, который в основном показал всех в Оклахоме ... и я был самым высоко оцененным человеком в репутации.

Earlz
источник
0

Отлично, отличные ответы здесь. Я также добавлю свой собственный опыт.

Я программировал в той или иной форме, когда мне было около 5 или 6 лет (TI BASIC, кто-нибудь?). В 1995 году я перешел на Linux и начал учить себя Си и Perl. Я никогда даже не посещал курсы программирования в старшей школе, потому что в то время они преподавали Visual Basic и Visual C ++, и я тоже не интересовался.

Пошел в колледж. CS 101 был «Введение в программирование (Visual Basic)». Стал майором философии.

Выпал из колледжа. Работал в CompUSA, начал заниматься независимой веб-разработкой.

Работал в кофейнях или на техподдержке, продолжал самостоятельно программировать ... занимался фрилансом и программированием с открытым исходным кодом.

Моя первая «настоящая» работа по кодированию (с названием «программист» в названии) пришла через кумовство. Друг уходил с должности, и они попросили его найти ему замену.

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

В основном, я бы сказал, даже если вам нужно поступить в государственную школу или даже в муниципальный колледж, идите и учитесь столько, сколько сможете. Продолжайте взламывать проекты с открытым исходным кодом в свое свободное время (как говорится, GitHub - новое резюме), и если что-то более привлекательное приходит ... вам не нужно заканчивать. Вы не должны получить высшее образование, чтобы поставить кредитный счет и средний балл в ваше резюме, FWIW.

Во всяком случае, удачи. Если у вас действительно есть страсть к написанию хорошего кода, это ключ. Но колледж - это своего рода «системная зависимость» для большинства компаний.

Джейсон Льюис
источник