Стати професійним програмістом, не ходивши до коледжу? [зачинено]


16

Мене нещодавно відхилили з коледжу, який раніше приймав мене, на підставі того, що я провів рік середньої школи в чужій країні, і коледж не зацікавлений у визнанні освіти, отриманої в іншій країні. Через це дуже щедра стипендія перестала, і фінансування освіти є сумнівним. Я також вагаюся стати частиною системи, яка продемонструвала те, що я вважаю кричущою ксенофобією.

Що я хочу зробити, це сказати "Шрубаний коледж", викреслити самостійно і зробити щось дивовижне, ухваливши всіх, і стати мільйонером, який зробив саморобку. Реальність ситуації полягає в тому, що я два тижні закінчую середню школу, я маю приблизно еквівалент курсу "Вступ до програмування", який вартує досвіду самоучки (хоча мене хочу навчати та вдосконалювати), мені все одно потрібно платити рахунки, і я маю кричущі підозри, що будь-який роботодавець буде важко сприймати мене серйозно.

Як я розумію, це досить поширена думка, що ти можеш зробити це без ступеня, але як це робить хтось, як я? Хтось сприйме мене серйозно, якби я зайшов у їхній кабінет і сказав: "Я не маю формальної освіти та мінімуму навичок, але я хочу працювати і хочу вчитися. Будь ласка, дайте мені роботу"?


3
Чому б ти не піти в коледж громади і не перевестись до університету. Це найдешевший шлях до отримання ступеня.
davidk01

1
Чи можете ви переробити той рік середньої школи у вашій країні, а потім відкрити для вас усі звичайні проспекти? Якщо вам нудно вдруге, ви завжди можете розпочати програмування тих проектів, які, як підозрюєте, зроблять вас мільйонером. Однак у сьогоднішній день та вік краще йти мільярдером.
Джон К

2
ви не повинні приймати відмову від чиновницького бюрократичного персоналу, як ніби це походить від професора. Професори зазвичай беруть участь лише у виборі аспірантів. Якби я був ти, я ввічливо бився, звертаючись до коледжу і запитуючи їх, що потрібно для того, щоб продемонструвати свої здібності 9і потім здати). Освіта у середній школі фінансується платниками податків, тож я би зайняв ще один рік, як хтось запропонував. Я також розглядав би можливість побувати в коледжі на пару років, як хтось сказав. Питання: чи більше ви цінуєте час чи гроші? удачі вам!
Робота

Відповіді:


27

Я був у тому ж самому становищі, що і ви, і я вибрав ту дорогу, яку ви говорите. У мене була любов до розробки програмного забезпечення, хобі C ++ на основі базового курсу програмування HS та мрій. Зараз я професійний розробник, тому я передам вам свій досвід.

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

Рік 1- Я почав свою "власну справу", яка складалася з підтримки на робочому столі, щоб платити оренду та розвиватися. Розробляючи все, що я міг зробити, для кожного, хто цього захотів, за частку ціни. Озираючись назад, я, ймовірно, робив 20 000 доларів додатків за 1000 доларів. Починати самостійно справді гарно, тому що навіть якщо ви мали досвід знати, що це додаток у розмірі 20 тис. Доларів, у вас немає довіри, щоб його просити. І найгірше, що я не маю уявлення про те, чого я не знаю, і ніяких інших розробників навколо мене. Я створив програми, які були кошмарами технічного обслуговування. Я не мав навичок архітектури та дизайну, тому я в основному робив речі, які підірвались, і підтримали мережу, щоб сплачувати рахунки. Багато Taco Bell, змішаний з "ну, принаймні, я не працюю на людину". У мене є мрії про програми, щоб написати та вийти у світ,

2-й рік - стати трохи кращим розробником, навчившись чого не робити, і спостерігаючи за тим, як речі спалахують мені в обличчя. Ледь заручившись підтримкою настільних ПК, навчанням серверів та створення веб-сайтів. Це повинно бути легше, ніж це працювати для чоловіка, але у мене немає реального портфоліо, так, натисніть на.

3 рік- Почав розбиратися в цьому. Коли я натискаю Файл> Новий проект, у мене виникає розпливчасте уявлення про те, куди я хочу піти і як будувати речі. І все-таки вибираючи неправильні архітектури, веб-сервіси виглядають якось круто, так чому б не побудувати ВСЕ з цим? Потрібен додаток для настільних калькуляторів? Я буду будувати веб-сервіс! Почав підбирати кількох клієнтів, будучи ІТ-хлопцем та деякими програмними проектами. Одне, що я зробив, - це створити сервіс Offsite Backup за допомогою веб-служб, тому моя мрія полягала в тому, щоб стати "Mozy", а всі ще міняли стрічки. Широкосмуговий зв’язок став просто звичним, тому я випереджав криву, і це буде моєю ідеєю на мільйон доларів. Але з сервісом виникли проблеми (через мою відсутність архітектурних навичок),

Рік 4 - Нарешті, замовник вірить у мене в довгостроковому проекті. Мені вдається це зробити, не сильно викручуючи; код не великий, але він працює. Починаючи зациклюватися на рахунках, я приступаю до роботи з кількома іншими розробниками (підробляти, поки ви не зробите це, правда?) І навіть відповідаю на кілька питань експертного обміну. О так.

Рік 5 - Якщо ви до цього часу не помічали, ці сни у 1-му році все ще не написані, тож це починає трохи пригнічувати. У мене є пристойний портфель речей, які я успішно написав, отримав деякий пристойний імпульс та поважну клієнтську базу. Досі насправді не знаю, чого я не знаю, і зламати навіть.

Роки 5 - 8 - я поєднаю їх, оскільки це більше того ж "зробити проект, навчитися трохи на кожному, донести цей досвід до наступного". Сьогодні в середині 8-го року, і лише за останній рік-два я став хорошим розробником. Ці мрії в 1-му році вже багато разів винайшли хтось інший. Якщо ви не здогадалися, я не створив Mozy.

По дорозі у мене були нові мрії та нові ідеї, а деякі були хороші, деякі - жахливі. Зараз у мене є навички змусити їх статися, і деякі з них відбуваються, і це хвилююче. Однак у мене є відчуття, якби я робив справи по-іншому, я міг би трохи скоротити цю подорож.

Я не можу говорити про те, як по-різному коледж змінює цю подорож; Я залишу це іншим на цій темі. Але поради, які я дам:

  1. Вам потрібно працювати з іншими розробниками. Я не усвідомлював, наскільки це важливо. Ви не знаєте, чого не знаєте, поки не подивитеся на чужий код або не отримаєте жахливий огляд коду.
  2. Збійте перед вами основні обов'язки. Якщо ви дійсно хочете вийти самостійно, спробуйте це зробити перед тим, як вийти заміж, мати домашній платіж, дітей і т. Д. Ви зазнаєте невдач і будете невдалі багато разів. Звикайте до цього і цінуйте це як найкращий досвід коли-небудь. Але коли у вашому додатку-вбивці, на який ви щойно витратили весь свій час і гроші, немає жодного клієнта, відновитись набагато простіше, коли це лише ви.
  3. З завантаженням абсолютно нічого поганого. Якщо у вас є навички роботи з мережею, займіться роботою в Центрі мережевих операцій або службі довідки (щось в межах сфери ІТ) та працюйте над тим, щоб стати кращим розробником у неробочий час та у вихідні дні. Створюйте зв’язки з людьми на реальних робочих місцях. Вам вони знадобляться пізніше.
  4. Будьте впевнені на 125%, що ЛЮБИТЬ розробку програмного забезпечення. Пристрасть до програмного забезпечення виникає перед "мільйонерською" частиною, а не навпаки. Якщо у вас немає пристрасті до цього, або ваше серце не починає битися трохи швидше, коли ви потрапляєте у New Project, займіться чимось іншим і збережіть це як хобі.

Я впевнений, що міг би продовжувати, але найсмішніше, що я бачив це питання під час роботи над однією з цих мрій і мав відповісти на це. :) Удачі.


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, а останню я вважаю необов’язковою. Існує ще кілька тем, що висвітлюються в Joel on Software. Я думаю, що це зробить вас дуже сильним розробником - я впевнений, що інші не погоджуються.

  1. Мова програмування на С - Керріган та Річі - більшість інших книг є частиною проблеми, порушеної тут
  2. хороша сценарна книга мовою на ваш вибір (Ruby, Python, PHP) або книга Java
  3. Комп'ютерні системи - перспектива програмістів - ця книга просто продовжує давати та дарувати
  4. Дискретна математика з додатками - Epps (?)
  5. Розширене програмування в середовищі UNIX
  6. Машинне машинне навчання / AI книга, можливо, розпізнавання візерунків та машинне навчання АБО спеціальна мережева книга, така як TCP / IP, проілюстрована vol. 1
  7. Шаблони дизайну або J2EE Шаблони дизайну
  8. Дизайн алгоритму - Кляйнберг
  9. Розуміння ядра Linux - необов'язково

Що таке KR? Це книга?
Омін

2
@Ominus Я вважаю, що він має на увазі "Мова програмування на C" - en.wikipedia.org/wiki/The_C_Programming_Language

@Glenn +1 Дякую! @timpone, коли ви говорите 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, який, в основному, показав усіх в Оклахомі .. і я був репутацією найвищого рейтингу.


0

Чудові, чудові відповіді тут. Я також кину власний досвід.

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

Пішли до коледжу. CS 101 був "Вступ до програмування (Visual Basic)". Став спеціалістом філософії.

Випав із коледжу. Працював у CompUSA, почав займатися позаштатною веб-розробкою.

Працював у кав’ярнях або на роботах із технічної підтримки, постійно кодував ... займався позаштатним та відкритим програмним кодом.

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

Зараз я регулярно отримую пропозиції, кар’єрний шлях виглядає добре, я не хвилююся з приводу цього ступеня. Але я повертаюсь до деяких курсів CS ... Навіть незважаючи на те, що інформатика! = Програмування в реальному світі, ви вивчите алгоритми та (сподіваємось) схеми дизайну, які не дозволять вам робити якісь дурні речі та винаходити колесо. Тож школа не потрібна ... але це допомагає.

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

У всякому разі, удачі. Якщо у вас дійсно є пристрасть до написання хорошого коду, в цьому і полягає ключ. Але коледж є свого роду "залежністю від спадщини" для більшості компаній.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.