Eğer kendi kendine programlama öğreniyorsan ve her yazılım geliştiricisinin öğrenmesi ya da bilmesi gereken en temel şeylerin neler olduğunu merak ediyorsan, bir yazılımcı olarak yapmayı öğrenebileceğin temel şeylerin bir listesi burada.
Genellikle yeni başlayanların kafasında şu sorular oluyor: Bilgisayar bölümü mezunları, yazılım geliştirme alanında bir kariyere hazırlanmak için neler yapabilir? İyi bir programcı olma yolunda ilerlerken ne öğrenilebilir? Junior bir geliştiriciden neler bekleniyor?
Bunlar çoğunlukla üniversite öğrencileri, junior developerlar, internet sayesinde bilgi hazinesine erişimi olan ve programlama iş görüşmelerine hazırlanmak için önceden bir şeyler öğrenmek isteyen insanlar.
Bu makalede, bu sorulara cevap olması için her yazılımcının bilmesi veya öğrenmesi gerektiğini düşündüğüm şeyleri paylaşacağım.
Buna, C ++ veya Java gibi bir programlama dilleri, veri yapıları, algoritmalar ve bilgisayar ağları ile ilgili temel bilgisayar bilimi kavramları, Git, Microsoft Word ve Excel gibi temel araçlar, SQL ve UNIX gibi beceriler, Eclipse veya Visual Studio gibi editörler ve metin editörleri dahildir.
Bu liste tam olmasa da bir yazılımcının bilmesi gereken şeyler için iyi bir başlangıç noktası sağlar. Yazılım geliştirme alanında bir kariyer hedefliyorsan ve bir programlama işi arıyorsan, o zaman bunlar rekabette kalabilmek için öğrenebileceğin ve geliştirebileceğin şeylerdir.
Bunun yanında aşağıda listelenen temel beceriler, sana uzun süre hizmet eder. Bu becerilere zaman, para ve emek anlamında yapılan herhangi bir yatırım, kariyerin boyunca değer kazanacaktır.
1. Veri yapıları ve algoritmalar
Programcı olmak istiyorsan, veri yapısını ve algoritmalarını iyi bilmen gerekir; başka hiçbir yolu yok!
Bu, herhangi bir programlama işi mülakatının önemli konularından biridir ve temel veri yapılarını bilmeden (örneğin; dizi, bağlantılı liste, harita, küme) gerçek dünyadan 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 öğrenen bir yazılımcı olsan bile, o zaman da veri yapılarını ve algoritmaları bilmelisin. Aslında, birçok programlama eğitimi sana veri yapıları ve algoritmaları ilk olarak öğretecektir.
2. Sürüm kontrolü (Git)
Sürüm kontrolü, kodu 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 ancak farklı özelliklerde çalışıyorsa, Git gibi sürüm kontrol araçları birbirlerini değiştirmeden üst üste gelmelerine yardımcı olur. Kısacası, bir kodlayıcı veya yazılım geliştirici olmak istiyorsan, Git veya SVN gibi sürüm kontrol araçlarını bilmen gerekir.
Neyse ki Git ve Github piyasayı kolaylaştırdı ve şimdi şirketlerin %70'inden fazlası Git'i kullanıyor, bu nedenle muhtemelen sadece Git'i öğrenerek kurtulabilirsin.
Bu arada, Git'i komut satırında öğrenmek için biraz çaba harcamalısın ve hem komut satırını hem de GUI'yi kullanarak aracın yanı sıra dallanma ve birleştirme gibi gelişmiş sürüm kontrol kavramlarıyla da rahat olmalısın.
3. Metin editörleri (Vim)
Programcı veya yazılımcı olarak çalışırken Vim gibi bir metin editörü kullanmadığın bir gün olmayacak. DBA'lar ve 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 kullanabilirsin, ancak IDE benzeri işlevler sağlayan Sublime ve NotePad ++ gibi gelişmiş editörler için birçok seçeneğin var.
En sevdiğin editör ve klavye kısa yollarını öğrenmek için biraz zaman harcamalısın, verimlilik ipuçları öğrenebileceğin bir şey.
4. Tümleşik geliştirme ortamları (IDE)
Eskiden yazılım geliştirmeye başlayan insanlar, Notepad veya DOS Düzenleyicisi'nde kod yazar ve sonra dosyayı kaydeder, ANT komut dosyasını çalıştırarak derleyiciyi komut satırından, creat paketinden çalıştırırlardı. Debugging ve Profiling gibi aktiviteler uzak bir hayaldi ama IntelliJIDEA ve Visual Studio gibi tümleşik geliştirme ortamları ortaya çıkışı, modern programcı geliştiricilerin softar uygulamalarını değiştirdi.
Başka bir deyişle, 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. IntelliJ IDEA, bunlar arasında en güçlü olanı.
5. Veri tabanı ve SQL
SQL, herhangi bir yazılım geliştiricisi için klasik ve muhtemelen en değerli beceridir. 30 yıldan fazla süredir var ve sanırım 30 yıl daha sürecek. Veri tabanının her yerde bulunması göz önüne alındığında, bir programcıdan SQL ile birlikte normalleştirme ve tablo tasarımı gibi temel veri tabanı kavramlarını bildiği beklenir.
Oracle, Micrsoft SQL Server, MySQL, PostgreSQL gibi birçok veri tabanı var, ancak bir tanesini bilmek yeterli. Kilit nokta, veri tabanına aşina olman gerektiğidir. Verileri nasıl ekleyeceğini, güncelleyeceğini, sileceğini ve geri almak için SQL sorguları yazacağını bilmelisin.
Bir toplama işlevine katılmak gibi gelişmiş kavramlar hakkında bilgi sahibi olmak büyük bir ikramiyedir.
6. UNIX veya Linux
SQL gibi, UNIX de popülerliğini koruyor; 30 yıldan fazla süredir var. Çoğu programcının bir noktada Linux makinelerinde çalışması gerektiğinden, Linx komut satırının iyi bilinmesi uzun bir yol kat eder.
Etkili çalışmana izin verir. Dosyaları arayabilir, CPU ve bellek kullanımını kontrol ederek sistemde neler olup bittiğini öğrenebilir, temel ve ileri düzey işlemleri gerçekleştirebilirsin.
7. Microsoft Excel
Excel programcılar, yazılım geliştiriciler, proje yöneticisi ve iş adamları için en önemli araçlardan birdir. Elektronik tablo yazılımından çok daha fazlasıdır.
Gelişmiş veri analizi yapmak için birçok yararlı özellik ve işlev sunar. İlerlemeyi izlemek, verileri uzlaştırmak, veri bilimlerini, veri kalite kontrollerini ve proje planlamasını yapmak için Excel kullanılabilir.
Birçok kullanım alanı var ve bu yüzden her yazılımcı Excel'i derinlemesine öğrenmeli. 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 bilmen gerekir.
8. Programlama dilleri
Bir programcı olmak istiyorsan, elbette bir programlama dili bilmek zorundasın: C ++, Java, belki Python veya JavaScript.
Ne istersen onu seçebilirsin ama en azından Java'yı bilmen gerekir. 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 yapmana izin veriyor. Web geliştirme gibi temel işleri yapmaktan, büyük veri ile daha karmaşık görevlere kadar kütüphanelere sahiptir.
9. Network temelleri
Bugün, birbirine bağlanan bir dünyada yaşıyoruz ve evin dahil, bulunduğun her ortamda, kullanabileceğin WİFİ ve yerel ağ bulabiliyorsun.
Web uygulamaları veya mobil uygulamalar gibi yazacağın uygulamaların çoğu da tek başına ek bileşen olmayacak ancak isteğin ağ üzerinden bir sunucuya gideceği istemci-sunucu türü bir uygulama olacaktır. Müşteriler, uygulamana dünyanın her yerinden erişecekler.
Sonuç olarak, uygulamanı anlamak, geliştirmek ve desteklemek için ağ temellerini anlaman gerekir.
10. Komut dilleri
Programlama dilinin yanında, bir komut dili öğrenmen gerekir. Neden mi? Aynı programlama dili bir komut dosyası dili olarak kullanılamaz mı?
Pekala, kesinlikle hem OOP kodlaması hem de Python gibi komutlar için iyi olan bazı programlama dilleri var ve bu yüzden en azından onları öğrenmelisin.
Fakat eğer C / C ++ veya Java'yı seçersen, Python veya Perl geliştiricisinin yapabildiği kadar hızlı bir şey çıkaramazsın.Bu yüzden her programcı Python'u öğrenmeli.
Komut dili, programlama dünyasındaki genel sorunları çözmek için araçlar ve betikler oluşturmayı kolaylaştırır. Python gibi bir komut dili üzerinde iyi bir komutun varsa, sıradan şeyleri kolayca otomatikleştirebilirsin.
Bilgisayar bölümlerinden mezun olan ve yazılımcı olmak isteyen herkes başarılı bir programcı olmak için gereken şeyleri, araçları ve becerileri öğrenmek için bu listeyi kullanabilir.
Yorum Yap :