it-swarm.asia

Üniversiteye gitmeden profesyonel bir programcı olmak mı?

Kısa bir süre önce yabancı bir ülkede bir yıl lise geçirdiğim gerekçesiyle beni daha önce kabul etmiş bir kolejden reddedildim ve kolej başka bir ülkede alınan eğitimi tanımakla ilgilenmiyordu. Bu nedenle çok cömert bir burs kurudu ve bir eğitimi finanse etmek şüpheli. Ayrıca, bariz yabancı düşmanlığı olarak düşündüğümü gösteren bir sistemin parçası olmaktan da çekiniyorum.

Yapmak istediğim şey "Vidalı kolej" demek, kendi başıma grev yapmak ve inanılmaz bir şey yapmak, herkesi vahşileştirmek ve kendi kendine yapılan bir milyoner olmak. Durumun gerçekliği, liseden iki hafta uzak olduğumdur, kendi kendine öğretilen deneyime değecek bir Programlamaya Giriş dersine eşdeğerim var (öğrenmeye ve gelişmeye yönlendirilmeme rağmen), yine de ödemem gerekiyor ve herhangi bir işverenin beni ciddiye almakta zorlanacağı konusunda sinsi bir şüphem var.

Anladığım kadarıyla, bir derece olmadan yapabileceğiniz oldukça popüler bir inanç, ama benim gibi biri bunu nasıl yapıyor? Onların ofisine girip "Resmi bir eğitimim ve minimum becerilerim yok, ama çalışmak istiyorum ve öğrenmek istiyorum. Lütfen bana bir iş ver" dersem beni ciddiye alır mıydı?

16
Kenis Regan

Seninle aynı pozisyondaydım ve bahsettiğin 'vidalı kolej' yolunu seçtim. Yazılım geliştirme sevgisi, temel HS programlama kursunun üstünde bir C++ hobisi ve hayallerim vardı. Şimdi profesyonel bir geliştiriciyim, bu yüzden size deneyimimi sunacağım.

1 yıl üniversiteye gittikten sonra (teknik tiyatro için tam burs aldım), yazılımı setten çok daha fazla sevdiğimi fark ettim.

1. Yıl - Kira ödemek ve gelişmek için masaüstü desteğinden oluşan 'kendi şeyimi' başlattım. Yapabileceğim her şeyi, isteyen herhangi biri için, fiyatın bir kısmında geliştiririz. Geriye dönüp baktığımda muhtemelen 1.000 dolar için 20.000 dolarlık başvurular yapıyordum. Kendi başınıza başlamak gerçekten berbat çünkü 20K $ 'lık bir uygulama olduğunu bilme deneyimine sahip olsanız bile, bunu isteyecek güvenilirliğiniz yok. Ve en kötüsü, bilmediğim hiçbir fikrim yok ve etrafımdaki başka geliştirici yok. Bakım kabusları olan uygulamalar yarattım. Mimari veya tasarım desenleri konusunda hiçbir yeteneğim yoktu, bu yüzden temelde havaya uçan şeyler yaptım ve faturaları ödemek için ağ desteği yaptım. Birçok Taco Bell, "en azından adam için çalışmıyorum" ile karıştırıldı. Yazmak ve dünyaya çıkmak için bazı uygulama hayallerim var, ama bunun faturalardan sonra gelmesi gerekiyor, değil mi?

Yıl 2 - Ne yapmamayı öğrenerek ve yüzümde bir şeyler patladığını izleyerek biraz daha iyi geliştirici olmak. Masaüstü desteği, sunucuları öğrenme ve web siteleri oluşturma konusunda zorlukla geçin. Adam için bu çalışmadan daha kolay olmalı, ama gerçek bir portföyüm yok, bu yüzden basın.

. Yıl - Bunun asılmaya başlaması. Dosya> Yeni Proje'ye bastığımda, nereye gitmek istediğim ve bir şeyler nasıl inşa edeceğim konusunda belirsiz bir fikrim var. Hala yanlış mimarileri seçerken, web hizmetleri biraz havalı görünüyor, neden bunlarla HER ŞEY inşa etmiyorsunuz? Hesap makinesi masaüstü uygulamasına mı ihtiyacınız var? Bir web hizmeti yapacağım! Birkaç müşteri almaya başlayarak BT uzmanı ve yol boyunca bazı yazılım projeleri olmaya başladı. Yaptığım bir şey Web Hizmetlerini kullanarak bir Offsite Yedekleme hizmeti oluşturmaktı, bu yüzden hayalim herkes hala bant değiştirirken 'Mozy' olmaktı. Geniş bant sadece sıradanlaşıyordu, bu yüzden eğrinin önündeydim ve bu benim milyon dolarlık fikrim olacaktı. Ancak hizmet (mimari beceri eksikliği nedeniyle) sorunları vardı, ben sanayi hiç bağlantıları vardı bu yüzden hiç kayıt duydum çift istemciler dışında hiç duymadım.

4. Yıl - Son olarak, müşteri uzun vadeli bir proje için bana inanıyor. Kötü vidalamadan yapmayı başardım; kod harika değil ama çalışıyor. Faturalara yakalanmaya başlayarak, birkaç geliştirici ile çalışıyorum (bunu yapana kadar sahte, değil mi?) Ve hatta birkaç Uzman Değişim sorusunu cevaplıyorum. Ah evet.

5. Yıl - Şimdiye kadar fark etmemiş olsaydınız, 1. Yıl'daki bu rüyalar hala yazılmamıştır, bu yüzden biraz iç karartıcı olmaya başlar. Başarılı bir şekilde yazdığım, iyi bir ivme ve saygın bir müşteri tabanına sahip olduğum iyi bir portföyüm var. Ne bilmediğimi hala bilmiyorum ve hatta kırıyorum.

Yıl 5 - 8 - Bunları birleştireceğim çünkü daha çok aynı şey "bir proje yapın, her biri hakkında biraz bilgi edinin, bu deneyimi bir sonrakine getirin". Bugün 8. yılın ortasında ve sadece son bir veya iki yılda iyi bir geliştirici oldum. Yıl 1'deki bu rüyalar zaten başkası tarafından birçok kez icat edilmiştir. Tahmin etmemeniz durumunda Mozy'yi ben yaratmadım.

Yol boyunca yeni hayallerim ve yeni fikirlerim vardı ve bazıları iyi, bazıları korkunçtu. Şimdi onları gerçekleştirme becerilerine sahibim ve bazıları oluyor ve heyecan verici. Ancak, işleri farklı yapsaydım bu yolculuğu biraz kısaltabilirdim.

Üniversitenin bu yolculuğu ne kadar farklı değiştirdiğiyle konuşamam; Bunu bu konu üzerinde başkalarına bırakacağım. Ama vereceğim tavsiyeler:

  1. Diğer geliştiricilerle çalışmanız gerekiyor. Bunun ne kadar önemli olduğunun farkında değildim. Başka birinin koduna bakana veya korkunç bir kod incelemesi alana kadar bilmediğinizi bilmiyorsunuz.
  2. Büyük sorumluluklarınız olmadan başarısız olun. Gerçekten kendi başınıza dışarı çıkmak istiyorsanız, evlenmeden, ev ödemeniz, çocuklarınız vb. Olmadan önce bunu yapmaya çalışın. Başarısız olacaksınız ve başarısız olacaksınız bir cok zaman. Alışın ve şimdiye kadarki en iyi deneyim olduğu için değer verin. Ancak, tüm zamanınızı ve paranızı harcadığınız katil uygulamanızın tek bir müşterisi olmadığında, sadece siz olduğunuzda kurtarmak çok daha kolaydır.
  3. Önyükleme ile ilgili kesinlikle yanlış bir şey yoktur. Ağ becerileriniz varsa, bir Ağ Operasyon Merkezi'nde veya yardım masasında (BT alanında bir şey) çalışın ve daha iyi bir geliştirici olmaya çalışın -saat ve hafta sonları. Gerçek işlerde çalışanlarla bağlantı kurun. Onlara daha sonra ihtiyacınız olacak.
  4. Yazılım geliştirmeyi SEVDİĞİNİZDEN% 125 emin olun. Yazılım tutkusu 'milyoner' kısmından önce gelir, tersi değil. Bunun için bir tutkunuz yoksa veya Yeni Proje'ye bastığınızda kalbiniz biraz daha hızlı atmaya başlamıyorsa, başka bir şey yapın ve bunu bir hobi olarak saklayın.

Eminim devam edebilirim, ama komik olan şu ki bu soruyu bu rüyalardan birinde çalışırken gördüm ve buna cevap vermek zorunda kaldım. :) İyi şanslar.

27
Brandon

Şüphesiz, üniversiteye gidin.

Şahsen, üniversite olmadan yaptım (milyoner olduğumu söylemiyorum, ama çalışmayı sevdiğim bir şirkette iyi bir işim var), ancak zor yol. Başlangıçta, her şey eğrisinin arkasındasınız. Matematik, algoritmalar, işletim sistemleri, örgün bir eğitim sırasında aldığınız her şey (ve bazıları, yani Matematik, çok, matematik gibi şeylere erişim olsa bile, öğrenmeniz zor. SE).

Liseden yeni geldiğinizde, bir QA bölümüne girebilir ve yapabileceğiniz her şeye dalmaya başlayabilirsiniz. KG'den geliştiriciye veya mühendise giden yol, kaba bir yol olabilir, ancak KG'den dev bir yola girmeye çalışan insanlar hakkında yapılan (bazen fakir) bir genelleme vardır.

Bir derece olmadan gitmek is yapılabilir, ancak muazzam zor ve saf beceri kadar şans ve ağ alır.

Ne yaptığımı sevsem ve kişisel başarılarımla gurur duysam da, asla bunu kimse yeteneğine sahip ve iyi durumda olanlara tavsiye ederim bir derece programından geçmek.

16
Demian Brecht

Mevcut özgeçmişinizle, değil geliştirici olarak bir iş alacaksınız, bu yüzden bile rahatsız etmeyin.

Eğer üniversiteye gidemezseniz ya da gitmezseniz, kendi başınıza biraz tecrübe edinmelisiniz. Bunu yapmanın zor bir yolu, ama yapılabilir. Mobil uygulamalar, başlamak için iyi bir yoldur, çünkü ürününüzü gerçek kullanıcıların önüne kolayca koyabilirsiniz. Açık kaynaklı projelere katkıda bulunmak başka bir seçenek olabilir. Ya da sadece kendi kullanımınız için bir şeyler yazın. İlk başta, bundan hiç para kazanmayacaksınız, en azından geçimini sağlamak için yeterli değil - bu yüzden muhtemelen düzenli bir işe ihtiyacınız olacak. Biraz ucuz eğitim alma fırsatlarına dikkat edin; bazı kolejler normal derslerin bir kısmı için kredisiz ders almanıza izin verir.

Bunu birkaç yıl boyunca yapın ve sonra özgeçmiş göndermeye başlayabilirsiniz. Hala bu boku bir yaşam için yapmak istediğinizi varsayarsak.

İyi şanslar.

4
Mike Baranczak

Hmm ... bu zor. Bence bu bir insan olarak sizin doğanıza bağlı.

Yaklaşık 6 veya 8 kitaptaki içeriği gerçekten biliyor olsaydınız, çok sağlam bir geliştirici olursunuz (çoğu CS programı tarafından üretilenin yıllarca ötesinde - ciddi olarak). Temel bilgileri ciddiye alın; çok ciddi - bir din gibi ciddi (KR sizin İncil olabilir).

Küçük projeler yapma fikri iyidir. Her zaman kendinizi geliştirmeye çalışın - birkaç ekosistem seçin ve iyi öğrenin (1 - mysql ve 2 ile linux üzerinde ROR veya Django deyin. İOS/Objective C; 2.5. - jQuery/HTML).

düzenlemek --- kafamın üst kapalı, ben aşağıdaki listeyi öneririm (~ bu sırayla); Ben 9 var ama bir matematik kitabı, bir komut dosyası/Java kitap ve son isteğe bağlı olarak düşünün. Bunun dışında Joel üzerinde ele alınacak birkaç konu var Sanırım bu sizi çok güçlü bir geliştirici yapar - eminim başkaları aynı fikirde değil.

  1. C Programlama Dili - Kerrigan ve Ritchie - diğer kitapların çoğu burada gündeme getirilen konulardan çıkıyor.
  2. seçtiğiniz dilde iyi bir komut dosyası kitabı (Ruby, Python, PHP) veya Java kitap
  3. Bilgisayar Sistemleri - Bir Programcı Perspektifi - bu kitap sadece vermeye ve vermeye devam ediyor
  4. Uygulamalarla Ayrık Matematik - Epps (?)
  5. UNIX Ortamında İleri Programlama
  6. Bir makine öğrenimi/AI kitabı belki Desen Tanıma ve Makine Öğrenimi OR TCP/IP gibi özel bir ağ kitabı resimli cilt # 1
  7. Tasarım Desenleri veya J2EE Tasarım Desenleri
  8. Algoritma Tasarımı - Kleinberg
  9. Linux Çekirdeğini Anlama - isteğe bağlı
3
timpone

O vida kolej geliştiricilerinden biri olarak başladım. Bugünlerde geliştirici olarak iyi ve iyi ücretli bir çalışmam olmasına rağmen üniversiteyi bitiriyorum.

Bilgisayar programlama ile ilk olarak 9 yaşındayken başladım. 90'larda arkadaşlar için bazı para yaratma web siteleri yaptım ve bu bana ilk web ile ilk elden deneyim verdi (javascript ile oynadım, CSS geldiğinde oldukça kafam karıştı, vb.).

Bir gençken bilgisayar programlamayı derinlemesine öğrenmenin zamanının geldiğine karar verdim, bu yüzden her programcının bilmesi gereken konularda internette arama yaptım ve sonra sahip olduğum her şeyi kitaplara harcadım. Ayrık Matematik üzerine bir kitap, bir OS kitabı ve UNIX ortamlarında C programlama üzerine bir kitap satın aldım.

Daha sonra C++ ile nesne yönelimli programlamayı öğrenmeye başladım ve Python ve Java yol boyunca aldım) t iyi ödeme ama yakında çok daha iyi bir iş için bu işi terk ediyorum.

Üniversiteye geldiğimde kendimi gerçekten sinirli buldum. Analiz, İstatistik ve Biçimsel Diller gibi sınıflar dışında; Kursta ve üniversiteyi dengelemede tüm konuları zaten biliyordum ve işim her geçen gün daha da zorlaşıyordu.

Üniversite beni o kadar sinirlendirdi ki, okulu bıraktım ve ihtiyacım olan her şeyi öğrenmeye karar verdim. Böylece, daha fazla kitap satın aldım, açık kaynaklı projelere katıldım ve iş değiştirmeye devam ettim, böylece kendimi yeni şeyler öğrenmeye zorlayacağım.

Geçen yıl, üniversiteye geri dönmeye karar verdim (yine de beni sinirlendiriyor). Üniversiteyi bitirmeye karar vermemin sebebi, şimdi fırsat bulmam ve üniversiteye gitmekten pişman olmak istemememdi.

Yani, evet, bir derece olmadan bir yazılım geliştiricisi olarak çalışabilirsiniz, ancak çok yeni çalışmanız, hala acemi olduğunuzda berbat işler almanız ve her potansiyel işverene bilgi, deneyim ve gerçekten akıllı olduğunuzu göstermeniz gerekir ( sonuçta onu CS derecesine sahip diğer adamı değil, sizi işe almaya ikna etmeniz gerekir). Sadece veri yapılarını, algoritmaları ve algoritma analizini, tasarım modellerini ve bazı işletim sistemi kavramlarını anladığınızdan emin olun.

Size son tavsiyem: Ödeyebiliyorsanız, üniversiteye gitmelisiniz. Güven bana, hala liseden yeni çıkarken çok daha kolay olacak ve faturaları ödemek konusunda endişelenmenize gerek yok. Üniversiteye gitmeden bir geliştirici olmak, sadece gerçekten erken başladıysanız işe yarar. Dereceniz varsa ancak henüz iyi kodlayamazsanız insanlar sizi işe alacaktır, şimdi, dereceniz yoksa ve hala iyi kodlayamazsanız işe alınmayacaksınız.

2
Raphael

Üniversiteye girebiliyorsanız, bu sizin için daha kolay olacaktır, ancak gerekli değildir.

Anahtar, işaret edebilir ve "Bunu ben yaptım" diyebileceğiniz şeyler var. Bunu yapmanın tek yolu, kendinizi en alttan çalışmaktır. "Sadece bir programcıya ihtiyaç duyanlar" için garip işler yaparak işe başlayın. Belki eLance gibi yerlere göz atın.

Ayrıca kendi yazılımınızı yazıp satabilirsiniz. Henüz pazarda iyi bir çözümü olmayan bazı problemleri seçin ve bu problemi çözen bir program yazın. Sen satabileceksin. O zaman güvenilirliğiniz olacak. Dürüst olmak gerekirse, muhtemelen ilk gerçek projenizse berbat bir iş yapacaksınız, ancak bir ton öğreneceksiniz ve eğer faydalıysa yine de kopya satacaksınız. Kodun güzel olması gerekmez. Kullanıcılar yalnızca kullanıcı arayüzünü görür.

Deneyim anahtardır. Neyse ki programlama, gitmek için herhangi bir ek yüke ihtiyaç duymadığınız mesleklerden biridir. Önünüzde gerçekten uzun bir öğrenme eğrisi olduğunu anlayın.

1
Scott Whitlock

Yaklaşık 2 yıldır liseden ayrıldım. Zaten programlama konusunda bir işim var ve sadece 20 ila 24 saat üniversite aldım. İlk iki dönemden sonra bunu yapacak kadar param ya da vaktim yoktu.

Programlama işimi nasıl aldım? Şans, temelde. Ancak neyse ki fark edilme şansınızı artırabilirsiniz. Fark etmemin nedeni, yaptığım ve arkadaşlarıma gösterdiğim bazı küçük yan programlar yüzünden oldu .. Bu ve ben "Bilgisayar Adamı" olarak biliniyordu ve daha fazla öğretmenle bilgisayarlarını gerçek teknik destek adamından daha fazla nasıl düzeltebileceğimi sordum. Arkadaşımın babasından birinin küçük bir yazılım şirketi vardı ...

Sana vereceğim tavsiye, bir şeyler yapmayı bırakmamak. Öğren ve Yap. Herkesin istediği herhangi bir projeyi yapın. Sizin için ilginç olan herhangi bir şey, ya da birinin size bir kuruş bile ödeyeceği herhangi bir şey. Açık kaynaklı projelere de katkıda bulunun. Team-ish ortamı iyidir.

Ayrıca StackOverflow gibi bir web sitesinde tanının. Temel olarak Oklahoma'da herkesi gösteren StackOverflow'daki Stack Exchange sorgusundan ikinci iş teklifimi aldım .. ve itibardaki en üst sıralarda yer alan kişi oldum.

0
Earlz

Harika, harika cevaplar burada. Ben de kendi tecrübemi atacağım.

Yaklaşık 5 veya 6 yaşımdan beri bir şekilde programlıyorum (TI BASIC, kimse?) 1995'te Linux'a girdim ve kendime C ve Perl öğretmeye başladım. Lisede hiçbir zaman bir programlama dersi almadım, çünkü bu noktada Visual Basic ve Visual C++ öğretiyorlardı ve ben de ilgimi çekmiyordu.

Üniversiteye gitti. CS 101 "Programlamaya Giriş (Visual Basic)" idi. Bir felsefe uzmanı oldu.

Üniversiteden ayrıldı. CompUSA'da çalıştı, serbest web geliştirme yapmaya başladı.

Kafelerde veya teknik destek türü işlerde çalıştı, kodlamayı kendi başıma tuttu ... serbest ve açık kaynak programlama yapıyor.

İlk "gerçek" kodlama işim (başlığında "programcı" ile) kayırmacılıktan geldi. Bir arkadaş bir pozisyondan ayrılıyordu ve onun yerini almasını istediler.

Şimdi düzenli olarak teklif alıyorum, kariyer yolum iyi görünüyor, bu derece için endişelenmiyorum. Ama o CS kurslarının bazılarına geri döneceğim ... Bilgisayar bilimi! = Gerçek dünya programlama olsa da, aptalca şeyler yapmanıza ve tekerleği yeniden keşfetmenize engel olacak algoritmaları ve (umarım) tasarım modellerini öğreneceksiniz. Yani okul gerekli değil ... ama yardımcı oluyor.

Temel olarak, bir devlet okuluna, hatta bir devlet okuluna gitmek zorunda kalsanız bile, gidebildiğiniz kadar çok şey öğrenmeniz gerektiğini söyleyebilirim. Boş zamanlarınızda açık kaynaklı projelere saldırmaya devam edin (GitHub dedikleri gibi yeni özgeçmiştir) ve daha çekici bir şey gelirse ... bitirmeniz gerekmez. Özgeçmişinize kredi notu ve not ortalaması koymak için mezun olmanıza gerek yok FWIW.

Her neyse, iyi şanslar. Gerçekten iyi kod yazma tutkunuz varsa, bu anahtardır. Ancak kolej, çoğu şirket için bir tür 'eski sistem bağımlılığı'dır.

0
Jason Lewis

İşverenler iki şeyden (veya her ikisinden) en az birini ister: Eğitim veya Pratik Deneyim. Genellikle bir eğitim almak, nihayet pratik deneyim kazanmaya başlayacağınız sisteme girmenin en kolay yollarından biridir. Bir eğitim almak, bir işverene, zor olan bir şeye bağlı kalacağınızı (ve bazen işe yaramayabilecek ve zaman kaybı olarak görünebilecek) söylüyor. Bu onlar için önemlidir, çünkü ne kadar hoşlanırsanız çalışın, iş her zaman kolay veya eğlenceli olmayacaktır. Oraya yapışacağınızı bilmek istiyorlar.

Bununla birlikte, ana hatlarıyla belirlediğiniz rotayı deneyecek olursanız, bazı pratik deneyimler edinmeniz gerekir. Şahsen start up'lara bakmanızı tavsiye ederim (genellikle çok az veya hiç deneyimi olmayan biri için risk alma olasılığı daha yüksektir). Dikkate alınması gereken başka bir şey, herhangi bir tür iş bulmak (faturaları ödemek), sonra özgeçmiş olarak kullanabileceğiniz bir tür projeler geliştirmek için zaman harcamaktır. Küçük bir proje cephaneliğiniz olduğunda, işverenlere yaklaşmak ve "İşte yapabileceğim şey ..." demek için çok daha iyi bir konumda olacaksınız.

Benim kişisel tavsiyem okula gitmek. Hangisinin ve yaygın olarak mevcut olan ve kullanılmayan hibeler ve burslarla bir eğitimi finanse etmenin birçok yolu vardır. Sonunda bitirip bir derece alırsanız, okula devam ettiğiniz için çok minnettar olacaksınız.

0
Kenneth