Yani İşimi İstiyorsun: Uygulama Geliştirici

{h1}

Bir kez daha bizim Yani işimi istiyorsun Arzu edilen işlerde çalışan erkeklerle röportaj yaptığımız ve işlerinin gerçekliğini sorduğumuz ve erkeklerin hayallerini nasıl yaşayabileceklerine dair tavsiyeler aldığımız dizi.


Pek çok bilgisayar ve yazılımla ilgili konser, gerçek bir farklılaşma olmaksızın aynı kariyer paketinde toplanıyor. Ancak gerçek şu ki, programlama, geliştirme, bilgisayar güvenliği vb. İçeren bir dizi meslek var. Geçen yıl, BT uzmanı olmanın artıları ve eksileri. Bugün, uygulama geliştiricilerinin dünyasına bakıyoruz. Bize ne yaptığına ve diğer programlama kariyerlerinden ne kadar farklı olduğuna bir göz atan Jason Butz ile konuştuk.

1. Bize biraz kendinizden bahsedin (Nerelisiniz? Kaç yaşındasınız? İşinizi ve bu işte ne kadar süredir çalıştığınızı vb. Anlatın).


Indianapolis, Indiana'da doğdum ve büyüdüm. 26 yaşındayım ama hızla 27'ye yaklaşıyorum. Ben bir Uygulama Geliştiricisiyim ve bu, web uygulamaları geliştiriyorum demenin havalı bir yolu. Yaklaşık 2 yıldır mevcut işverenimle birlikteyim, ancak yaklaşık 5 yıldır web uygulamaları üzerinde profesyonel olarak çalışıyorum. 15 yılı aşkın süredir boş zamanlarımda web siteleri ve web teknolojisi ile oynuyorum.

2. Neden uygulama programlama / geliştirmeye girmek istediniz? Her zaman yapmak istediğini bildiğin bir şey miydi?


Büyürken bir veteriner ya da hayvanat bahçesi bakıcısı olmak istedim, bu yüzden başlangıçta istediğim tam olarak bu değildi. Ortaokulda, web siteleri oluşturmayı öğrendiğim bir yaz zenginleştirme dersi aldım. Hâlâ 90'lı yıllardı ve web siteleri iyi görünmüyordu ama ben bağımlıydım. Lisede alabileceğim her bilgisayar dersini aldım ve evde kendi zamanımda web geliştirme hakkında daha çok şey öğreniyordum. Programlamadan bilgisayar inşa etmeye ve tamir etmeye kadar her konuda dersler alıyordum. Aslında birkaç sertifika alabildim. Ne yapmak istediğimden tam olarak emin değildim ama bunun bilgisayarlarla başa çıkacağını biliyordum. Üniversite araştırmamı başlattıktan sonra Bilgisayar Bilimleri derecesine girdim ve üniversitede web uygulamalarında iyi olduğumu ve onları oluşturmayı sevdiğimi anladım.



3. Bir uygulama geliştiricisinin ne yaptığını bizim için tanımlayabilir misiniz? Diğer çeşitli teknoloji kariyerleriyle bir araya gelme eğilimindedir. Özel rolünüzü tanımlayan nedir?


Şirketlerin kullandığı unvanlarla işler çok bulanıklaşıyor. Örneğin, çalıştığım şirkette, bir Uygulama Geliştiricisi, tek gerçek farkın mevcut maaş ölçeği olduğu bir Yazılım Mühendisine terfi alabilir. Aynı şeyi yaptığım bir önceki işim vardı, ancak unvanım Geliştirici / Analistti. Eminim onlardan daha fazla başlık kullanılmış, ama hepsini bilmiyorum. Yazılım Mühendisi unvanının mutlaka web uygulamalarıyla çalışmayan, ancak sadece bir çeşit programlama yapan işler için kullanıldığını hesaba katarsanız daha da karmaşık hale gelir.

Benim durumumda, bir Uygulama Geliştiricisi web uygulamaları oluşturur ve bakımını yapar. Bulunduğum bölümde oluşturduğumuz ve bakımını yaptığımız 3-4 birincil dahili web uygulamamız var. Başka bir departmanda, Uygulama Geliştiriciler, müşterilerin satın aldığı ürün ve hizmetleri genişletmek için özel web uygulamaları oluşturur.


Örneğin, dahili uygulamalarımızdan biri, süreçlerimiz ve ihtiyaçlarımız etrafında oluşturulmuş bir proje yönetimi paketidir. Ekibimdeki geliştiricilerden birkaçı, Gantt şeması özelliğimizde büyük bir revizyonu yeni tamamladı. Tamamen sistemimizdeki bilgilerle oluşturulması gereken karmaşık bir mali raporu anlayarak ve oluşturarak yoluma devam ediyorum. Hepimiz aynı araçlar üzerinde çalışıyoruz, ancak aslında yaptığımız şey çok çeşitli olabilir.

4. Nasıl uygulama geliştirici olursunuz? Üniversite diplomasına ihtiyacınız var mı? Sertifika gerekli mi? Üniversiteye gidersen, ne okumalısın?


Bir üniversite diploması gerekli değildir, ancak bir pozisyonunuz olmadığı sürece sizi bir pozisyon olarak düşünmeyecek birçok şirket vardır. Bir derece olmadan, oluşturduğunuz iyi bir iş ve proje portföyüne sahip olmanız gerekecektir. Popüler açık kaynak projelerine iyi katkılar yaptıysanız, bu özellikle yararlı olacaktır (elbette, iyi bir portföy, üniversite diplomasına sahip olsa bile yardımcı olacaktır).

Herhangi bir tür web geliştirme yapmak istiyorsanız bildiğim kadar çok sertifika yok, ancak bazılarının var olduğundan eminim. Sertifikalar, herhangi bir teknoloji işi için yararlı olabilir, ancak işverenler, çok sayıda sertifikaya sahip olan ancak onları destekleyecek gerçek deneyime sahip olmayan potansiyel çalışanlara karşı daha temkinli davranıyor gibi görünüyor. İnsanların sertifika sınavlarına girip geçmeleri duyulmamış bir şey değil, ancak yine de bilgileri gerçekten anlamıyor.


Üniversite diploması almak için izleyebileceğiniz birkaç yol vardır. Bilgisayar Bilimi (CS) rotasına gittim. Ekibimde Bilgi Bilimi (IS) veya Bilgisayar ve Bilgi Bilimi (CIS) derecelerine sahip bazı insanlar var. Bilgisayar Grafiği diplomasına sahip bir kişiyle bile çalıştım. CS dereceleri IS veya BDT'den daha fazla bilgisayar teorisine sahip olma eğilimindedir. Sanırım bazı kolejlerin işe yarayabilecek Web Geliştirme dereceleri sunduğunu da gördüm. Bu gerçekten bireysel derece programının ne öğrettiğine ve tam olarak ne yapmak istediğinize bağlıdır.

5. Uygulama geliştirici olarak çalışmayı nasıl buluyorsunuz? Sahada farklı iş türleri var mı? İş piyasası nasıl?

Bir uygulama geliştiricisi olarak iş bulmakta gerçekten zorlandığım en iyi yol, bir stajyerlik ile başlamaktır. Üniversitem onlara pek önem vermedi ve bu bana gerçekten aleyhime oldu. Geçen yaz takımımda birkaç stajyerimiz vardı; içlerinden biri o kadar iyi bir iş çıkardı ki, başvurursa mezun olduğunda işe alınacağı söylendi.

Ayrıca tüm teknik işler için çok sayıda işveren var. Indianapolis'te aslında teknik personel eksikliği var, bu yüzden işe alım görevlileri gerçekten çok çalışıyor. Röportaj yapmanın ve iş bulmanın harika bir yolu olabilirler, ancak bunun onların işi olduğunu unutmamalısınız. Sizin için en uygun seçenek olmasa bile sizi bir yerden işe almakla ilgilenirler.

En çok ailemden ve arkadaşlarımdan gelen yönlendirmelerde şansım oldu. Benden önceki yıl mezun olan tanıdığım bir adam sayesinde kolejden sonraki ilk işimi buldum. O zamanlar gerçekten arkadaş değildik ama aldığım dersleri biliyordu ve onun yaptığı aynı programdan bir derece aldığım gerçeğiyle becerilerimi kefil edebileceğini biliyordu. Okuldayken ağ kurmanız gerektiğini yeterince vurgulayamıyorum Profesörleriniz, mezunlar ve hatta sizden bir veya iki yıl önünüzdeki insanlarla. Hayalinizdeki işi bulmanız için anahtar olabilirler. Aslında şu anki işverenimde yarı kardeşimin kuzeni sayesinde ayağımı kapıda tuttum. Kulağa çılgınca geliyor ve her zaman gülüyor, ama alabildiğimi alacağım.

Özgeçmişleri göndermek için eski güzel bir yöntem de var. Eğer yardım edebilirseniz, CareerBuilder gibi iş bulma sitelerini kullanmamanızı öneririm; özgeçmişinizi şirkete kendi kariyer bölümlerinden göndermeniz yeterli. Bölgenizdeki şirketleri arayın ve ne yaptıklarına ve hangi işleri mevcut olduğuna bir göz atın. Belirli türden işleri olup olmadığına dair bir sorunuz varsa, onları aramaktan çekinmeyin ve bir İK işe alım sorumlusu ile konuşmak isteyin. Asla bilemezsin, şanslı olabilirsin ve bundan bir röportaj alabilirsin. Özgeçmişleri göndermenin en önemli yanı, başka bir çalışan tarafından yönlendirilen birine göre arama alma olasılığınızın daha düşük olmasıdır, bu yüzden oraya gidin ve iletişim kurun.

6. Bize biraz ortalama bir iş gününden bahsedin.

Günlerime 7: 30'da kendi seçimimle başlıyorum. Takımın geri kalanı saat 9: 00'a kadar gelmez. Sabahlarım ve sabahları daha üretken olduğum için patronum umursamıyor ve sessizliğin tadını çıkarıyorum. Genelde güne e-postamı ve yardım masasını gözden geçirerek ilgilenebileceğim veya güncelleme sağlamam gereken herhangi bir sorunu arayarak başlıyorum. Bundan sonra, önceki gün yaptığım şeyi alırım ve 9: 30'daki SCRUM toplantımıza kadar buna odaklanmak için elimden gelenin en iyisini yaparım. SCRUM toplantılarımız, ne üzerinde çalıştığımızı ve o gün için ne yapmayı planladığımızı söylediğimiz kısa bir toplantıdır. Aynı zamanda patronumuzun öncelikleri değiştirebileceği ve gerekirse bize farklı bir şey yapmamızı söyleyebileceği zamandır. Ondan sonra gün boyunca işime devam ediyorum, etrafta dolaşmak ve kod olmayan veya şu anki sorunum olmayan bir şeye bakmak için periyodik kısa molalar veriyorum.

Şu anda bulunduğum takımla ilgili biraz benzersiz ve farklı olan bir şey, öğle yemeği sırasında neredeyse her zaman bir oyun oynadığımızdır. Bir saatin altında bitirebileceğimiz oyunları oynama eğilimindeyiz, ancak ertesi gün kolayca fotoğrafını çekip devam ettirebileceğimiz oyunları denemeye başlıyoruz.

Öğle yemeğinden sonra eve gitme vakti gelene kadar işime devam ediyorum. Durumumla ilgili biraz farklı olan bir şey, tam olarak nasıl yönetileceğini veya geliştirileceğini bilen tek bir sistem olması. Bu tam olarak ideal değil, ancak başkalarını bu konuda eğitmek tam olarak bir öncelik değil. Bu yüzden, sistem için çok sayıda yardım masası bileti alıyorum ve insanlar yeni özellikler istediğinde veya soruları olduğunda toplantılara dahil oluyorum. Sonuçta ortalama bir gün çok da kötü değil. Bir teknoloji şirketinde çalışıyorum ve dahili bir anlık mesajlaşma aracımız var. Ekip bütün gün çok konuşmayabilir, ancak bu mesajlarda sürekli uçuşan konuşmalarımız ve şakalarımız oluyor. Hala üretken olurken sosyalleşmeyi kolaylaştırır.

Her iki ayda bir, birkaç haftayı çok daha stresli ve çeşitli hale getiren bir yayın yapıyoruz. Bu haftalar genellikle tüm sistemi test etmeyi ve bulduğumuz hataları olabildiğince çabuk gidermeyi içerir. Ardından hafta sonu yayınlıyoruz ve gelecek hafta insanlar daha fazla hata buldukça birçok küçük düzeltme yayınlamamız gerekiyor.

7. Bir programcı olarak iş / yaşam dengesi nasıldır?

Genelde çok dengelidir. İstisnalar olsa da, genellikle düzenli zamanlarda ortaya çıkıp ayrılıyorsunuz. Bir şey kritik derecede kırılmışsa, bu düzeltilene kadar genellikle takılmak zorunda kalacaksınız. Bir sürümde yer alması gereken bir özelliğe sahipseniz ve zamanınız azalıyorsa, fazladan biraz çalışma yapmanız gerekecektir. Bir yayını bir araya getirmek için daha fazla zamana ihtiyaç duyulursa ve başka bir güne geri götürülemezse, muhtemelen orada biraz daha zaman ayırmanız gerekecektir. Bunlardan herhangi birinin hayatınızı ne kadar kesintiye uğrattığı, nerede çalıştığınıza ve patronunuzun kim olduğuna bağlıdır. Çoğu zaman, fazladan birkaç saat ayırmanız gerekeceğini önceden bilmek mümkündür ve buna göre plan yapabilirsiniz.

8. Kariyerinizin en iyi yanı nedir?

Bulmacalar. Bir şeyleri programlamak gerçekten dev bir mantık bulmacası gibidir. Bir şeyler yapan bir uygulama oluşturmak için farklı şeyleri bir araya getirmem gerekiyor. Birisi uygulamada bir öğeyi onayladığında, belirli bir grup insanın bir e-posta alması gerektiği söylenebilir, ancak bunu olduğu gibi koyamam. Bunu almalı ve çok basit bir seviyeye indirmeliyim. Bir kez parçaladıktan sonra parçalarımı - kodu - düzenlerim, böylece istediğim şeyi başarır. Yeni bir şey yaratmana da bayılıyorum. Rapor olmayan yeni özelliklerin oluşturulması genellikle çok eğlencelidir. Bazen karmaşık raporlar da ilginç olabilir. Kullanıcıların size gelip “Bir Gantt grafiğine ihtiyacımız var” demesi ve sonra onu oluşturup onlara teslim etmesi harika bir deneyim. Size bir çeşit büyücü ya da sihirbazmışsınız gibi bakma eğilimindedirler.

Bulmacalar ve yaratılışın yanı sıra insanlar gerçekten harika olabilir. Ben inek bir insanım ama ekibimdeki herkes de inek. Yapacağımız sohbetler çıldırabilir. Bazen birisinin Marvel'ın çizgi romanlarıyla ne yaptığını duyarsınız. Başka bir seferinde inanılmaz derecede ayrıntılı oyun incelemelerini duyacaksınız. Diğer zamanlarda filmler hakkında rastgele ama büyüleyici gerçekler duyarsınız. Bazen işler felsefi hale gelir. Asla sıkıcı bir konuşma olmaz ve hepimiz birbirimizi her zaman güldürürüz.

9. En kötü kısım nedir?

Bir zamanlar heyecan verici ama monoton hale gelen sıkıcı projeler veya projeler. Sadece bilgileri listeleyen gerçekten basit bir rapor oluşturmak çok da eğlenceli değil. Onları kurtaran tek şey, onları ne kadar çabuk bitirebileceğinizdir. Çok fazla yaratıcılık yapamazsınız ve en büyük bulmaca, tüm doğru bilgileri nasıl elde edeceğinizdir. Geri kalanını daha önce yaptın. Bazen büyük projeler gerçekten ilginçten monotonluğa gidebilir ve sonra haftalarca sürüklenmeye devam edebilir. Başlangıçta her şeyin nasıl yapılacağını anlamak ve tüm bu büyük fikirlere sahip olmak harikadır - işin en iyi kısımlarından bazılarını birleştirir. Ama sonra düşündüğünüz tüm o muhteşem şeyleri yapmanız gerekir ve bu gerçekten çok çabuk sıkıcı olmaya başlayabilir ve sonra bazı şeyleri nasıl yaptığınızı ve diğerlerini yapmayı planladığınızı unuttuğunuzda sinir bozucu olur. Not almayı dengelemek ve bir şeyleri hatırlamaya çalışmak zorundasın. Fikirleriniz ne kadar büyükse, tüm parçaları doğru bir şekilde birbirine uydurmak o kadar zor olur.

10. İnsanların işinizle ilgili sahip oldukları en büyük yanılgı nedir?

İnsanlar, bilgisayarlarla çalıştığımdan beri bilgisayarlarla ilgili her şeyi bildiğimi ve bunları nasıl düzelteceğimi düşünüyor. Benim durumumda bilgisayarları nasıl tamir edeceğimi biliyorum ama bu insanların düşündüğü kadar yaygın değil. Bir diğer yaygın olanı da program yazabildiğim için, insanların her şey için bir program yazabileceğimi düşünmeleridir. Diğer sistemler için program yazmayı öğrenebilirim ama her platform biraz farklı. İnsanlardan kaç kez bana 'Hey, yardımına ihtiyacım var. Bir telefon uygulaması için harika bir fikrim var ve bunu yapman gerekiyor. ' Onlara telefon uygulamalarının nasıl yapılacağına aşina olmadığımı söylediğimde her zaman biraz şaşkın görünüyorlar.

11. Eklemek istediğiniz başka tavsiye, ipucu, yorum veya anekdot var mı?

Herhangi bir bilgisayar programlamasına girmek istiyorsanız, programlama dillerini bilmeniz gerekir, ancak çoğu zaman dilleri hızlı bir şekilde öğrenme becerisi ve daha önemli olan doğru zihniyettir. Karmaşık sorunları almalı ve onları daha basit bir şeye dönüştürmelisiniz. Fikirlerde boşluklar açmak ve mantıksal uç durumları bulmak da çok kullanışlıdır.

Herkes için oldukça yararlı olduğunu düşündüğüm, öğrendiğim önemli bir ders, her zaman hatalarınıza bağlıdır. Çalıştığım son şirkette finansal sistem üzerinde çalışıyordum ve yazdığım bir güncellemeyi yayınlamıştım. Ertesi gün bir yönetici diğer geliştiriciyle oturduğumuz yere geldi ve 2 milyon doların sistemden kaybolmuş gibi göründüğünü söyledi. Çabucak bunun muhtemelen benim hatam olduğunu söyledim çünkü önceki gün bunu etkileyen bazı kodlar göndermiştim. Batırdığımı itiraf etmek uzun bir yol kat etti. Ayrıca sorunu çözebildim ve paranın finansal olarak yeniden görünmesini sağlayabildim ki bu muhtemelen zarar vermedi. Oradaki diğer geliştirici 200 milyon doları ortadan kaldırmıştı ve o da işini kaybetmemişti. Hatalarınızı daima sahiplenin ve düzeltilebilirlerse, onları düzeltmek için ne gerekiyorsa yapın.