Nasıl Yazılım Mühendisi Olunur ? | MakroSpot
Devir teknoloji devri, haliyle bu devrin en ön planda olan mesleklerinden biri ise yazılım mühendisliği. Özellikle bilgisayar ile tanıştıktan sonra çevresindeki insanları dışlayıp, hafiften asosyal olan bizlerin en büyük hayallerinden biri geliştirici olmak. Peki nasıl yazılım mühendisi, geliştirici oluruz ? Nerden başlamamız gerekiyor, ne yapmamız, ne öğrenmemiz gerekiyor, programlamaya giriş nasıl başlar ? Başarılı bir geliştirici olmak için izlememiz gereken yol, yöntem nasıl olmalı ? İşte bugün sizler ile bu konuyu madde madde tartışacağız.
Yazılım mühendisliğine başlamadan önce yapmanız gereken işlerden ilki sabırlı olmak, asla pes etmemek. Belki şu satırları okurken bile bir kaçınız sayfayı kapatıp çıkıyor. İşte böyle yaparak baştan kaybedersiniz. Eğer yazılım mühendisi olmak istiyorsanız gerek öğrenim sürecinde gerekse sonrasında sabırlı olmayı başarabilmek.
Neden mi ? Dışardan baktığınızda her şey çok ilgi çekici gelebilir ancak işin içine girdiğinizde hemen sıkılmaya başlayacaksınız. Çünkü ilk aklımızdan geçen daha ilk günden cayır cayır kod yazmak. İstiyoruz ki daha ekrana “Merhaba Dünya” yazdırmışken bir sonraki adımda admin paneli döşeyelim, veritabanından veriler çekelim, asalım keselim.
Böyle dolu dolu başlayıp da beklediğinizi bulamayınca sıkılabilir ve bırakabilirsiniz. Ancak sabreder, dirayet gösterir ve devam ederseniz belki de bir haftaya kalmaz bahsettiğiniz işlemleri yapmaya başlayacaksınız. O yüzden asla ama asla ilk başladığınız günlerde pes etmemeye çalışın. İlk günler sıkıcı geçer. Bu ne ya ben böyle bir şey beklemiyordum diyebilirsiniz. Ancak bunlar sadece ilk günlerde yaşayacağınız ufak problemler.
Evet, bir karar verin! Ne olmak istiyorsunuz, ne yapmak istiyorsunuz ? Bunun kararını öğrenmeye başlamadan önce vermeniz gerekiyor. Çünkü aldığınız bu karara göre öğrenmeniz gereken dilleri ve dilerseniz sonrasında frameworkleri öğreneceksiniz.
Kendinize sorun ne yapmayı seviyorum ? Tasarım mı ? Yoksa daha hesap kitaba dayalı kodlar yazmayı, arka planda yer alan işleri çevirmeyi mi ?
Eğer tasarım seviyorsanız Front End, arka planda yer alan hesap kitap işleriyle ilgilenmek bana göre diyorsanız Back End, ben ikisini de seviyorum diyorsanız Full Stack geliştirici olabilirsiniz.
Sonrasında alanımızı belirliyoruz. Mesela android uygulaması veya oyunu mu yapmak istiyorsunuz ? O zaman Javayı seçmelisiniz Ya da web alanında bir backend geliştirici mi olacaksınız ? O zaman da Php, Asp.net gibi dilleri tercih etmelisiniz ve öğrenmeye başlamalısınız.
Temel Eğitimleri Sıkı Tutun!
Temel eğitimlerden kastım en basitinden bir değeri ekrana nasıl yazdırırız ? Nasıl değişken atarız, döngüler nedir ve nasıl kullanılır ? Bunları bilmek zorundayız. Özellikleri döngüler bizim için çok önemlidir ve ilerde gerek veri tabanından bir değer çekerken ve çektiğiniz bu değerleri kullanırken sürekli bu döngülerden yardım alacaksınız. Özellikle foreach döngüsü en favori döngülerinizden biri olacak tekrar tekrar sayısız kez kullanacaksınız.
Bu yüzden if else kalıplarında for, while döngülerinde bol bol pratik yapın ve örnekler çözün. Döngüleri nasıl kullanacağınızı, bunlar ile neler yapabileceğinizi az çok bilin.
Mutlaka Videolu Dersleri İzleyin.
Asla yazılı kaynaklara bağlı kalarak programlama öğrenmeye çalışmayın. Dökümantasyonlar üzerinden ilerlemek başlangıç seviyeler için karışık gelecektir. Mutlaka youtube veya diğer siteler üzerinde yer alan güncel programlama videoları ile öğrenmeye çalışın.
Videoda gördüğünüz uygulamaları taklit edin. Videoyu çeken kişi ne yapıyorsa önce aynısını, sonra benzerlerini yapmaya çalışın. Ancak asla videoda anlatılanların önüne geçmeye çalışmayın, kafanızı boş yere karıştırmayın. Yanlış öğrendiğiniz bir bilgi eğer kafanıza yerleşirse, o fikri söküp atmak zor olur ve sürekli bildiklerinizi karıştırmanıza neden olur.
Projeler Üzerinden ilerleyin.
Temel seviyede öğrendikten sonra hemen bir projeye geçerek, bir proje üzerinde öğrenin. Yani mantığınız ” önce adam akıllı bir öğreneyim de, ondan sonra başlarım kodlamaya” olmamalı !!! Aksi halde peygamber sabrı dahi olsa sıkılıp bırakırsınız. Proje üzerinden ilerlemek hem daha eğlencelidir, hemde uygulamalı olarak öğrendiğiniz için daha akılda kalıcıdır.
Mesela döngüleri öğrendik, pratik yaptık. Az çok html de biliyoruz değil mi ? O zaman direk blog yapımı, admin paneli yapımı gibi projelere başlayın. Tabi k i tek başınıza değil. Yine internette videolar arayın ve bu dediklerimi yapan adamları izleyerek, onları taklit edin. Onlar ile birlikte admin paneli yapın. Böyle böyle bir bakmışınız kendi admin panelini yapmanız için bir yere bakmanız gerekmiyor. Çünkü ne yapmanız gerektiğini, nasıl yapmanız gerektiğini biliyorsunuz.
Hep kendi alanımdan örnek veriyorum ancak bu anlattıklarım diğer alanda uğraşan arkadaşlar içine geçerli. Her zaman uygulamalı eğitime öncelik verin. Aksi halde hem çok yavaş öğrenirsiniz hemde programlama öğrenmek sıkıcı gelir ve bırakabilirsiniz.
Peki uygulamalı eğitime devam ettik, tek başımıza projeler hazırladık ve başta ulaşmak istediğimiz o noktaya ulaştık. Artık ne yapacağız.
Ee şimdi ne yapıcaz ?
İsterseniz direk öğrendikleriniz ile hayallerinizdeki projeleri oluşturabilir isterseniz de eğitiminize devam edebilirsiniz. Bir çok geliştirici bugünlerde programlama dilleri için hazırlanan frameworklere doğru kaymaya başlıyor. Bu frameworkler hem daha pratik, hem daha güvenli, hemde daha gelişmiş projeler oluşturmanızı sağlıyor.
Artık bu noktadan sonrası sizin tercihinize kalmış. Ancak elbette bu nokta tepenin zirvesi değil. Siz sadece dağın dibinde gördüğünüz o yüksek noktaya çıktınız. O noktaya geldiğinizde fark edeceksiniz ki aslında öğrenmeniz gereken tonlarca şey var, gelişmenin bir sınırı yok. Hem kendinizi, hem projenizi hemde kodlarınızı aslında çok daha üst noktalara taşıyabilirsiniz.
Ancak bu noktadan sonra her şey daha eğlenceli olacak inanın bana. Çünkü artık idenizi açtığınızda ekrana boş boş bakmayacaksınız. Yada bir şeyler yapmak için izlediğiniz videodaki adamı beklemeyeceksiniz. Ne yapmanız gerektiğini ve nasıl yapmanız gerektiğini biliyorsunuz. Tek yapmanız gereken.. vagrant up!
(Umarım kendimi örnek alarak hazırladığım bu rehber, bir başkası için yararlı olmuştur. Umarım birilerini pes etmemesi konusunda ikna edebilmişimdir. Belli mi olur, belki şuan geleceğin Steve Jobs’u ile konuşuyorum 🙂
Etiketler: geliştiriciprogramlamayazılım mühendisi