Geleneksel olarak teknoloji endüstrisinde geliştiriciler, yeterlilik seviyelerine göre dört dereceye ayrılır: Küçük, Orta, Kıdemli ve Takım Lideri. Ya da yazılım geliştirme endüstrisinin en düşük rütbeli "askerleri" olarak kodlama Stajyerlerini dahil ederseniz beş. Önceki makalede , Junior geliştirici olmanın nasıl bir şey olduğunu zaten ele almıştık. O halde geçen sefer kaldığımız yerden başlayalım ve programcının kariyer derecelendirmesindeki bir sonraki aşama olan Orta Düzey Geliştiriciye geçelim.

Orta Düzey Geliştirici kimdir?
Orta Düzey Geliştirici, bu meslekte zaten en az 2-4 yıl geçirmiş nispeten deneyimli bir programcıdır. Bu yıllar, deneyimsiz ve kararsız yeni bir kodlayıcıyı, kendi kodunu yazabilen ve kıdemli ekip üyelerinden yardım istemeye gerek kalmadan çözümler üretebilen güçlü, tam işlevli bir programcıya dönüştürmeliydi. Orta düzey geliştirici, tipik olarak hemen hemen her yazılım geliştirme "ordusunda" merkezi bir birimdir, çünkü orta düzey kodlayıcılar hemen hemen her projede programlama çalışmasının ana bölümünü yapanlardır. Daha az deneyimli Junior geliştiricilerin aksine, Orta düzey kodlayıcılar çok fazla yardıma veya denetime ihtiyaç duymazlar, her şeyi kendi başlarına yapabilirler ve projede kullanılan kod ve teknolojiler hakkında net bir anlayışa sahip oldukları için daha fazla sorumluluğa sahiptirler. Örneğin, Junior'ın ana odak noktası işe yarayan, sade ve basit bir kod yazmaksa, Orta düzey kodlayıcının ayrıca kodun açıkça anlaşılır olduğundan ve kalite standartları ve proje gereksinimlerine uygun olarak yazıldığından emin olmak gibi şeyleri düşünmesi gerekir. Tipik olarak, hemen hemen her yazılımın kod tabanının çoğunluğu Orta düzey programcılar tarafından yazılır. Tabii ki, teknoloji endüstrisindeki meslekler ve uzmanlıklardan bahsederken her zaman olduğu gibi, Orta seviye kodlayıcıların (tıpkı Juniors veya Senior geliştiriciler gibi) çalıştıkları şirkete bağlı olarak oldukça farklı bir deneyime ve sorumluluğa sahip olabileceğini belirtmekte fayda var. “Dışarıdan bakıldığında, 3-5 yıllık deneyim sizi orta seviye yapar. Bir kuruluş içinden, kodlama konusunda güvenilme noktasındasınız, ancak müşteri etkileşimi çok az veya hiç yok ve küçük ila orta ölçekli projelerde sahiplik yok. Kıdemli düzey geliştiricilerin Orta düzeyde kalmayı tercih ettiği durumlar gördüm çünkü temelde proje yöneticileri ve müşterilerle uğraşmanıza gerek kalmadan kod yazıyorsunuz."Deneyimli bir yazılım geliştiricisi ve kodlama kariyeri danışmanı olan Lewis Nakao diyor .Orta Düzey Geliştiricinin sorumlulukları nelerdir?
Şimdi bir Orta Düzey Geliştiricinin en tipik ve yaygın sorumluluklarından bazıları hakkında daha ayrıntılı olarak konuşalım.- Kodu yazmak ve sürdürmek.
- Proje koduna en iyi kodlama uygulamalarını analiz etmek ve uygulamak.
- Projenin teknik gereksinimlerinin analiz edilmesi ve kodun bunlara göre uyarlanması.
- Mevcut projelerde revize edilecek alanların belirlenmesi ve geliştirilmesi.
- Yazılım testlerinin yürütülmesi ve uygulanması.
- Yazılım projeleri için kalite güvence prosedürlerinin geliştirilmesi.
- Kullanıcıların yanı sıra tasarımcıların, KG test uzmanlarının ve diğer yazılım geliştirme ekibi üyelerinin ihtiyaçlarının analiz edilmesi.
- Kalite güvence prosedürlerinin geliştirilmesi.
- Çabaları koordine etmek ve diğer geliştiriciler, tasarımcılar, sistem ve iş analistleri vb. ile işbirliği yapmak.
- Daha fazla çalışma ve bakım için geliştirme sürecinin her bölümünü belgelemek.
Orta Seviye Geliştirici Gereksinimleri
Bu işi almak için bir Orta Düzey Geliştirici için karşılamanız gereken en yaygın ve tipik gereksinimlerin bir listesi. Elbette gereksinimler, bir şirketin işe alma politikalarına, projede kullanılan teknolojilere ve geliştiricinin programlama diline bağlı olarak değişir. Açıkçası, orta düzey Java geliştiricileri için tipik gereksinimlere odaklanacağız.- Java geliştiricisi olarak en az iki-üç yıl ve en az birkaç farklı yazılım projesinde çalışma deneyimi.
- Java uygulamalarının nasıl tasarlanacağı, programlanacağı, uygulanacağı ve sürdürüleceği konusunda tam bilgi.
- Büyük ölçeklendirme için yüksek hacimli ve düşük gecikmeli sistemlerin nasıl programlanacağını bilmek.
- Web projeleri oluşturmak için çerçeveler (Maven, Gradle), kurumsal projeler için çerçeveler (Spring, Hibernate, Spring Boot), birim test araçları (JUnit, Mockito) vb. hakkında sağlam bilgi.
- Geliştirme yaşam döngüsünün tüm aşamalarında katkıda bulunma yeteneği.
- Yüksek kaliteli, verimli ve kolayca test edilebilir kod yazma yeteneği.
- Yazılım analizi yapma, test etme ve Java kodunda hata ayıklama konusunda bilgi sahibi olmak.
- Java ve Java EE uygulama geliştirme yönetimi konusunda deneyimli.
- Alternatif yaklaşımlar üretebilir ve yeni teknolojileri uygulayabilir.
- Hem teknik hem de teknik olmayan müşterilerle açık ve öz bir şekilde iletişim kurabilme.
GO TO FULL VERSION