/i/Yazılım

Umuyoruz ki geleceğin yazılımcıları bu altinciden çıkacak!
  1. 1.
    +36 -2
    Öncelikle kendimi tanıtayım.

    Ben geçen sene mezun olmuş bir Bilgisayar Mühendisiyim. Şu anda da yazılım mühendisi olarak özel bir şirkette çalışmaktayım.

    Kişisel ilgi ve uzmanlık alanım Java ve Android olmakla birlikte çalıştığım şirkette ERP yazılımları geliştiriyoruz ve müşterilerimizin geliştirdiğimiz erp konfigürasyonu ile entegre çalışmasını istediği desktop ve ya mobil terminal uygulamalarını .Net platform da geliştiriyoruz.

    Şimdi arkadaşlar yazılım işine meraklısınız ve nereden başlayacağınızı bilmiyorsunuz ama isteklisiniz değil mi?
    istek varsa tamam gerisi çok kolay, bilişim çağındayız artık her türlü kaynak elimizin altında.

    Bir kere her programcı istinasız her programcı olaya "Hello World" ile başlamıştır. Çok basit bir uygulama, başlangıç için yazılan her kaynakta da önce göreceğiniz örnek "HelloWorld" olacaktır.

    4 satırlık bu basit uygulamanın yapacağı tek iş uygulama çalıştığında ekrana "HelloWorld" yazacak, basit ama olaya burdan başlayacaksınız.
    (diğer entryde devam ediyorum)
    ···
  2. 2.
    +5
    Başlangıçta C gibi bir dil ile başlamanızı tavsiye ederim. Bol bol örnek kodlayarak, programlama dilinin yapısını, özelliklerinin kullanımı, soyutlama için bize neler sağladığını kavrayarak bol bol kodlama yapınız. Bu iş okuyarak öğrenilmiyor elleri kirleteceksiniz.

    Ayrıca C dili size güçlü algoritma yetenekleri kazanmanız da yardımcı olacaktır. C dilinde belirli bir noktaya geldikten sonra (pointer, dosya işlemleri konularını da hallettikten sonra) yazılım teknolojileri ve çalışma alanlarını inceleyin ve kendinize bir alan belirleyin.

    Eğer ki Türkiye de gömülü programcılık ile ilgilenmek istiyorsanız C,C++ ile devam edin. Ben bu dilleri biliyorum diyemem, belirli seviyede bilirim ama kral dillerdir, C,C++ developer lara saygım büyüktür ama beni açmıyor o diller zevk almıyorum.
    Dediğim gibi gömülü sistemlerde çalışmak istiyorsanız C,C++ da çalışmaya devam edin.

    Eğer gömülü sistemler üzerinde çalışmak istemiyorsanız o zaman sizi OOP(Object Oriented Programming-Nesne Yönelimli Programlama) olayına yönlendiriyorum. Web, mobil,desktop vs. uygulamalarının hepsi OOP diller ile geliştirilir. Mesela Android uygulamayı Java ile(C# ile de geliştiriliyor ama Java kadar güçlü olmuyor demişti birisi ama bilemiyorum açıkcası), IOS uygulamalar Swift ile(önceden Objective-C ile geliştiriliyordu fakat apple bu sene radikal bir değişiklik yapıp Swift e geçti, ama hala Objective-C ilede geliştirilebiliyor), windows phone .Net ile geliştirilir.

    Java,.Net, Phyton vs. gibi diller ile aynı zamanda web uygulamaları da geliştiriyorsunuz, desktop uygulamalarıda geliştirebiliyorsunuz.

    Phyton aynı zamanda gömülü yazılımda, firewall yazılımlardında oldukça sık kulanılır.
    (Diğer entryde devam)
    ···
    1. 1.
      0
      windowsta iphone uygulaması geliştirebilir miyiz panpa
      ···
      1. 1.
        +3
        panpa IOS a hiç uygulama geliştirmedim ama bildiğim kadarı ile Mac olmadan IOS ve Mac için uygulama geliştirilemiyor, yanlış biliyorda olabilirim ios a hiç bulaşmadım.

        Şu şekilde geliştirilir, hibrit sistemler var panpa, javascript kütüphaneleri ile yazılan uygulamalardır. Tek bir uygulama yazıyorsun hibrit sistemde android,ios, windows phone hepsinde çalışıyor. Ama çok yoğun işlem gerektiren uygulamalar için tavsiye edilmiyor hibrit sistemler, mesela oyun geliştirmek için tavsiye edilmez, daha çok otomasyon tarzı uygulamalar için kullanılır hibrit(örn. üniversite öğrenci bilgi sistemi mobil uygulamasında hibrit sistem kullanılır)
        ···
      2. 2.
        0
        Panpa bişi sorcam hangi üniverste mezunusun bide ne kadar kazanıon bende bilgisayar mühendisi olmayı düşünüyorum özelde bi işe girsem en az ne kadar kazanırım
        ···
  3. 3.
    +4
    En çok sorulan soru şu hangi dil? Java mı .Net mi Phyton mu PHP mi ...

    Arkadaşlar size sadece şunu söylüyorum;

    Mesele hangi dili biliyor olmanız değil.
    Mesela OOP mantığına ne kadar hakimsiniz?
    OOP anlayışla algoritma geliştirme konusunda kendinizi ne kadar geliştirmişsiniz?
    Size verilen problemleri OOP anlayışı ile soyutlayabiliyor musunuz?
    Size verilen problemlere çözüm olarak OOP mimarileri geliştirebiliyor musunuz?
    Geliştirdiğiniz mimarilerde hangi Design Pattern ları aktif bir şekilde ve uygun yerde kullanabiliyorsunuz?
    Ve her zaman benim en çok önemsediğim şey "Algoritmanız ne kadar güçlü".

    Bu dediklerimde kendinizi yetiştirin hangi dilde yetiştirdiğinizi o kadar kafaya takmayın.
    Siz bu dediklerima A dilinde hakimseniz gene OOP dillerden birisi olan B dilini öğrenmeniz fazla sürmeyecektir bundan emin olabilirsiniz.
    ···
  4. 4.
    +4
    Şimdi OOP diline geçtiğiniz de önce C den alışageldiğiniz syntax dan biraz farklı olacaktır, o yüzden kaynaklarda size verilen ilk örnekler gene C gibi yordamsal örnekler olacaktır.

    Ama nesne, sınıf vs. tanımlarına geldiğinizde bir üst entrymde saydığım şeylerde kendinizi geliştimeniz için mutlaka mutlaka dikkatli, kod ezberleyerek değil mantık kavrayarak ilerleyin.

    Ve size en önemli tavsiyem ALGORiTMiK DÜŞÜNME YETENEĞiNiZi geliştirmeniz için algoritmik problemler bakın ve onları çözmek için kafa yorun. Algooritmanız ancak böyle gelişir.

    Öğrenmeye devam edip seviyeniz ilerledikçe kendinize seviyenize göre projeler belirleyip onu yapın.

    Örneğin, Java da veritabanı işlemlerine kadar geldiniz, kaynaklara baktınız atıyorum MySQL üzerinden anlatan kaynaktan çalışıyorsunuz. O konuyu bitirdiniz, örnekleri yaptınız. Yeni konuya geçmeden önce kendinize bir otomasyon projesi yapın, mesela DVD kiralayan ve satan bir dükkanın otomasyon sistemini yazın ve bitirmeden yeni konuya geçmeyin.
    ···
  5. 5.
    +4
    Öğrendiğiniz dili seviyor musunuz? peki o zaman oradan devam edeceksiniz. Dil seçimi konusunda bana sorulan soruları şu şekilde yanıtlarım.

    Bana "Hangi dilde çalışayım, hangisini öğreneyim" diye bir soru geldiğinde

    "Sana bu işi hangi dil sevdiriyorsa onu öğren onda uzmanlaş" diyorum. Çünkü esas mesela bildiğiniz dil değil esas mesela yukarıda ki entrylerin birinde yazdıklarıma hakim olmanız.

    Zaten sektörde çalışmaya başladığınız da farklı dillerle programlama yapmanız istenebilir, ne demek istediğimi o zaman ve iş görüşmesine gittiğinizde anlayacaksınız.

    Öğrendiğiniz dillerde veritabanı işlemlerinden önce dosya işlemlerini(dosyadan veri okuma dosyaya veri yazma dosya aktarımı vs.) iyi öğrenin hem algoritmanızı güçlendirir hem de lazım olur.
    ···
  6. 6.
    +2
    Socket programlama, yani sunucu-istemci(server-client) uygulamaları, thread kullanımı, web-servis üzerinden veri çekebilme, web-servis methodlarına değer vererek method sonucunu alma vs. gibi işlemleri öğrenmeniz de sizin için iyidir, sektörde bu alanda iş aramaya çıktığınızda karşınıza gelecek sorular vardır bunlarla ilgili emin olabilirsiniz.

    Eğer web programcısı olmak isterseniz iki seçeneğiniz var Front-end developer, Back-end developer.

    Eğer Back-end ci olacağım diyorsanız ahanda şu zamana kadar anlattığım OPP dilini bilmeniz lazım, ama sektörde Back-end ciden de genelde Front-end bilmesi istenir, yani html, css, javascript, ajax(javascript, ajax bunlar biraz orta katman kalıyor) bilmekte fayda var.

    Yani seçtiğiniz OOP dilini öğrendikten sonra oturup düşüneceksiniz.

    Web uygulamaları geliştiren birisi mi olmak istiyorsunuz?
    Mobil mi?

    Daha sonra buradan onların teknolojilerini öğrenmeye ve o örnekleri yapıp çalışmak istediğiniz alan ile ilgili projeler geliştirmeye devam edeceksiniz
    ···
  7. 7.
    +4
    ilk başlarda zor gelecektir, öğrenemiyorum diyeceksiniz ama emin olun öğreniliyor.

    Ben üniversite 1. sınıfta C dilinden kaldım arkadaşlar.

    Algoritma çok önemli, tekrar tekrar söylüyorum Algoritmanızı geliştirin.

    ve şunu unutmayın;

    "Kimse size bir şey öğretmez, size bir şeyler öğretecek şey projelerinizdir."
    ···