Nasıl Yazılım Mühendisi Olunur?

Ortak yazar: wikiHow Kadrosu | 19 Referans

Bu Makalede:İlk Kariyer Olarak Yazılım Mühendisliğine GirmekYazılım Mühendisliğine Sonradan Geçiş Yapmak

Teknoloji gelişip günlük hayatta daha büyük yer kapladıkça teknoloji profesyonellerine olan ihtiyaç da artıyor. Yazılım mühendisleri, bilgisayarların kullandığı ve hayatımızı kolaylaştıran programların geliştirilme sürecini tasarlıyor ve yön gösteriyorlar.

1
İlk Kariyer Olarak Yazılım Mühendisliğine Girmek

  1. 1
    Bilgisayar bilimleri veya ilişkili bir alanda derece edin. Çoğu yazılım mühendisi pozisyonu lisans diploması gerektirir.[1] Bilgisayar bilimlerinde lisans yapmak, yazılım tasarlama ve mükemmelleştirme için gereken bilgi birikimini sağlar. İş mülakatlarını yapanlar çoğu zaman veri yapılarına ve algoritmalara odaklanan sorular sorarlar, o yüzden seni buna en iyi hazırlayacak olan şey, geleneksel bilgisayar bilimi derecelerinin sağladığı kuramsal altyapı. Bununla birlikte, muhtemelen okul dışında da yazılım geliştirerek hatırı sayılır zaman geçirmen, böylece öğrendiğin kuramsal kavramları gerçek yazılımlar yazmaya uygulaman gerekecek.
    • Ön lisans derecesiyle ya da kendi kendine öğrenerek de bu pozisyonda iş bulmak mümkün. Bu yolu seçeceksen Github gibi bir sitede, becerilerini gösteren, tamamlanmış ve işlevsel projelerden oluşan sağlam bir portföyün olmalı. Ayrıca kendine ait bir konseptin yoksa açık kaynak projelerini takip edip onların hatalarını gidererek ya da yeni özellikler ekleyerek de katkıda bulunabilirsin. Açık kaynak, bir yazılımın kodunun (kaynağının) herkes tarafından görülebilir (yani açık) olması demektir. Bu genelde herkesin bir projeye kod göndermesini ve proje sorumlularından onay beklemesine izin verir. Arkadaş canlısı geliştiricilerden oluşan bir topluluğa sahip bir açık kaynak projesi bulmak, temel becerileri edindikten sonra kendini hızla geliştirmeni sağlayabilir.
  2. 2
    Programlamaya hemen başla. Daha lisedeyken bile kendi kendine programlama öğrenerek yarışa bir adım önde başlayabilirsin.
    • Yazılım mühendisliği sadece kodlama üzerine odaklanmaz. En azından birkaç programlama dili bilmen ve bu dillerin nasıl işlediklerini etraflıca anlaman gerekir. En yararlı dillerin hangisi olduğuna ilişkin fikir birliği olmasa da aşağıdakilerin hepsi de popüler seçimler:
      • Python
      • Ruby
      • JavaScript
      • C#
      • Java
      • C++
    • Unutma ki bazı diller bazı tür problemleri çözmede diğerlerinden daha iyidir. Hiçbir programlama dili bir diğerinden üstün değildir. Hiçbir dil objektif olarak bir diğerinden daha basit de değildir. Çoğu dil belli tür sorunlar hedeflenerek yazılır ve bu tür sorunları çözmede iyiyken başka sorunları çözmede zayıftır. Bolca deney yapıp kendi tarzını bul. İlk başta tek bir dilde, yalnızca en basit programları çalıştırmayı öğren. Bir dilde kendini rahat hissedince ikinci bir dile başla. Tüm dilleri öğrenmene gerek yok. Bir boşluk yakala ve o konuda uzmanlaş!
    • Gençler için MIT (Massachusetts Teknoloji Enstitüsü) tarafından geliştirilen Scratch adında bir web sitesi ve programlama aracı var. Bu araç, programlama kavramlarını göz korkutan metinler değil de görsel unsurlar kullanarak öğretiyor. Soyut kavramlara ve metinlere değil de görsel unsurlara odaklandığında kendini daha rahat hisseden yetişkinler için de faydalı.
  3. 3
    Veri yapılarını ve algoritmaları çalış. “Algoritma” bir problemi çözen formül ya da süreç demektir.[2] İki nokta arasındaki en kısa mesafeyi bulmayı,[3] geniş bir veri kümesinde belli bir veri aramayı[4] ve verileri belli bir düzene göre sıralamayı[5] algoritmanın yaygın örnekleri arasında gösterebiliriz. Bir “veri yapısı” ise verileri belli problemleri çözmeyi kolaylaştıracak biçimde organize etme yöntemidir[6]. Bunun yaygın örnekleri arasında, verilerin belli bir sıraya göre birbiri ardına dizildiği dizileri (array) ve veriyi listedeki konumuna değil de belli bir “anahtara” göre depolayan anahtarlı tabloları (hash table) gösterebiliriz[7][8]. Yazılım mühendisi olarak iş bulduktan sonra başarılı olmanı sağlayacak becerileri geliştirmeye ve sürdürmeye odaklan.[9]
    • (İsteğe bağlı) Matematik öğren. Matematik, bilgisayar bilimleriyle ilgili tüm lisans programlarının bir parçasıdır ve birçok algoritmanın ve veri yapısının temeli matematiğe dayanır. Yüzde yüz gerekli olmasa da sağlam bir matematik altyapısı, algoritmaları analiz etmede ve yeni algoritmalar geliştirmede sana daha üstün beceriler sağlar. Eğer en ileri araştırma ve geliştirme projeleriyle uğraşan şirketlerde çalışmayı planlıyorsan o zaman matematik olmazsa olmaz. Kurumsal şirketlerde rahat bir iş bulmayı hedefliyorsan ileri düzey matematik o kadar da şart değil.
    • Yazılım içeren tüm matematik dersleri gibi ayrık matematik de çok yararlı bir çalışma alanı.
  4. 4
    Çalışmalarını destekle. Eğitim sistemleri çoğu zaman modası geçmiş şeylerdir. Ders kitapları, yazılım güncellemelerinin gerisinde kalır. Eğitim kurumları başarın için anahtar rol oynayacak kuramsal kavramları ve düşünme yollarını öğretir; o yüzden yabana atmaman gerekiyor. Ama sonuçta paranı, kuramı gerçek hayattaki yazılımlara uygulama becerine göre kazanacaksın. İşte çalışmalarını desteklemek de burada önem kazanıyor.
    • StackOverflow'da gezin. StackOverflow, yazılım geliştiriciler için bir soru cevap sitesi. Kendini geliştirmek istediğin teknolojiyi, problem alanını ya da programlama dilini belirtmek için etiketlere göre arama yapabilirsin. Başkalarının yanıtlarını inceleyerek mühendislerin problemleri nasıl çözdüklerini öğrenebilirsin. Zekice çözümleri sık kullanılanlara eklemek kendi problem çözme takım çantanı oluşturmana yardımcı olur.
    • Kodlama için alıştırma sitelerini kullan. CodeWars ve CodinGame gibi siteler, becerilerini test etmen için binlerce problem sunuyor
    • Sana ilham vermesi, bağlantılar sağlaması ve çalışmalarını nereye yöneltmen gerektiği konusunda yol göstermesi için gerçek hayatta bir topluluk bul. Meetup gibi siteler, yazılım mühendisleri bulup meslek hakkında ayrıntılı bilgi edinmek için harika yerler olabilir. Eğer genel mühendislik toplantıları bulmakta zorlanıyorsan belli dillere ya da teknolojilere odaklanmayı dene. Sosyal medya sitelerini de araştır.
  5. 5
    Yazılım geliştir. Becerilerini geliştirmenin en iyi yolu onları kullanmak. Projeler ister profesyonel olsun ister kişisel, yazılım tasarlamak ve kodlamak sana çok şey öğretecek. Birçok işveren, pratik başarılara not ortalamasından ya da kuramsal bilgiden daha çok değer verir.[10]
    • Geliştirdiğin yazılımlardan para kazanmayı hedeflemiyorsan onları İnternet'e koy! Potansiyel işverenler, becerilerini değerlendirmek için yarattığın projeleri ve onlar için yazdığın kodu görmek ister. Bu aynı zamanda becerilerini geliştirmek için geri bildirim almanın harika bir yolu.
  6. 6
    Staj yap. Birçok yazılım mühendisliği öğrencisi, bir yandan okurken bir yandan da staj yapar.[11] Bu, potansiyel işverenlerle bağlantı kurmanın ve pratik deneyim kazanmanın mükemmel bir yolu olabilir. İş bulma web sitelerinden ve tanıdıklar aracılığıyla staj fırsatlarını araştır.
  7. 7
    İş fırsatları kovala. Yazılım mühendisliği hızlı gelişen bir alan. İşe programcı olarak başlayıp yazılım geliştirme adımlarını yavaşça tırmanabileceğin gibi, hemen işe girme şansın da var[12]. Okulu bitirmeden iş bakmaya başla:
    • Üniversiteler genelde mezunlarının iş bulmasına yardımcı olur. Üniversitedeki hocalarınla, bölüm çalışanlarıyla ve kariyer hizmetleri ofisiyle iş fırsatlarını konuş.
    • İşlerin büyük kısmı tanıdık çevresi aracılığıyla bulunur.[13] Kişisel kontaklarını kullan, kariyer toplantıları ve konferanslar aracılığıyla sektörden insanlarla tanış.
    • İş bulma sitelerini düzenli olarak kontrol et. İş bulma sitelerinde profil oluştur, özgeçmişini yükle ve bunları hem çevre edinmek hem de iş başvuruları için kullan.
  8. 8
    Kariyer hedeflerini gözden geçir. Yazılım sektörü sürekli değişiyor. Bilgini ve pratik becerilerini geliştirerek buna ayak uydurabilirsin ve kariyerine yön vermek için birçok fırsatın olacak. İşte, iş bulma şansını artırmanın birkaç yolu:
    • Çevre edinme fırsatları için profesyonel bir organizasyona katıl.
    • Eğer sektörde uzun vadeli planların varsa yüksek lisans yapmayı düşün. Çoğu pozisyon için şart olmasa da, yüksek lisans yapmak sektör lideri firmalarda, yönetici pozisyonlarında ya da gömülü yazılım alanında istihdam edilmeni büyük oranda kolaylaştırır.[14] Yüksek lisans derecesi, kariyerinin başında sana hatırı sayılır bir maaş artışı da getirebilir.
    • Sertifikalar bazı alt alanlarda ve bölgelerde yardımcı olsa da bazılarında daha az istenmene yol açabilir.[15] Bu programlara kaydolmadan önce, aynı uzmanlık alanındaki mühendislerle konuş. Genelde geleneksel kurumsal ortamlarda sertifikalar sevilir. Ama yeni teknoloji şirketleri ve ilerlemeci firmalar bunlara zaman kaybı gözüyle bakabilir. Yine de daima istisnalar mevcut. Bazı ülkelerin de sertifikalara bakışı farklı oluyor. O yüzden yazılım mühendisleriyle bağlantıya geçip yaşadığın yerde sektörün nasıl işlediğini anlamaya çalış.

2
Yazılım Mühendisliğine Sonradan Geçiş Yapmak

  1. 1
    İş potansiyelini bil. Yazılım geliştirme alanı mükemmel bir istihdam olanağına sahip. Yazılım mühendisliği, temel programlamaya kıyasla çok daha fazla aranan bir uzmanlık. ABD’de ortalama yazılım geliştirici geliri yıllık kabaca 80.000-100.000 dolar.[16][17]
  2. 2
    Programlamayı hemen öğren. Pratik yazılım tasarımı ve kodlama ilk önceliklerin olmalı. Bu deneyimi edinmenin birkaç yolu var:[18]
    • İnternet'teki dersler ya da sana öğretmeye gönüllü arkadaşlar sayesinde programlamayı öğren.
    • Kitlesel çevrimiçi açık derslere (MOOC) katıl.
    • Biraz deneyimin varsa GitHub’da diğer programcılara katkıda bulun.
    • Biraz para ve boş zamanı gözden çıkarabileceksen en hızlı öğrenme yöntemlerinden biri, kod yazma kampları. İnternet'ten mutlaka araştırma yap çünkü bazı programlama kampları sektörde pek sevilmiyor ve paranın karşılığını vermeyebilir.
  3. 3
    Deneyimlerinden faydalan. Yazılım, uzmanlaşma gerektiren bir konu olabilir fakat önceki kariyerinin, sana fayda sağlaması için illaki bilgisayarla ilgili olması gerekmiyor. Yazılım mühendisliği büyük oranda analitik beceriye, problem çözmeye ve takım çalışmasına dayalı olabilir. Dahası bir sektörü tanıman, o sektör için yazılım tasarlarken yarar sağlayabilir.
    • Hobiler ve ilgi alanların bile çevre edinmene yardımcı olabilir hatta işine tutku katabilir. Bunlara oyun uygulamalarını, dijital müzik paketlerini ya da iş yazılımlarını örnek verebiliriz.
    • Eğer mümkünse işin bir kısmını otomatikleştir. İşini kolaylaştıracak ve hızlandıracak araçlar inşa et. Yazılım mühendisliği özünde problem çözmedir. Yazılım yazmak, bir yazılım mühendisinin sorun çözme araçları arasında tercih ettiği yöntemdir. Her yer zaten çözülecek problemlerle dolup taşıyor! Şimdi başlamaman için hiçbir neden yok.
  4. 4
    Yüksek lisans yap (isteğe bağlı). Bir iki yıllık ya da yeteri kadar kendini adarsan birkaç aylık deneyimle bile bir programlama işi bulabilirsin. Herhangi bir başka alanda lisans derecen ve biraz da kodlama becerin varsa doğrudan yazılım mühendisliği yüksek lisans programlarına başvurmayı düşün.
    • Unutma ki bu çok pahalı bir seçenek olabilir. Ama kendini motive etmede güçlük çekiyorsan, bir topluluğa katıldığında ya da hobi denerken gerisini getiremiyorsan en etkilisi bu olabilir.
  5. 5
    Bağlantıların sayesinde iş bul. Neredeyse tüm sektörlerde yazılım geliştiriciye ihtiyaç duyuluyor. O yüzden önceki kariyerindeki iş çevren çok değerli olabilir. Uluslararası Mühendislik Derneği IAENG’in Yazılım Mühendisliği Topluluğu, Elektrik ve Elektronik Mühendisleri Enstitüsü IEEE’nin Bilgisayar Topluluğu – Yazılım Mühendisliği Teknik Konseyi (TCSE) veya Bilgisayar Derneği (ACM) gibi bir meslek birliğine katılmayı düşün. Yerel buluşmalara ve İnternet topluluklarına da bak. Yazılım dünyası şaşırtıcı derecede küçük olabilir ve doğru bağlantıyı bulmak önüne sayısız fırsat serebilir.

İpuçları

  • Bu sektördeki pozisyon adları standart değil. “Yazılım geliştirici” geniş kapsamlı bir terim. “Yazılım mühendisliği”nin daha çok uzmanlaşmış bilgi ve tasarımla ilgili olması gerekse de, kimi firmalar bu unvanı alt düzey programlama işlerini süslemek için de kullanıyor.[19]
  • Belli bir firmada çalışmayı hedefliyorsan doğrudan o firmanın İnternet sitesindeki iş olanakları kısmına bak.
  • Eski usul çalış. Bilgisayara geçmeden önce kâğıt üzerinde kod yazma alıştırması yap!
  • İş mülakatları genelde tahta karşısında olur. O yüzden arkadaşlarınla birlikte, tahtada kod yazmaya alış. Çoğu şirket kodun yazıldığı gibi çalışmasını umursamasa da, buna dikkat edenler olabilir.

Referans

Makale Bilgisi

Bu makale editörler ve araştırmacılardan oluşan, makalenin doğruluğu ile kapsamlılığını onaylayan, eğitimli bir ekip tarafından ortaklaşa yazılmıştır.

Kategoriler: Eğitim ve İletişim

Diğer dillerde:

English: Become a Software Engineer, Italiano: Diventare un Ingegnere Informatico, Español: ser un ingeniero de software, Português: Se Tornar um Engenheiro de Software, Русский: стать разработчиком программного обеспечения, Français: devenir ingénieur informaticien, Deutsch: Ein Software Ingenieur werden, 中文: 成为软件工程师, Nederlands: Software engineer worden, Bahasa Indonesia: Menjadi Teknisi Perangkat Lunak, العربية: أن تصبح مهندس برمجة, Tiếng Việt: Trở thành kỹ sư phần mềm, 한국어: 소프트웨어 엔지니어가 되는 법, हिन्दी: सॉफ्टवेयर इंजीनियर (Software Engineer) बनें, 日本語: ソフトウェアエンジニアになる

Bu sayfaya 1.029 defa erişilmiş.
Bu makale işine yaradı mı?