Yazar | javinpaul
Çevirmen | Zhang Tao
Editör | Carol
Bu makale, yazarın 2020'de her programcının bilmesi veya öğrenmesi gerektiğine inandığı becerileri paylaşmaktadır. Programlama dilleri arasında C ++ ve Java bulunur. Gerekli bilgisayar kavramları arasında veri yapıları, algoritmalar ve bilgisayar ağı kavramları bulunur. Araçlar arasında Git, Docker, Kubernetes ve kapsayıcılar bulunur. Bulut bilişim kavramları ve platformları arasında AWS, GCP ve Microsoft Azure bulunur. Evergreen becerileri şunları içerir SQL ve UNIX, editörler arasında Eclipse, Visual Studio, metin düzenleyicileri VIM ve NotePad ++ vb. İçerir.
Bu makalede verilen liste tam olmayabilir, ancak programcıların bilmesi gereken beceriler için iyi bir başlangıç noktası sağlar. Yazılım geliştirme alanında bir kariyerle ilgileniyorsanız veya programlamada bir iş arıyorsanız, bu makalenin içeriği bilmeniz gereken şeydir ve rekabet gücünüzü artırmak için kullanılabilir.
Daha fazla uzatmadan, işte hangi işle uğraşırsa uğraşsın her programcının bilmesi gerektiğini düşündüğüm bazı beceriler. Bunların hepsi gerekli becerilerdir ve sizin için uzun süre kullanılacaktır. Zamana, paraya ve çabaya yaptığınız herhangi bir yatırım, kariyeriniz boyunca karşılığını almanıza yardımcı olacaktır.
2020'de yazılım mühendisleri için 11 temel beceri
1. Kapsayıcılar (Docker ve Kubernetes)
Yazar, 2020'de programcıların, yazılım mühendislerinin, veri bilimcilerin ve hatta proje yöneticilerinin Docker ve Kubernetes gibi kapsayıcılar ve araçlar hakkında biraz bilgi sahibi olması gerektiğine inanıyor.
Docker gibi kapsayıcılar yalnızca geliştiricilerin birleşik bir ortamda yararlı testler yapmasına yardımcı olmakla kalmaz, aynı zamanda dağıtım sürecini de basitleştirebilir. Docker yardımıyla uygulamalar hızlı bir şekilde devreye alınabileceği gibi süreç izolasyonu da sağlanabilir. Docker'a benzer şekilde Kubernetes, kapsayıcıları yönetmeye yardımcı olabilecek bir kapsayıcı aracıdır .
Başka bir deyişle, uygulama ölçeklenebilirliği konusunda endişelenmenize gerek yok çünkü Kubernetes veya K8'ler bu sorunu otomatik olarak çözebilir. Araştırmacılar, geliştiricilerin 2020'de Docker ve Kubernetes'i öğrenmelerini tavsiye ediyor.
2. Bulut platformu (AWS, GCP, Azure)
Kapsayıcılara ek olarak, bulut bilişim, yazılım mühendislerinin ve veri bilimcilerin 2020'de öğrenmesi gereken başka bir bilgidir. Bulut bilişimin düşük maliyeti ve iyi ölçeklenebilirliği nedeniyle, farklı alan ve boyutlardaki işletmeler bulut platformuna geçiyor, bu da er ya da geç bulut uygulamalarıyla uğraşmanız gerektiği anlamına geliyor.
Bu özellikle veri bilimi, makine öğrenimi ve yapay zeka alanları için geçerlidir. Çünkü modelin gerektirdiği bilgi işlem gücünü yalnızca bulut platformu sağlayabilir. Amazon Web Service (AWS), Google Cloud Platform (GCP) ve Microsoft Azure, yaygın bulut platformlarıdır. Ancak hepsini öğrenmenize gerek yok, bir tane öğrenerek diğer platformların bilgilerini belirli bir şekilde anlayabilirsiniz.
AWS, en yaygın ve olgun bulut platformlarından biri olduğu ve sektörün AWS bilgisine sahip geliştiriciler ve sistem yöneticileri için büyük bir talep görmesi nedeniyle araştırmacılar AWS'yi öğrenmeye başlamayı öneriyor.
3. Veri yapısı ve algoritma
Programcı olmak istiyorsanız, veri yapılarını ve algoritmaları anlamalısınız. Çünkü bu, tüm programlama iş görüşmelerinin ana argümanıdır, Diziler, bağlantılı listeler, grafikler ve koleksiyonlar gibi temel veri yapıları bilgisi olmadan pratik uygulamalar geliştirmek imkansızdır.
Bu nedenle her programcının bilgisayar bilimleri derslerinde çok sayıda veri yapısı ve algoritma dersi vardır.
4. Sürüm kontrol aracı (Git)
Kaynak kontrolü, kodu kaydetmek için kullanılır.Programcı veya yazılım mühendisi olmak istiyorsanız, Git ve SVN gibi sürüm kontrol araçlarını anlamanız gerekir.
Şu anda, kuruluşların% 70'inden fazlası Git kullanıyor, bu nedenle araştırmacılar ayrıca Git öğrenerek başlamayı öneriyor.
5. Metin düzenleyici (VIM)
Bir programcı olarak her gün bir metin editörü kullanıyorum. Bazı programcılar bile her gün metin düzenleyicileri kullanıyor. Araştırmacılar tarafından yaygın olarak kullanılan iki metin editörü NotePad (Windows) ve VIM'dir (Linux).
Şu anda, birçok metin düzenleyici seçeneği var, Araştırmacılar, IDE işlevleri sağlayan bu gelişmiş düzenleyicileri Sublime ve NotePad ++ 'ı önermektedir.
6. IDE'ler (VSCode veya IntelliJIDEA)
Eclipse ve Visual Studio Code gibi IDES, programcılar için en önemli araçlardır. C, C ++ ve C # dillerini kullanan programcılar için Visual Studio şüphesiz bir seçimdir ve python geliştiricileri için Jupiter Notebook iyi bir seçimdir.
Java programcıları için sırasıyla 3 önerilen IDE vardır Eclipse, NetBeans ve IntelliJ'dir. Yazarın en sevdiği IDE aracı Eclipse'dir.
7. Veritabanı ve SQL
30 yıllık bir geçmişe sahip ve bir klasik haline gelen SQL, 30 yıl daha popüler olacağını tahmin ediyor. Programcıların SQL veri standardizasyonu ve tablo tasarımı gibi veritabanı kavramlarına aşina olması gerekir.
Mevcut ana veritabanı yazılımı Oracle, MySQL, Microsoft SQL Server, PostgreSQL ve benzerlerini içerir. En önemli şey, veriler de dahil olmak üzere veritabanına aşina olmaktır. eklemek Veri ayıklamak için SQL sorgusunu güncelleyin, silin ve kullanın. Birleştirme gibi veritabanı kavramlarını anlamak bir artı olacaktır.
8. UNIX (Linux)
SQL gibi UNIX'in de 30 yılı aşkın bir geçmişi vardır. Programcıların çoğu durumda Unix makinelerinde çalışması gerektiğinden, Linux komut satırı bilgisini anlamak çok önemlidir.
Çünkü bu, dosyaları aramak, sistem çalışmasını anlamak için CPU ve bellek kullanımını kontrol etmek ve temel ve gelişmiş görevleri gerçekleştirmek gibi daha verimli çalışmanıza olanak tanır.
9. OOP programlama dili (C ++, Java, Python)
Bir programcı olarak, C ++, Java, Python ve JavaScript gibi bazı programlama dillerini bilmek gerekir. Öğrenmek istediğiniz dili seçebilirsiniz, ancak yazar şahsen en azından Java öğrenmenizi ve anlamanızı önerir.
Java yeni başlayanlar için çok uygun ve çok güçlü olduğu için, web geliştirmeden büyük veriye kadar doğrudan kullanılabilecek birçok kütüphane işlevi vardır.
10. Ağ temelleri
Bugünün dünyası, okullarda ve ofislerde bilgisayar ağları ve WiFi ile birbirine bağlı bir dünyadır. Çoğu uygulama bağımsız bir bilgisayarda çalışmaz.İstemci-sunucu modelindeki istemci, sunucu tarafından sağlanan hizmetlere ve uygulamalara dünyanın herhangi bir yerinden İnternet aracılığıyla erişebilir.
Bir programcı olarak, uygulamaları geliştirmek ve desteklemek için gerekli olan ağ temelini anlamalısınız.
11. Komut dosyası dili
Sekizinci olmazsa olmaz beceride yazar, geliştiricilerin programlama dillerini öğrenmelerini tavsiye eder ve burada kodlama dillerini öğrenmeleri önerilir. Programlama dilleri betik dilleri olarak kullanılabilir mi?
OOP programlama ve python gibi komut dosyaları için, bu tür diller komut dosyası geliştirme için kullanılabilir, ancak C / C ++ veya Java öğreniyorsanız, O halde Python veya Perl gibi dilleri öğrenmek çok önemlidir çünkü komut dosyası yazma dilleri daha hızlıdır.
Programlama dünyasında, komut dosyası dilleri yaygın sorunları çözmek için kolayca araçlar ve komut dosyaları oluşturabilir. Python gibi bir betik dili öğrendikten sonra, günlük işleri kolayca otomatik hale getirebilirsiniz.
Bunlar, yazarın programcıların öğrenmesi gerektiğine inandığı 11 beceridir. Bilgisayar öğrencileri ve hevesli programcılar yukarıdaki talebe göre iyi bir programcı olmayı öğrenebilirler.
Orijinal bağlantı:
https://dev.to/javinpaul/11-essential-skills-software-developers-should-learn-in-2020-1bio