Kıdemli Geliştirici Nedir ve Nasıl Olabilirim?

Kıdemli Geliştirici olmak, kodlama yolculuğumuza devam ederken ve kariyerimizi inşa ederken çoğumuzun çabaladığı bir şeydir. Peki “Kıdemli” Geliştirici olmak aslında ne anlama geliyor?

Kıdemli Geliştirici olmak ne değildir

Başlamadan önce, bunu yolumuzdan kaldıralım. Çevrimiçi iş ilanlarının %95'inden fazlasında göreceğinizle çelişen bir Kıdemli Geliştirici, yalnızca özgeçmişinizdeki yıl sayısıyla kesin bir şekilde ilişkili değildir.

Çoğu zaman, işte uzun yıllar tipik olarak çok fazla deneyim getirdiği doğrudur. Ve bazı şirketlerle bununla başa çıkabilirsiniz. Ancak, bir kişinin Üst Düzeyde olduğunu haklı olarak kanıtlayan tek özellik bu değildir.

Bu, yazılım dünyasında yaygın bir sorundur ve düşük teslimatla yüksek beklentilere yol açabilir. Yeni 15 yıllık 10x Kıdemli Geliştiriciniz başkalarıyla çalışmayı reddettiğinde de ekip içinde çatışmaya yol açabilir.

Öyleyse kendimizi bu role hazırlamak için ne yapabiliriz?

Bir Kıdemli Geliştirici yapan nedir?

Takımımdaki en beğendiğim ve saygı duyduğum geliştiricilerdeki kariyerime dönüp baktığımda, gerçekten dört özelliğe indi:

  • Deneyim
  • Liderlik
  • Mentorluk
  • Teknik yetenek

Bunlardan herhangi birine, birinin bir takımda nasıl performans göstereceğinin yegane temsili olarak bakmak yeterince iyi değil. Her geliştirici benzersizdir ve bir kalite açısından diğerinden daha güçlü olabilir. Ancak birisinin ekibinizin büyümesine nasıl yardımcı olacağını belirlemek için bu niteliklerin nasıl bir araya geldiğini görmek önemlidir.

Bunları biraz parçalayalım.

Deneyim

Deneyim tipik olarak işteki yıllar olarak düşünülür ve tamamen yanlış olmasa da, tüm hikayeyi anlatmaz.

Her geliştiricinin benzersiz olması gibi, deneyimleri de öyle. Bir geliştirici, her gün zorlu teknik zorlukları çözmek için çalıştığı yoğun bir pozisyonda beş yıl geçirmiş olabilir. Ve bir başkası, tek sorumluluğunun web sitesini her hafta güncellemek olduğu yerel bir dükkanda ayağa kalkmış olabilir.

Ve bu mutlaka kötü bir şey değil! Her birimizin kendi yolculuğu var ve hayatlarımızı buna uyacak şekilde dengelememiz gerekiyor. Ancak o 5 yılın aynı olduğunu söylemek gerçekçi değil.

Öyleyse deneyim gerçekten ne anlama geliyor?

Önceki çalışmalardan kalıpları tanıma

Her geliştiricinin, geliştirme deneyimleriyle karşılaştıkları rastgele bir hatanın hikayesi (hatırlasalar da) vardır. Bu, Javascript, web paketi veya hatta işletim sisteminizle ilgili bir şey olabilir ve hiçbir anlam ifade etmiyor!

Ancak ister bir meslektaş aracılığıyla ister Google’da arama yaparak, bunu anlarsınız. Ve üç ay sonra başka bir proje üzerinde çalışıp aynı şeyle karşılaştığınızda, Google’a bile gerek kalmaz veya Google’a ne yapacağınızı zaten biliyorsunuz. Sorunun ne olduğunu zaten biliyorsunuz ve çabucak geçip devam edebilirsiniz.

Bu, fark yaratan türden bir deneyimdir. Her birimizin büyümesine yardımcı olan şey, bir hata nedeniyle ya da çok başarılı olduğu için kalıpları tanıyabilmek. Bunlar, bir takımın diğerleri sıkışıp kaldığında büyümesine yardımcı olan deneyimlerdir ve onları zor durumda bırakabilirsiniz.

Bilmediğini tanımak

Bilmediklerinizi anlamak da önemlidir. Sanırım sahtekarlık sendromuyla kendi kişisel mücadeleme katkıda bulunan şeyin bir kısmı, ne kadar çok öğrenirsem, bilmediğimin o kadar çok farkına varıyorum.

Ancak bu kötü ya da korkutucu bir şey olarak görülmemelidir. Bu ilham verici olmalı. Bu, üzerinde çalıştığınız zanaatınızın keşfedilecek çok daha harika şeylere sahip olduğu anlamına gelir!

Genç geliştiriciler:“Bu sorunu nasıl çözeceğime dair hiçbir fikrim yok; yanıt için Google’ı araştırmaya devam edersem asla iyi olamayacağım”Kıdemli geliştiriciler:(Bir sorun için Google ve StackOverflow’a bakar ve açık sekme sayısı 46)

Bunun işinizi ve ekibin geri kalanını nasıl etkilediğini anlamak önemlidir. Örneğin, her şeyi biliyormuş gibi davranıp büyük miktarda iş yapmanın kimseye faydası olmaz. Bu işi taahhüt ettiğinizde ve aslında anlamadığınızda, sprintinizi yoldan çıkarabilir ve bu da tüm takımı (ve müşteriyi) hayal kırıklığına uğratabilir.

İster planlıyor olun ister geliştirme aşamasında, yardım istemekten korkmayın. Havaya gel ve ellerini havaya kaldır! Sırf tek Kıdemli Geliştirici olduğunuz için, bir Junior takım üyesinden bir şeyler öğrenemeyeceğiniz anlamına gelmez.

Nerelerde bulunduğunuza, neyi anladığınıza ve daha fazla bilgi edinmek için nerelerden yararlanabileceğinize iyice bir göz atmaya çalışın.

Liderlik

Bir ekibin kıdemli bir üyesi olarak, bir geliştiricinin doğal bir liderlik eğilimi olmasını beklerdim. Bu, bir projede gerçek bir Teknoloji Lideri olmanız veya nihai kararlardan herhangi birini vermeniz gerektiği anlamına gelmese de, bu, projeyi ileriye taşımak için temel bir seviyeye sahip olmanız gerektiği anlamına gelir.

Büyük resmi anlamak

Ekip üyeleriyle projeler üzerinde çalıştıysanız, her proje veya özelliğin genellikle tamamlanması için üzerinde çalışılması gereken bir dizi hikaye ile birlikte geldiğini bilmelisiniz. Her hikaye, daha büyük bir hedefe ulaşmaya yardımcı olan odaklanmış bir parça olmalıdır.

Takımdaki hiç kimsenin bu hikayelerin her birinin daha büyük hedefe ulaşmaya nasıl yardımcı olduğunu anlamaması, bunun zorlaştığı yer. Bir Kıdemli Geliştirici olarak, her bir parçanın bulmacaya nasıl uyduğunu ve hikayenin neden belirli kabul kriterleriyle yazıldığını görebilmelisiniz. Ve bilmiyorsanız, cevapları nasıl alacağınızı ve ekibe iletildiğinden emin olacaksınız.

Yöntemden emin değilseniz, bir adım geri atmaya çalışın. Nereye uyduğunu görmeye çalışın. Proje ekibini o nihai hedefe yönlendirmeye yardımcı olun.

Daha az deneyimli ekip üyelerine doğrudan yardımcı olmak

Bu, ekibimizdeki daha genç veya daha az deneyimli olanlara rehberlik etme becerisinde doğal olarak gelir. Geliştiricilerin büyük resme odaklanmaları yaygındır. Ancak az önce tartıştığımız gibi, bir Kıdemli Geliştirici sürekli olarak genel proje ve farklı hikayelerin daha büyük destanın neresine uyduğu hakkında iyi bir fikre sahip olmalıdır.

Ekibinizdeki diğer kişilere doğru yola girmeleri için rehberlik edin. Herkesin her şeyin daha büyük resme nasıl uyduğunu anlaması faydalı olsa da, bazen bir bireyin kendi görevinin yerine nasıl oturduğuna odaklanmasına yardımcı olmak daha mantıklı olabilir.

Başkalarıyla çalışırken, onları daha fazla soru sormaya teşvik ederek ya da kodlarını incelerken tam olarak doğru yolda değillerse onlara rehberlik ederek bu mücadeleyi tanımaya çalışın.

Mentorluk

İşinize dikkat etmek ve başkalarının ne yaptığı konusunda endişelenmenize gerek kalmamak genellikle daha uygundur, ancak bu gerçekten kimseye fayda sağlıyor mu?

Diğer ekip üyelerini oluşturmaya yardımcı olmak

Sözde 10x geliştiricisi olabilirsiniz , ancak her şeyi kendiniz yapmak ve başkalarına yardım etmemek yalnızca genel ekibi yavaşlatabilir. Ekibinizdeki başka biriyle eşleşmek için fazladan bir saniye harcarsanız, kolayca yakalayabileceğiniz parçaları almakta sıkışıp kalırsınız.

Moral için de kötü. Hiç kimse bir projede ve hatta bir genç olarak yalnız hissetmek istemez. Yazılım büyük korkutucu bir dünyadır, küçük bir rehberlik başkalarının daha üretken olmasına yardımcı olmak ve ardından daha mutlu, daha az stresli bir ortamı teşvik etmek için uzun bir yol kat edebilir.

Bir seferde hepimizin genç bir takım üyesi olduğumuzu unutmak kolaydır. Her şeyi kesin olarak kabul etseniz de, kavramlar başkalarının kavraması için gerçekten zor olabilir.

Hepimizin bu işte birlikte olduğumuzu unutmayın. İster büyük ister küçük olsun, galibiyetleri kutlayın. Biri zorlanıyorsa, yardıma ulaşın.

Bilgi paylaşımı

Bilgiyi paylaşmak, birçok takımın uğraştığı bir şeydir. Hepimiz genellikle bunu başarmanın bir yolu olduğu konusunda umutlu olsak da, çoğu zaman çözülmeden gider. Öyleyse ne yapabiliriz?

Bildiklerinizi paylaşmayı üstlenin. Temel iş mantığını yeniden mi çalıştınız? Herkese kodun içinden geçmesi için 30 dakika teklif edin. Anlamakta zorlanıyorlarsa, kod gözden geçireninizle eşleştirin ve ekran paylaşımı yapın.

Bu, herkesi yapmaya teşvik edebileceğimiz bir şey. Az önce çalıştığınız şeyi pekiştirerek çalışmanızı sunarak doğal olarak daha fazlasını öğreneceksiniz. Bu, Kıdemli olsanız da veya ilk kez bir kod düzenleyiciyi açıyor olsanız da yararlıdır.

Teknik yetenek

Bunu bilerek sona saklamak istedim. Bunun nedeni, önemli olmakla birlikte, Kıdemli Geliştirici olma yolculuğunuzun bir şeyde gerçekten çok iyi olmaktan daha fazla yönü olmasıdır.

Hızlı hareket etme yeteneği

Bir Kıdemli Geliştirici olarak, başka bir Kıdemli Geliştiricinin bir Genç Geliştiriciden daha hızlı bir şekilde üretken olmasını beklerdim. Javascript konusunda uzman iseler, dilin temel ilkelerini ve kalıplarını anlamalarını beklerim.

Ancak bilmediklerinizi tanıma fikrine geri dönersek, tüm Kıdemli Geliştiricilerden her şeyi bilmesini beklemek makul değildir. Ruby’de bir uzman Javascript geliştiricinin bilmedikleri için Kıdemli Geliştirici sayılmazdım, ancak başka bir dilde inşa ederken ve öğrenirken bildiklerini nasıl uygulayacaklarını anlamalarını beklerdim.

Yazılım modellerini teşvik etmek

Çoğu zaman, az önce ortaya çıkardığınız kod modeli yeni değildir. Ve sorun değil! Harika bir yazılım geliştirmenin amacı her çözümde benzersiz olmak zorunda değildir.

Ve bu nedenle, sizin ve ekibiniz için işe yarayan kalıpları bulmak için neyin başarılı olduğunu ve belki de neyin o kadar iyi gitmediğini görerek geçmiş çalışmalardan öğrenebiliriz.

MVC (Model View Controller) gibi modeller sebepsiz popüler hale gelmedi. Geliştiriciler geçmişten öğrendiler ve büyük yazılım zorluklarını çözen meslektaşlarından öğrendiler. Bu bilgi ile çözümleri kendi işlerine uygulayabilirler. Tekerleği yeniden icat etmekle ilgili değil, zorlukları çözmek ve iyi bir ürün yapmakla ilgili.

Hepimizin önünde kendine özgü yolculuklar var

Size ne söylerse söylesin, hepimizin kendi benzersiz kod yolculuklarımız var. Bu, sizi cesaretlendirmek ve daha iyi bir genel geliştirici olmak ve çalışmanızın ekibin geri kalanını nasıl etkilediğini anlamak için size ilham vermek içindir.

Bunları dikkate almadan kesinlikle başarılı olsanız da, insanların sizinle insan bakış açısıyla çalışmak istememelerine neden olabilecek temel özellikleri gözden kaçırıyor olabilirsiniz.

Yolculuğunuz ne olursa olsun, daha iyi bir geliştirici olma yolunda büyürken bunları aklınızda bulundurun!

Orjinal: https://www.freecodecamp.org/news/what-does-it-mean-to-be-a-senior-developer-and-how-can-we-become-one/

Bilgisayar Müh. Digidea Dijital Hizmetler Ltd. Şti. #NetCore #Angular #Vue #Codeigniter

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store