İşverenler kendi kendini yetiştiren başvuru sahiplerinde ne arıyor? [kapalı]


23

Ben iş piyasasına girmeyi öğreten kendi kendine öğrenen bir programcıyım. Bilmek istediğim şey, deneyimimi işverenlere göstermenin en iyi yolu nedir?

İşverenler benim programlama deneyimim hakkında ne bilmek istiyorlar? İşverenler yazdığım koda bakmak mı istiyor, yoksa yazılımı çalışırken görmek mi istiyorlar? Yoksa sadece yazılımımın ne kadar kullanıldığını / bunun ne kadar gelir elde ettiğini önemsiyorlar mı? Tasarım ve programlama tarzım hakkında yazmalı mıyım?

Geçmişim: Geçenlerde yabancı dil okuduğum bir üniversiteden mezun oldum ve bu zaman zarfında programlamanın gerçekten yapmak istediğim şey olduğunu öğrendim. Şu anda bir garaj programcısıyım, ticari kullanım için bir müşteri için kendimi öğretmeye devam ederken bir yazılım geliştiriyorum, ancak amacım "uygun" bir iş ve kariyer başlatmak. Ek bir bükülme olarak şu anda Finlandiya'da yaşıyorum, ancak Çin veya Japonya'da iş arıyordum (yurtdışında çalışırken her iki dili de öğrendim).


Bugünlerde programlamanın çoğunun takımlar halinde yapıldığını (sadece yapılması için) ve diğerlerinin beklediği biçimde kod yazabilmenin önemli bir beceri olduğunu unutmayın. Mümkünse basit becerileri öğrenmek için eski üniversitenizde bir veya iki kursu almak isteyebilirsiniz.

2
“temel becerileri öğren” - bu, herhangi bir temel beceriyi bilmediğiniz anlamına gelmiyordu, ancak öğrenecek çok şey olduğunu ve hepsini kendi başınıza öğrendiğiniz kesin değildir.

4
Her CS Major'ın Bilmeleri Gerekenlere bir göz atın . Çalışanlara, Linux / UNIX becerilerine, çeşitli programlama paradigmalarına ve daha pek çok şeye göstermek için gitmiş bir deneyim portföyüne sahip olmanın önemini vurgulamaktadır. Ayrıca Programcı Yeterlilik Matrisi ve Coursera'nın ücretsiz Bilgisayar Bilimi derslerine bakınız.
Anthony

@ AnoPäivinen BTW, bizzat kendi kendini eğiten insanların miktarını küçümsemeyin ve ilk başta sahip olacağınız büyük boşluklar gibi görünebilecek şeylerden caydırmayın. Kendi kendine öğretilen harika insanlarla çalıştım.
MrFox

Yanıtlar:


8

İşverenlerin bunları programcı adaylarının hepsinde aradıklarını söyleyebilirim (bu, başvuruları inceleyen baş geliştirici olarak kendi deneyimlerimden geliyor):

  • Esnek olma ve yeni teknolojileri hızlı bir şekilde öğrenme yeteneği (bu özellikle kendi kendini yetiştiren programcılar için önemlidir)

  • Problemleri iletebilme

  • Algoritmik ve lojistik problemleri çözebilme (analist programcılar için önemli)

  • Yerel işletme standartlarına ve kurallarına uyma, yani. yolunuza sıkışıp kalmayın, çalıştığınız işin adlandırma kurallarına uyduğunuzdan emin olun.

  • Dürüst ve çalışkan.

Birçok durumda, büyük şirketler sizden başvuruda bulunmanızı isteyecektir. Bu alıştırmalar zorluklar içinde olabilir, ancak bir örnek, dolar cinsinden bir miktarı, bu miktar için bir çeke yazılacak olan İngilizce okunabilir bir metin dizisine dönüştüren yeniden kullanılabilir bir modülü kodlamak olabilir. "999,34 $" ila "Dokuz yüz doksan dokuz dolar ve otuz dört sent".

Sadece bu alıştırmalarda bakacakları kodun değil, aynı zamanda onunla birlikte gelen belgelerin de olduğunu not etmek önemlidir. sorunları, varsayımları ve kullanılan algoritmayı açıklayan doco. Ayrıca adlandırma kurallarınıza bakacak (temel olarak tutarlılığı kontrol etme) ve açık kod yorumlamaları için kontrol etme.


9

Bir ipucu

Cidden, adaylarda sadece birkaç şeyi arıyorum:

  1. temel programlama becerisi
  2. programlamaya ilgi
  3. Eğitim ve deneyim ile orantılı anlama
  4. öğrenme kabiliyeti
  5. iyilik

Örnekler: 50 Euler problemini çözen kendi kendini yetiştiren lise mezunu: kolay kiralama. TreeMap ve HashMap arasındaki farkı açıklayamayan 4.0 not ortalaması ile MSCS: işe almayın.


Nezaketle neyi kastettiğinizi açıklayabilir misiniz? Pislik olmama özelliği mi?
Ano Päivinen,

1
@ AnoPäivinen: Diğerlerinin göz önünde bulundurduğu meslektaşların tedavisi ile ilgili çeşitli davranışları kapsar. "Jerk" başkalarını düşünmemekte başarısızlıkla tanımlanır.
kevin cline

Gereksinimlerinize göre sizin için çalışmam gerektiğini söyleyecektim, ama bir ağacın / karma haritanın ne olduğu hakkında hiçbir fikrim yok. Üç yıllık yaşam ve nefes alma yazılımı / web gelişiminin ardından, hiç duymadığım şeyler için yaptığım röportajlara çarpılmaya başladım. Hiçbir şey öğrenmemişim gibi hissettiriyor. Bazen yemin ederim ki hepiniz bunları uyduruyorsunuz. Ya öyle, ya da işe alınana kadar hiçbir şey öğrenmeyeceğim.
Josh Campbell

@Josh: "Algoritmalara Giriş" in bir kopyasını alın. Herhangi bir baskı
kevin cline

1
@ papercuts: Staj başvurusunda bulunuyorsanız, o zaman bence Nuler problemini çözdüğünden bahsetmenin mantıklı olacağını düşünüyorum, burada n> 20. Programlama yeteneğini gösteren bilgiler zarar vermez.
kevin cline

3

Diğerleri, kendi kendine öğretilen adaylarla ilgili doğrudan sorunuza cevap verdiler. Bununla birlikte, kendi kendine öğretilip öğretilmemekten daha önemli olabilecek başka bir husus var. Çalışmayı ve yaşamayı planladığınız ülkelerin kültürlerinden bahsediyorum .

Öncelikle, "Çin veya Japonya'da istihdam" yazmayın . "Finlandiya veya Avustralya" gibi geliyor (alınma). Tamamen farklılar ve seçmek zorundasın.

Ayrıca, başka bir ülkedeki istihdam genellikle bir şirket için daha yüksek vergi anlamına gelir, çeşitli sınırlamalar (örneğin bir yabancıyı işe almak, N yerlisi işe almak zorunda kalır), vb. Bu yüzden, Çin'de işe alınmak için, yaptığınız işte gerçekten iyi olmalısınız .

Aslında, iki en iyi seçeneğiniz var:

  • Geleceğiniz bir ülkede mezun olun. Bu size (a) ulusal standartlarda bilgi verecektir; (b) iş bağlantıları; (c) resmi diploma (düşündüğünüzden daha önemli olabilir). Ayrıca, her yerde olduğu gibi, büyük şirketler en önde gelen öğrencileri bulmak için üniversitelerle bağlantıya geçiyor ve sizler de bu konuda iyi şansınız var.
  • Çin'de şubeleri bulunan çok uluslu bir şirkete başvurun. İnsan Kaynakları ile konuşabilir ve belirli bir süre yerel bir pozisyonda çalışmayı kabul edebilir ve daha sonra aynı şirket içinde hareket edebilirsiniz (daha az evrak). Dil ve kültürel geçmişe sahip olmak sizin için daha kolay olurdu. Ve, harekete geçtiğinizde, şirkette zaten pratik bir BT deneyimine sahip olacaksınız.

Görüşleriniz için teşekkürler! Çin (Şanghay) ve Japonya arasında karar vermem çok garip gelebilir, çok farklılar ama ikisini de gerçekten seviyorum. Ama hangisinin daha iyi olduğuna henüz karar veremiyorum, o yüzden ikisini de hedef alıp ne olacağını görüyorum. Acaba mantıklı mı!
Ano Päivinen,

İkisini de sevebilirsin. Uygulamalarınızın Çin ve Japon iş piyasalarına özel olduğundan emin olun. Belki, farklı cevap mektupları da bu cevapta olduğu gibi yardımcı olabilir .
bytebuster

2

İşverenler benim programlama deneyimim hakkında ne bilmek istiyorlar?

Şef olarak, sende biraz var. Kendini ayakkabılarına koy: eğer birisini işe alıyor olsaydın, bir derleyiciyle ne yapacağını bilemeyen adamı ya da birkaç kez blokta dolaşan adamı ya da problemleri çözmeyi öğrenebilir miydi? çok fazla el tutmadan yapılan faydalı işler?

İşverenler yazdığım koda bakmak mı istiyor, yoksa yazılımı çalışırken görmek mi istiyorlar?

Evet. Gösterecek bazı kodlara sahip olmak yardımcı olabilir. İşe yarayacak bir ürüne sahip olmak ve nasıl çalıştığı, neden bu şekilde yaptığınız vs. Farklı işverenler bu şeylere farklı şekilde değer vereceklerdir, ancak hiçbir şey yapmamaktan başka bir şeye sahip olmak her zaman daha iyidir.

Ek bir bükülme olarak şu anda Finlandiya'da yaşıyorum, ancak Çin veya Japonya'da iş arıyordum (yurtdışında çalışırken her iki dili de öğrendim).

Çin ve Japonya'da sırasıyla Çince ve Japonca konuşan birçok insan var. Muhtemelen İngilizce ve Fince konuşan da pek akıcı değil. Bu gücü kendi avantajınıza kullanın - bu dil becerilerine ihtiyaç duyan şirketleri arayın.


3
“Kendini ayakkabılarının arasına koy: eğer birisini işe alıyor olsaydın, bir derleyiciyle ne yapacağını bilemeyen adamı seçer miydin?” - Birçok şirket için bu tamamen ne kadar ucuz olduklarına bağlı.
pdr

2

Kendi kendine öğreten programcıların, yazılım mühendisliği ve yazılım mimarisi ile ilgili olanlar olduğunu bilmeden sahip olamayacakları en önemli becerileri söyleyeceğim.

Kod yazmaktan daha fazlasını bildiğinizden emin olun, bakımın ne olduğunu ve nasıl başaracağınızı bildiğinizden emin olun; KATI nedir, neden iyi ve ihtiyaç duyulur; tasarım desenleri vb.

Ayrıca, işleminizin kötü kısımlarını düzeltmeyi deneyin. Örneğin: otomatik test ( herkesin yapması gereken bir şey!), Hata izleme, kaynak revizyon kontrolü (ayrıca zorunlu). Bu liste herşeyi içermeyi amaçlamıyor, sadece bir örnek.


2
Normalde CS sınıflarında eksik bulduğum şey bu! Farklı kaplar için O (n) 'yi okuyabilme, ancak bir hata ayıklayıcı kullanmadı.
Martin Beckett

2

İşverenler benim programlama deneyimim hakkında ne bilmek istiyorlar? İşverenler yazdığım koda bakmak mı istiyor, yoksa yazılımı çalışırken görmek mi istiyorlar?

Evet, bunlar en iyi seçeneklerdir. Yeterlilikler, kod yazabilmek için özellikle iyi bir gösterge değildir. Aynı durum önceki işverenler için de geçerlidir - çoğu kişi uygun olmadıkları bir işte kazıyabilir. Ne tür bir kod yazdığınızı ve üretime geçirilen şeyleri yapmanın tarihçesini görmek istiyorum.

Yoksa sadece yazılımımın ne kadar kullanıldığını / bunun ne kadar gelir elde ettiğini önemsiyorlar mı?

Bu sizin sorumluluk alanınızın dışında, bir proje yöneticisi rolü veya daha üste gitmediğiniz sürece o şeyleri umursamıyorum.

Tasarım ve programlama tarzım hakkında yazmalı mıyım?

Çok fazla değil, ama kod örneklerinizle ilgilendiğiniz alanları gösteren madde işaretleri yararlı olabilir.


Tamam, yazılımımın müşterinin elindeki gibi nasıl sonuçlanacağına daha az bakacağım ve iyi yazmaya karar verdim.
Ano Päivinen,

2

Kendi kendine öğrenme becerileri

Evet, kendi kendine öğrenme, gurur duymanız ve gururla sunmanız gereken en üst düzey rekabet becerinizdir . Ek olarak, programlama tutkunuzu ve kendini geliştirme arzunuzu göstermelisiniz.

İşverenler benim programlama deneyimim hakkında ne bilmek istiyorlar? İşverenler yazdığım koda bakmak mı istiyor, yoksa yazılımı çalışırken görmek mi istiyorlar?

Başarılarınızı ve analitik olarak akıl yürütme becerilerinizi görmek istiyorlar. Görmek istiyorlar - projede ne yarar sağladığını, bir takımda çalışıyorsan, bir projeyi yürütmede oynadığın rolleri oyna. Sorunları nasıl giderir ve teknik sorunların üstesinden nasıl gelirsiniz? Kolejlerle nasıl çalıştınız, iş baskısını nasıl idare ettiniz?

İşverenler için çok önemli olabilecek diğer bazı noktalar:

  1. İyi tutum
  2. Programlama tutkusu
  3. Bilgisayar deneyimi - bilgisayar ve yazılımın çalışma şeklinin temellerini anladığınızı görmek için
  4. İş ahlakı ve yumuşak beceriler
  5. Öğrenme ve kendini geliştirme yeteneği
  6. Eğitim tarihi
  7. Önceki iş tecrübesi
  8. Önyargılı kavramların eksikliği
  9. Soru sorma yeteneği - Evet, varsayımlarda bulunmak yerine sorular sorun.

1

Diğer cevaplara ek olarak - kendinize öğretirken öğrendiğiniz araçları listeleyin.

Windows not defterinde Java kodu yazmakta ve komut satırı derleyicisini kullanmakta ısrar eden büyük ad derecelerine sahip büyük okullardan mezun oldum ('bu şekilde daha iyi' - bir sınıf programı için). Çoğu işyerinde IDE'ler ve diğer programlama araçları kullanılır. Ve onlara Eclipse'i nasıl kullanacaklarını öğretmek, onlara SVN öğretmeye çalışmaktan daha kolaydı.

Bir veya daha fazla IDE ortamı veya (daha da önemlisi) bir veya daha fazla kod deposu aracı listeleyerek, bir ekiple çalışmaya hazır olduğunuzu göstereceksiniz.

Cevap B: Eğer oraya gidebilirseniz, Hannover'deki CEBIT fuarını deneyin. Standımızı ziyaret eden insanları ülkemizde iş sormak için kullanıyorduk. Size yardım edebilecek doğru kişiyle tanışmanız olasılığı düşüktür. Ya da onlara yardım etmek için yerel / Avrupalı ​​bir kişiye ihtiyaçları olup olmadığını sorun.


Farklı IDE öğrenmede iyi nokta. Şimdiye kadarki tutumum "vayev, gerektiğinde öğreneceğim" oldu.
Ano Päivinen,

1
IDE'ler hakkındaki noktanızı anlıyorum, ancak herhangi bir gün bir BlueJ geliştiricisi üzerinden Java komutunu yalnızca komut satırı kullanan biriyle alırım!
Michael K

0

Kalite kodunuzun yazılı olduğunu gösterdikten sonra, programlamayı nasıl ve nerede öğrendiğiniz daha az önemlidir. Tüm uygulamayı siz yaptınız, bu yüzden tasarımı, karşılaştığınız sorunları ve neden bu çözümleri seçtiğinizi açıklayabilmelisiniz.

Başvurunuz iyi bilinmiyorsa özgeçmişinizde daha fazla açıklama yapmanız ve mektuplarınızı yazmanız gerekir. Çok fazla sayıda kullanıcıya sahip olmak bir avantajdır, çünkü ölçekle başa çıkabileceğinizi gösterir, elde edilen geliri herhangi bir avantaj eklemek zor olacaktır. Birisi beyin cerrahlarına yardım etmek için burçlar kullanarak bir uygulama oluşturmak için bir programcı işe alabilir. Bu işe yaramaz üründen programcıyı sorumlu tutacağımdan emin değilim. Belki bir girişim, bir ürün anlamında olan bir ürünü tercih eder, ancak faturalarınızı ödemeniz gerekeceği için size karşı tutamazlar.


0

Bilmek istediğim şey, deneyimimi işverenlere göstermenin en iyi yolu nedir?

Dereceler mevcut değilse, bilinen sertifikalar bir artıdır. Bazı sertifikalar kurs gerektirmez, yalnızca sınava girebilirsiniz.

İşverenler benim programlama deneyimim hakkında ne bilmek istiyorlar?

Programlama deneyiminiz projelerden oluşur. CV'nizde yeteneklerinizi yazarsınız. Röportajda, üzerinde çalışmış olduğunuz projeler hakkında sorular sorulacak. Daha sonra ne yaptığınız, hangi problemlerle karşılaştığınız, bulduğunuz çözümlerden vb.

İşverenler yazdığım koda bakmak mı istiyor, yoksa yazılımı çalışırken görmek mi istiyorlar?

Olabilir. Şahsen ben kod görmek isteyen işverenleri duymadım (teknik görüşme sırasında yazdığınız kodun yanı sıra, bir test olarak). Bir web tasarımcısı veya bir kullanıcı arayüzü tasarımcısıysanız, çoğu durumda, yaptığınız veya tasarladığınız bazı web sitelerini görmek isteyeceklerdir.

Yoksa sadece yazılımımın ne kadar kullanıldığını / bunun ne kadar gelir elde ettiğini önemsiyorlar mı? Tasarım ve programlama tarzım hakkında yazmalı mıyım?

İşverenlerin çoğu, akıcı olarak kodladığınız programlama dilleri, sahip olduğunuz bilgiler ve edindiğiniz becerilerle ilgilenecektir. Yazılımın ne kadar kullanıldığı ve yarattığı gelir, programlama malzemesi değil, pazarlama malzemesidir. Çoğu şirket kendi tasarım ve programlama stiline sahiptir. Bir çalışanın, kullandıklarına bağlı olarak Çevik, Scrum, Aşırı gibi teknikleri bilmesini beklerlerdi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.