Beyinsizler - Popüler Bilim Ve Teknoloji Haberleri
Sonuç yok
Tüm Sonucu Görüntüle
  • Bilim
    • Fizik
    • Kimya
    • Biyoloji
    • Arkeoloji
    • Jeoloji
    • Ekoloji
    • Genetik
    • Dilbilim
    • Sinirbilim
    • Bilim İnsanları
    • Psikoloji
  • Teknoloji
    • İnternet
    • Mobil
    • Mobil Uygulama
    • Otomobil
    • Oyun
    • Kripto Para
    • Yazılım
      • İşletim Sistemleri
      • Programlama
    • Enerji
    • Biyoteknoloji
  • Uzay
    • Astrofizik
    • Astronomi
    • Gezegenler
    • Keşifler
  • Gelecek
    • Robotik
    • Ulaşım
  • Tarih
    • Medeniyetler
  • Evrim
    • Paleontoloji
  • Sağlık
    • Beslenme
    • Gıda
    • Meditasyon
    • Hastalıklar
    • Cinsel Sağlık
  • Yaşam
  • Çocuklar İçin Bilim
  • Bilim
    • Fizik
    • Kimya
    • Biyoloji
    • Arkeoloji
    • Jeoloji
    • Ekoloji
    • Genetik
    • Dilbilim
    • Sinirbilim
    • Bilim İnsanları
    • Psikoloji
  • Teknoloji
    • İnternet
    • Mobil
    • Mobil Uygulama
    • Otomobil
    • Oyun
    • Kripto Para
    • Yazılım
      • İşletim Sistemleri
      • Programlama
    • Enerji
    • Biyoteknoloji
  • Uzay
    • Astrofizik
    • Astronomi
    • Gezegenler
    • Keşifler
  • Gelecek
    • Robotik
    • Ulaşım
  • Tarih
    • Medeniyetler
  • Evrim
    • Paleontoloji
  • Sağlık
    • Beslenme
    • Gıda
    • Meditasyon
    • Hastalıklar
    • Cinsel Sağlık
  • Yaşam
  • Çocuklar İçin Bilim
Sonuç yok
Tüm Sonucu Görüntüle
Beyinsizler - Popüler Bilim Ve Teknoloji Haberleri
Sonuç yok
Tüm Sonucu Görüntüle

Kıdemli Yazılım Mühendisleri İçin Gerekli 5 Beceri

Beyinsizler
13 Mayıs 2022
Okuma Süresi: 7 dakika
Kıdemli Yazılım Mühendisleri İçin Gerekli 5 Beceri

Yazılım Mühendisi Olmak İçin Hangi Beceriler Üzerinde Çalışmanız Gerekiyor?

Son altı yılımı teknoloji alanında, bunun 5 yılını üniversitede ve ancak son zamanlarımı tam zamanlı bir yazılım mühendisi olarak geçirdim. Ancak bu süre zarfında, sürekli değişen teknoloji dünyasında “kıdemli” olmanın ne anlama geldiğini gösteren sınıf arkadaşlarının, iş arkadaşlarının ve yöneticilerin özelliklerini gördüm. Kıdemli bir yazılım mühendisinin yüz değerinin görüntüsü, bilgisayarlarının başına oturdukları ve tam bir sprintte tam bir ürünü öğüttükleri “10x kodlayıcı” yı andırır.

İnanın gerçeği söylüyorum. Aslında, kolejde parlak, ancak iletişim gibi becerilerden ve ayaklarına gelen fırsatları ciddi şekilde engelleyen, eleştirileri kabul etme gibi becerilerden yoksun olan birçok öğrenci tanıyordum. En iyi şirketlerde işe alınan ya da kolejden hemen sonra üst düzey pozisyonlara gelen öğrenciler, yaptıkları işte kesinlikle yetenekliydiler, ancak onları gerçekten diğerlerinden ayıran şey, başkalarıyla iş birliği yapma yetenekleriydi.

Bu Bir Şans Meselesi Değil

İş birliği yeteneği yalnızca akademiden sonra güçlenir. Biletleri ve özellikleri üretebilen ancak bunu kendine saklayan yazılım mühendisi nadiren terfi ettirilir. Bilgiyi paylaşmayı ve ekiplerini yükseltmeyi öğrenenler liderlik pozisyonlarına yerleştirilmeye daha yakındır. Bu şans meselesi değildir, yazılım mühendisliğinde başkalarına liderlik etmenize ve onların gelişmesine katkı sağlamanıza izin veren çok özel ve somut beceriler vardır, bu da kıdemli olmak demektir.

Öyleyse, sizin kıdemli bir yazılım mühendisi olmak için ihtiyaç duyduğunuz becerilerin listesine geçelim.

1. Sahiplenme

Liderlerin hayattaki en temel yönlerinden biri, sürekli sahiplenme pratiğidir.Extreme Ownership kitabında, emekli ABD Donanması Özel Kuvvetler Subayı Jocko Willink, ABD Deniz Kuvvetleri SEAL ekiplerinde 20 yıla aşkın dersler veriyor. Kitapta Jocko, bir takımın ya da bir şirketin başarılı olup olmayacağı konusunda nihai faktör olan liderlerin hikayelerini anlatıyor.

“Aşırı Sahiplenmenin kalbindeki en temel ve önemli gerçekler: Kötü takımlar yoktur, sadece kötü liderler vardır.” — Jocko Willink

Aşırı sahiplenme uygulayanlar için rutin uygulamalar, ekibin başarılı olup olmamasına bakılmaksızın her zaman sorumluluğu üstüne almaktır. Bağlayıcı olduğu kadar özgürleştirici de yoğun bir paradigma değişimidir, çünkü aşırı sahiplendiğinizde, başkalarını suçlamak bir seçenek değildir, her şeyin sorumlusu siz olursunuz.

Tecrübesiz bir mühendis bir bilet için kabul kriterlerini karşılamıyorsa, bunun nedeni lider olarak sizin bunu açıklamak ve anlaşıldığından emin olmak için zaman ayırmamış olmanızdır. Takım arkadaşlarınızdan biriyle iletişim kurmak zorsa, bunun nedeni ne zaman müsait olacağınızı ve ne sıklıkla iletişimin gerekli olduğunu netleştirmemiş olmanızdır.

Hatalı bir kod üretime geçerse, bunun nedeni bu kodun incelemesini değerlendirmek için yeterli zaman ayırmamış olmanızdır. Kıdemli bir yazılım mühendisi olmak, tamamen, sizin, neyi kontrol edebileceğinize odaklanmak ve bu gücü, başkalarını, daha yüksek bir seviyeye yükseltmek için kullanmakla ilgilidir.

2. İletişim

Evet, kariyerinizde nasıl başarılı olacağınızı anlatan herhangi bir makalede en çok üstünde durulan beceri noktasına ulaştınız. Ancak bu konuda her yerde söz ediliyorsa, neden sürekli onu geliştirmeye çalışmıyorsunuz? Şirketler tamamen uzaktan çalışmaya geçtiğinden beri teknoloji alanı radikal bir değişile karşı karşıya. Kıdemli bir mühendis olmak için iletişim becerilerinizi geliştirmek şimdi her zamankinden daha önemli. İletişim becerilerinizi geliştirmenin ilk adımı, yazınızı açık ve yalın tutmaktır.

Özellikle mühendislik bağlamında, düşüncelerinizi metin üzerinden bir başkasına ifade etmek şaşırtıcı derecede zor oluyor. Slack gibi kanallar üzerinden iletişiminiz üzerinde aktif olarak çalışabilirsiniz, ancak mesajlarınızdan sonra “bu mantıklı mı?” ya da “Bunu ifade etmenin daha iyi bir yolu var mı?” gibi mesajlar görebilirsiniz. Takım arkadaşlarınız, herkesin hayatını kolaylaştırdığı için geri bildirim vermekten mutluluk duymalıdır. İletişiminizi geliştirmek için benim yaptığım gibi bir Blog’ta yazı yazabilirsin.

İletişiminizi geliştirmek için başka bir ipucu da aşırı iletişim kurmaktır. İş arkadaşlarınıza spam göndermek istemezsiniz, ancak ayrıntıları dışarıda bırakmaktansa her zaman fazla açıklama yapmakta yarar vardır.

İşte bir örnek:

Hey, bu hatayı düzeltmek için değişiklikleri yaptım. Ne düşündüğünü söyler misin?

Ya da,

Günaydın, A projesindeki testlerimizden birinin neden başarısız olmaya devam ettiğini görememe sorununu çözdüm. Daha kolay hata ayıklayabilmemiz için yöntemlerimize hata çevrim türleri ekledim ve go rutinlerimizi bekleyecek kadar kanal oluşturmadığımızı gördüm. Herhangi bir öneriniz olması durumunda, birleştirme isteğimin bağlantısını burada bulabilirsiniz.

İletişim kurma yeteneğinizi geliştirmek, bir ekibe liderlik edebilecek kişilerin yapması gereken önemli bir pratiktir.

3.Egonuzdan Kurtulun

Kimse Gilfoyle gibi biriyle çalışmak istemez. Her şeyi kendi başına çözebilen 10x kodlayıcı fikri tamamen abartılıyor. Böyle bir mühendis bir şirketten ayrıldığı anda, diğer mühendisler “test gerektirmeyen” kodu bulmaya çalıştıkça büyük bilgi boşlukları olması çok muhtemeldir.

Bunun yerine, büyük bir lider her zaman başkalarından bir şeyler öğrenmek için kendini alçaltabilir. Takım arkadaşlarınızdan biri size, süslü özel testlerinizin yaptığı her şeyi standart ve yeniden kullanılabilir bir şekilde yapan yeni bir test çerçevesi olduğunu söylerse, kodunuzu savunmayın ve bunun yerine takımı daha iyi hale getirdiği için takım arkadaşınıza teşekkür edin. Bu senin kodunla ilgili değil, takımın koduyla ilgili.

Cidden, bir iş arkadaşınızın kodunu daha iyi hale getirmenin yollarını bulursanız, kod incelemesine bir yorum bırakın! Sadece şikâyet etmek kimseye bir şey kazandırmaz. Kıdemli bir mühendis olmak istiyorsanız, takım arkadaşlarınızı aptal değil, öğreniyormuş gibi hissettirin.

4. O Muhteşem Belgeleri Nasıl Yazacağınızı Öğrenin

Hiç “kod kendi kendini belgelemeli” ifadesini duydunuz mu? Tamamen yanlış değil, ama aynı zamanda doğru olmaktan da çok uzak. Her zaman temiz ve özlü kod yazmaya çalışmalısınız, ancak bazen bir yorum bırakmanız gerekecek. Ayrıca yeni API’nizle nasıl çalışacağınızı belgelemeniz gerekir. Yeni ürününüzün herhangi bir mimari belgesi yoksa, gereksinimler değiştiğinde, bunun sizi ne kadar ileri taşıyabileceğini görün.

Belgeleme becerilerinizi geliştirmenin birçok yolu vardır, özellikle de bilet takibi için Jira veya program akış diyagramları oluşturmak için Confluence gibi yazılımlar kullanıyorsanız. Kendi ekibinizdeki kıdemli mühendislerin mimarilerini nasıl belgelediklerini incelemek, en iyi uygulamaları öğrenmenize olanak sağlayacaktır.

Ek olarak, daha iyi tanımlanmış biletler oluşturmak istiyorsanız, 5n1k’ya odaklanmanız gerekir. Kendinize sormanız ve ardından bilet belgelerinize yanıtlamanız gereken genel sorular, bu değişikliğe neden ihtiyacımız var?

Bu değişiklikler hangi projelerde gerçekleşecek? Bu değişikliği oluşturmak için üst düzey teknik adımlar nelerdir? Daha iyi akış şemaları oluşturmak da çok önemlidir. Hızlı bir ipucu, mantığınızda soldan sağa hareket ederken akış şemalarınızın yollarını bölmektir. Bu, açık bir yolu olmayan büyük bir mantık karmaşası yaratabilen karar sembollerine kıyasla, takip edilmesi çok daha kolay bir diyagram oluşturur.

5.Yazılım Geliştirme İlkeleri

Kıdemli bir yazılım mühendisi olacaksanız, alet çantanızı bilmeniz gerekir. Bu mühendislerin kodlama sihirbazı olmaları gerekmez, ancak beceri setlerinde kapsamlı olmaları gerekir. İşte öğrenmeniz gereken bazı teknik noktalar şunlardır:

  • Test Etme: Neyse ki, bu standart hale geliyor. Aslında, bir iş görüşmesinde şirketin test yapmadığını fark ederseniz, bunu kırmızı bayrak olarak görmelisiniz. Test etme, beklediğiniz gibi davranan kod yazmanıza, kendi kendini belgelemeye ve bir şeyi kırmaktan korkmadan kodunuzu geliştirmenize olanak tanır.
  • Tasarım Desenleri: Bu benim kişisel favorim.Tasarım kalıpları, iş gereksinimlerini karşılayan belirli davranışları işlemek için size bir temel yapı sağlar.Bir sosyal medya platformu mu oluşturuyorsunuz? Gözlemci modeli sizin için iyi bir başlangıç olacaktır. Hataya dayanıklı bir kullanıcı arayüzü oluşturmak ister misiniz? Sonlu durum makinesi kullanın. Go’da tasarım kalıpları hakkında çok şey yazıyorum ve bunlar daha yetkin bir yazılım mühendisi olmanın hızlı bir yolu.
  • Çerçeveler: Ortak bir görev gibi görünen bir kod yazıyorsanız, muhtemelen bunun için bir çerçeve vardır. Üst düzey bir mühendisin, herhangi birinin kullanımdan kaldırılıp kaldırılmadığını veya halihazırda kullanmakta olduğunuzdan daha iyi bir çözüm olup olmadığını bilmek için en son çerçevelerde güncel olması önemlidir.

Bu makaleyi teknik bir dille yazdık, ancak bu ilkelerin ayrıntıları sürekli değişeceği için çok önemli değil. Kıdemli bir yazılım mühendisi olmak için gereken çok şey var, ancak günün sonunda gerçekten kendi kendine öğrenme, sahiplenme ve her zaman ekibin iyileştirilmesine odaklanma yeteneğinize bağlı. Birlikte çalıştığım en iyi programcılar, bilgileri paylaşmaktan ve beni daha iyi hale getirmekten her zaman mutlu olanlardı, böylece kendilerini ve ekibi bir bütün olarak süreçte daha iyi hale getirdiler.

Paylaş19X12GönderPaylaşPaylaş3

İlgiliHaberler

kodlama
Programlama

Yeni Başlayanlar için 5 Adımda Android Uygulaması Geliştirme Rehberi

10 Mayıs 2022
Yazılım Mühendisi Ne İş Yapar? İş Türleri, Eğitimleri ve Maaşları
Yazılım

Yazılım Mühendisi Ne İş Yapar? İş Türleri, Eğitimleri ve Maaşları

3 Kasım 2022
Satır Kod Nasıl 36 Milyon Dolarlık bir İmparatorluğa Dönüştü
Programlama

Satır Kod Nasıl 36 Milyon Dolarlık bir İmparatorluğa Dönüştü

9 Mayıs 2022

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Trend haberler

  • Dünyanın düz değil, yuvarlak olduğunun 10 Basit Kanıtı

    Dünyanın düz değil, yuvarlak olduğunun 10 Basit Kanıtı

    6656 PAYLAŞIM!
    Paylaş 2662 X 1664
  • 1869’da Yapılan Harvard’a Giriş Sınavını Geçebilecek Misiniz?

    280 PAYLAŞIM!
    Paylaş 112 X 70
  • Tarihi değiştiren 18 bilim insanı ve buluşları

    2742 PAYLAŞIM!
    Paylaş 1097 X 686
  • Güneş sistemimizdeki gezegenler ve gezegenler sıralaması

    3145 PAYLAŞIM!
    Paylaş 1258 X 786
  • Neden Birileri Kötü Lideri Takip Eder?

    701 PAYLAŞIM!
    Paylaş 280 X 175
  • Şempanzeler ve Maymunlar Taş Devri’ne Girdi!

    162 PAYLAŞIM!
    Paylaş 65 X 41
  • Günümüzde Yaşayan Türk Bilim İnsanları ve Akademik hayatları

    845 PAYLAŞIM!
    Paylaş 338 X 211
  • Hakkımızda
  • Reklam
  • Gizlilik
  • Şartlar ve Koşullar
  • Sorumluluk Reddi
  • Yayın İlkeleri
  • Hukuka Aykırılık Bildirimi
  • Künye
  • İletişim

© 2023 Beyger Media

Sonuç yok
Tüm Sonucu Görüntüle
  • Bilim
    • Fizik
    • Kimya
    • Biyoloji
    • Arkeoloji
    • Jeoloji
    • Ekoloji
    • Genetik
    • Dilbilim
    • Sinirbilim
    • Bilim İnsanları
    • Psikoloji
  • Teknoloji
    • İnternet
    • Mobil
    • Mobil Uygulama
    • Otomobil
    • Oyun
    • Kripto Para
    • Yazılım
      • İşletim Sistemleri
      • Programlama
    • Enerji
    • Biyoteknoloji
  • Uzay
    • Astrofizik
    • Astronomi
    • Gezegenler
    • Keşifler
  • Gelecek
    • Robotik
    • Ulaşım
  • Tarih
    • Medeniyetler
  • Evrim
    • Paleontoloji
  • Sağlık
    • Beslenme
    • Gıda
    • Meditasyon
    • Hastalıklar
    • Cinsel Sağlık
  • Yaşam
  • Çocuklar İçin Bilim

© 2023 Beyger Media