Her Yazılım Geliştiricisinin Bilmesi Gereken 10 Şey

Kendi kendinize programlama öğreniyorsanız ve her yazılım geliştiricisinin veya programcının öğrenmesi ya da bilmesi gereken en temel şeylerden bazılarının neler olduğunu merak ediyorsanız, hazırladığım başlıkları dikkatle okumanızı tavsiye ederim.


Kendi kendinize programlama öğreniyorsanız ve her yazılım geliştiricisinin veya programcının öğrenmesi ya da bilmesi gereken en temel şeylerden bazılarının neler olduğunu merak ediyorsanız, hazırladığım başlıkları dikkatle okumanızı tavsiye ederim.

Bir yazılımcı  blog yazarı olarak , okuyucularımdan, özellikle de yazılıma yeni adım atmış güzel insaların , yazılım geliştirme alanında bir kariyere hazırlanması için neler yapabilir? Ve iyi bir programcı olmayı nasıl öğrenebilirim? Veya junior bir geliştiriciden neler bekleniyor? Sorularına cevap vereceğim .

Yazılım geliştirme alanında bir kariyer hedefliyorsanız ve bir programlama işi arıyorsanız, o zaman bunlar öğrenebileceğiniz ve geliştirebileceğiniz şeylerdir.

Siberci

Her Programcı ve Yazılım Geliştiricisinin Bilmesi Gerekenler

Yazılımcıya Ufak Bir Tavsiye

Daha fazla uzatmadan, işte kişisel olarak inandığım şeylerin listesi. Bunlar temel becerilerdir ve size uzun süre yardım edecektir.

Bu becerilere zaman, para ve emek anlamında yapılan herhangi bir yatırım, kariyeriniz boyunca sizlere ve bana 🙂 ödüller kazandıracaktır.

1) Veri Yapıları ve Algoritmalar

algoritmalar

Programcı olmak istiyorsanız, veri yapısını ve algoritmalarını iyi bilmeniz gerekir;başka hiçbir yolu yoktur.

Bu, herhangi bir programcının iş görüşmesinin önemli konularından biridir ve temel veri yapılarını (örn. Dizi , bağlantılı liste , harita , küme) bilmeden , bir uygulama yazmak mümkün değildir.

Bu nedenle her programcının bilgisayar bilimleri dersinde veri yapılarını ve algoritmaları öğrenmek için ciddi çaba sarf etmesi gerekir.

Kendi kendine öğreniyor olsan bile , veri yapılarını ve algoritmaları da bilmelisin; Aslında, birçok programlama size veri yapıları ve algoritmaları ilk şey olarak öğretecektir.

2) Kaynak Kontrolü

ag-kontrol

Kaynak kontrolü kodunuzu saklamak için kullanılır ve programcının takım içinde işbirliği yapmasına yardımcı olur. Örneğin, eğer birçok programcı aynı kod tabanında çalışıyorsa, ancak farklı özelliklerde çalışıyorsa, Git gibi kaynak kontrol araçları, birlikte projeler geliştirmenize yardımcı olacaktır. Kısacası, bir kodlayıcı veya yazılım geliştiricisi olmak istiyorsanız, Git veya SVN gibi sürüm kontrol araçlarını bilmeniz gerekir.

Neyse ki Git ve Github piyasayı kolaylaştırdı ve şimdi kuruluşların % 70’inden fazlası Git’i kullanıyor, bu nedenle sadece Git’i öğrenerek kendinize ve kariyerinize büyük artılar eklersiniz.

Bu arada Git’i, komut satırında öğrenmek için biraz çaba harcamalısınız ve hem komut satırını hem de GUI’yi kullanarak dallanma ve birleştirme gibi gelişmiş sürüm kontrol kavramlarıyla da içli dışlı olmalısınız.

3) Metin Editörleri

yazi-editörleri

Sistem Yöneticileri gibi programcı olmayanlar ve bilgisayarlarla çalışan herkes için bile en önemli araçlardan biridir.

Linux’ta Windows ve VIm’da çoğunlukla NotePad’i kullandım , ancak IDE benzeri işlevler sağlayan Sublime ve NotePad ++ gibi gelişmiş editörler için birçok seçeneğiniz var.

4) IDE’ler

en-iyi-java-ide

IntelliJIDEA veya AndroidStudio gibi IDE’ler, programcılar için en önemli araçtır. C, C ++ ve C # programcısı için seçim açıktır: Visual Studio. Ve Python geliştiricileri için, Jüpiter Notebook her geçen gün daha da iyiye gidiyor.

Java programcıları için seçilecek üç ana IDE vardır: Eclipse , NetBeans ve IntelliJ IDEA .

5) Veritabanı ve SQL

sql-nedir

SQL, herhangi bir yazılım geliştiricisi için klasik ve muhtemelen en değerli bir beceridir. 30 yıldan fazla süredir var ve sanırım 30 yıl daha sürecek. Veritabanının her yerde bulunması göz önüne alındığında, bir programcıdan SQL ile birlikte normalizasyon ve tablo tasarımı gibi temel veritabanı kavramlarını bildiği beklenir .

Oracle , Microsoft SQL Server , MySQL , PostgreSQL gibi birçok veritabanı var. Kilit nokta, veritabanına aşina olmanız gerektiğidir. Verileri nasıl ekleyeceğinizi / güncelleyeceğinizi ve silmek için  SQL sorguları nasıl yazacağınızı bilmelisiniz .

Gelişmiş kavramlar hakkında bilgi sahibi olmak, büyük bir avantajdır ve bunu elde etmek istiyorsanız Udemy ve YouTube ‘ dan yararlanmanızı tavsiye ederim.

6) UNIX veya Linux

linux-hakkinda

SQL gibi, UNIX de zamanın testinden vazgeçti. Aynı zamanda 30 yıldan fazla süredir var ve umarım gelecek yıllarda da olur.

Çoğu programcının bir noktada Linux makinelerinde çalışması gerektiğinden, Linx komut satırının iyi bilinmesi sizleri ileride çok büyük bir yükten kurtaracaktır.

Etkili çalışmanıza izin verir. Dosyaları arayabilir, CPU ve bellek kullanımını kontrol ederek sistemde neler olup bittiğini öğrenebilir ve temel ve ileri düzey işlemleri gerçekleştirebilirsiniz.

7) Microsoft Excel

programcilar-icin-exceljpg

“Excel’i bu listeye neden aldın” diyeceksiniz fakat yine de Excel’in programcılar, yazılım geliştiriciler, proje yöneticisi, tüccarlar ve iş adamları için en önemli araçlardan biri olduğunu düşünüyorum. Elektronik tablo yazılımından çok daha fazlasını Excel ile yapabilirsiniz.

Gelişmiş veri analizi yapmak için birçok yararlı özellik ve işlev sunar. İlerlemeyi izlemek, verileri kümelemek, veri bilimlerini , veri kalite kontrollerini ve proje planlamasını yapmak için Excel tam size göre bir araçtır .

Birkaç kullanım alanı var ve bu yüzden her programcıyı Excel’i derinlemesine öğrenmeye teşvik ediyorum. Yalnızca verileri kopyalayıp yapıştırmak yerine, öğeleri karşılaştırmak için arama, sıralama, filtreleme ve VLOOKUP gibi temel işlevleri bilmeniz gerekir.

8) Programlama Dilleri

programming-languages

Elbette, bir programcı olmak istiyorsanız, bir programlama dili bilmek zorundasınız: C ++ veya Java veya belki Python veya JavaScript . Ne istersen onu seçebilirsin ama benim kişisel önerim, en azından Javascript’i bilmen gerektiği.

Başlamak çok kolay ve bu yüzden yeni başlayanlar için iyi bir seçim. Aynı zamanda son derece güçlü ve neredeyse her şeyi yapmanıza izin veriyor.

9) Ağ Temelleri

aglar-nedir

Günümüz dünyası birbirine bağlı bir dünya ve gittiğiniz her yerde, evinizden başlayarak, birçok cihazda Wi-Fi kullandığınız, yerel alan ağı (LAN) kullanan okullara, kolejlere ve ofislere kadar bilgisayar ağları bulacaksınız.

Web uygulamaları veya Mobil uygulamalar gibi yazacağınız uygulamaların çoğu da bağımsız olmayacak ancak isteğin ağ üzerinden bir sunucuya gideceği, istemci-sunucu türü bir uygulama olacaktır. Müşteriler, uygulamanıza dünyanın her yerinden erişmek isteyecekler. Sonuç olarak, uygulamanızı anlamak, geliştirmek ve desteklemek için ağ temellerini anlamanız gerekir.

10) Script Dilleri

2019-dilleri-python

Sizden bir programlama dili öğrenmenizi istedim ve yine sizden burada bir betik dili öğrenmenizi istiyorum.Aynı programlama dili bir script dili olarak kullanılamaz mı?

Pekala, kesinlikle hem OOP kodlaması hem de Python gibi scriptler için iyi olan bazı programlama dilleri var ve bu yüzden size en azından onları öğrenmenizi tavsiye edebilirim.

Fakat eğer C / C ++ veya Java’yı seçerseniz, Python veya Perl geliştiricisinin yapabildiği kadar hızlı bir şey çıkaramazsınız .

Betik dili, programlama dünyasındaki genel sorunları çözmek için araçlar ve betikler oluşturmayı kolaylaştırır. Python gibi bir betik dili üzerinde iyi bir komutunuz varsa, sıradan şeyleri kolayca otomatikleştirebilirsiniz.

Bir kez daha, bir taşla iki kuş vurmak  için Python’u öğrenmeni öneririm.

Programcı olmak isteyen veya Yazılım Geliştirme veya Web Geliştiricileri’ne katılmak isteyen tüm insanlar, başarılı bir programcı olmak için gereken şeyleri, araçları ve becerileri öğrenmek için ilk olarak merak ve azim gerekli.

Başta herkes kod yazar fakat yazılımcı olamaz !

Siberci

Sonuç Olarak :

Yazılıma şuan veya daha önceden başlamış herkes için geçerli iki madde var diyebilirim :

1-) Sorunu Çözemediğin Zaman Çözene Kadar Asla Pes Etme !

2-) Çözdükten Sonraki Mutluluk Paha Biçilemez ! Bunu Asla Unutma !


Beğendin mi? Arkadaşlarınla paylaş!

10
5 paylaş, 10 Puanlar
Ahmet Kaptan

13 Yorum

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

  1. merhaba. bem ahmet daha 15 yaşındayım android uygulama yapmak istiyorum. web tasarımı biliyorum(ama daha öğreneceğim çok şey var)ııı css html ve php dillerini kullanarak bir kaç prıje yaptım. acaba python ile android uygulama yapılabiliyormu?

  2. Python da multiplatform desteği sunan beeware adlı bir proje var ve geleceği de açık görünüyor fakat daha yeni bir proje o yüzden ne kadar mantıklı bilemem

    1. Bill Gates , Elon Musk ve daha birçok örneği var. Ayrıca bunun elbetteki ülkeler arası farkı var fakat iyi isen herkesin sana ihtiyacı olur 🙂

  3. Bilgisayar da yazılım ile ilgili herşeyi yapmak istiyorum, hatta oyun yazma, 3D modelleme bile. Bunun için en uygun bilgisayar nedir?
    (Fazla pahalı olmayan)

      1. Merhaba selamlar ben bir kamu kurumunda çalışıyorum. .yazılıma merakım var öğrenmek ıstiyorum ancak laptop akmak konusunda cevrende bana yardımcı olacak pek kimse yok sizce hangi marka laptop almaliyim..yardımcı olursanız sevinirim..iyi günler bolsans

  4. Merhaba arkadaslar! Bende bir cok programlama dili biliyorum. C# pascal, python3, html, css, javascript, gml. Bir cok oyun yaptim, bircok site yaptim ve daha neler yaptim. 13 yasimdayim programlamaya 9 yasimda kendi hevesim ile basladim. Sadece yazilim ile oyun yapmak mumkunmu. Varsa bi cevap falan yazin. Bunu demem unity unreal gamemaker gibi oyun motorlar var ama bagimsiz olarak yapmak istiyorum. Mesela C.A.T.S Clash of Clans, shadow fight 2 benzeri oyunlar oyun motoru kullanmadan yaptilar. Bende bagimsiz olarak oyun yapmak istiyorum. Sadece yazilim ile oyun yapmak mumkunmu? Ve caprazlama yazilim nasil yapilir(Mesela css ile c# yada Java ile C++ile python buna benzer)