Teknoloji endüstrisi hızla ilerlerken ve giderek daha fazla sayıda kalifiye yazılım geliştiricisi gerektirdiğinden, bu meslek aynı zamanda programlama öğrenmek ve yetenek için yüksek talep ve cömert ücretlerin avantajlarından yararlanmak isteyen herkes için daha erişilebilir hale geliyor. Onlarca yıllık programlama deneyimine sahip yazılım geliştirme gazileri, programlama dilleri ve geliştirme süreçleri hakkındaki bilgilerin sınırlı olduğu ve yalnızca basılı ders kitaplarında, bazen kalitesi şüpheli olduğunda, bu mesleğin ne kadar farklı olduğuna dair hikayeleri sık sık paylaşırlar. Programlamaya yeni 10-15 yıl önce başlayan yaşlılar bile bugün yazılım geliştirici olmanın çok daha kolay olduğu konusunda hemfikirdir ve bu hem kodlama becerileri edinmenin kolaylığı hem de sonrasında asıl işi yapmak söz konusu olduğunda doğrudur.
Ancak bugün, 2021'de programcı olmayı (ve olmayı), diyelim ki yirmi yıl önce, 2001'de olduğundan çok daha kolay kılan tam olarak nedir? Bunun daha detaylı incelemenin ilginç bir konu olabileceğini düşündük ve şimdi yapacağımız şey de bu.
Yazılım geliştiricinin işini her zamankinden daha kolay hale getiren araçlar
Tabii ki, yazılım geliştirme endüstrisi geliştikçe, tüm araçlar, yaklaşımlar ve teknolojiler onunla birlikte gelişiyor, daha güçlü ve kullanımı kolay hale gelirken, bilgi giderek daha erişilebilir ve daha kapsamlı hale geliyor. Ancak çok uzun zaman önce kullanılmayan ve şu anda kodlayıcıların çoğunluğu tarafından yaygın olarak kullanılan bazı araçlar gerçekten fark yaratıyor. İşte bizce en dikkate değer olanları.
1. Git ve GitHub.
Git, küçükten çok büyük projelere kadar her şeyi hız ve verimlilikle işlemek için tasarlanmış ücretsiz ve açık kaynaklı bir dağıtılmış sürüm kontrol sistemidir. İlk olarak 2005'te piyasaya sürülen Git hızla bir endüstri standardı haline geldi ve geliştiricilerin yazılım projelerinin kod ve sürümlerindeki değişiklikler üzerinde çok daha iyi kontrole sahip olmalarının yanı sıra birden çok kodlayıcının işbirliğini çok, çok daha verimli ve düzenli hale getirmelerini sağladı. GitHub, sürüm kontrolü ve işbirliği için bir Git kod deposu barındırma platformudur. İlk olarak 2008'de kullanıma sunulan GitHub, kısa süre sonra dünyanın önde gelen yazılım geliştirme platformu haline geldi. GitHub, geliştiricilerin açık kaynak projelerine işbirliği yapmasını ve katkıda bulunmasını, kod için uygun belgeler oluşturmasını, çalışmalarını başkalarına sergilemesini vb. kolaylaştırır. “Daha önce Apache Subversion (SVN) kullanıyordum, merkezileştirilmiş, yani tüm değişiklikler tek bir sunucuda saklanır. Bu, taahhüt ettiğinizde değişikliklerinizin doğrudan yüklendiği anlamına gelir. Bazen oldukça stresli olduğunu hatırlıyorum ve "Bunun işe yarayıp yaramadığından emin değilim ama bu kodu saklasam iyi olur" anlarıyla başa çıkmak gerçekten zordu. Oysa Git ile taahhütte bulunabilir ve daha sonra zorlamak için endişelenebilirsiniz (ve şüpheniz varsa, her zaman dallara ayrılabilirsiniz)," deneyimli bir C++ Geliştiricisi olan Guillaume Elias,
hatırlatır .
2. IntelliJ IDEA ve diğer IDE'ler.
IntelliJ IDEA, Java ile yazılmış ve SQL, JPQL, PQL, HTML, JavaScript, Kotlin vb. gibi çok çeşitli diğer dilleri anlayıp bu diller için akıllı kodlama yardımı sağlayabilen entegre bir geliştirme ortamıdır. Eklenti aracılığıyla Scala, Rust, PHP, Ruby ve diğerleri. İlk IDE - Microsoft'un Visual Basic (VB) - 1991'de piyasaya sürülmesine rağmen, orijinal IDE'ler geliştiriciler tarafından iyi karşılanmadı. Bu durum, IntelliJ IDEA'nın 2001'de piyasaya sürülmesinden sonra 2000'lerin başında güçlü özellikler ve entegrasyonlar eklenerek benimsenmeye başladığında değişti. Sonuç olarak, 2010'larda IDE'ler ve özellikle IntelliJ IDEA, yazılım geliştiricilerin çoğu için fiili bir standart haline geldi. “1980'lerde başladım, komut satırları ve make dosyaları standart olduğunda. Entegre kaynak seviyesi hata ayıklayıcısına sahip bir IDE (ilki Lightspeed C idi) çok büyük bir gelişmeydi. O zamandan beri her gelişme kademeli olarak gerçekleşti. Daha entegre işlevlere sahip daha iyi IDE'ler, geliştirme sürecini iyileştirmiştir, ancak bu yalnızca aşamalıdır. Kaynak hata ayıklamalı IDE, programlama dillerinin birleştiricinin ötesinde geliştirilmesiyle karşılaştırılabilir bir kuantum sıçramasıydı," emekli bir yazılım geliştiricisi ve bilgisayar bilimi eğitimcisi olan William Hembree,
dedi .
3. Yığın Taşması.
Kodlamayla ilgili bilgilerin alınması söz konusu olduğunda, 2000'lerin sonlarında ve 2010'ların başlarında, geliştiriciler için artan sayıda yeni mesaj panosu ve topluluk platformuyla çok şey değişti. Stack Overflow, her ay 50 milyondan fazla kodlayıcı tarafından ziyaret edilen geliştiriciler için en popüler çevrimiçi topluluktur. 2008'de kullanıma sunulan Stack Overflow, programcıların bilgi alışverişinde bulunmalarını ve birbirleriyle iletişim kurmalarını kolaylaştırdı ve kodlamaya yeni başlayanlar için öğrenme süreçlerini basitleştirdi. “Aklıma gelen ilk şey Stack Overflow. Şimdi diyeceksiniz ki bu bir araç değil ama öyle. 2008'den önce insanların sahip olmadığı paha biçilmez bir bilgi kaynağı. El kitaplarımız, kitaplarımız ve akıl hocalarımız (kıdemli geliştiriciler) oldu ve SO'dan önce insanlar hemen hemen bu şekilde bir şeyler öğrendiler ve paylaştılar,” diyor Hırvatistan'dan kıdemli bir yazılım mühendisi olan Antonio Nesic,
işaret ediyor .
4. Yönetilen bulut hizmetleri.
Yönetilen bulut hizmetlerinin artan şekilde benimsenmesi, günümüz programcılarının işlerini kolaylaştırmada da önemli bir rol oynadı. Sırasıyla 2006 ve 2008'de başlatılan Amazon Web Services ve Microsoft Azure gibi bulut hizmetleri kullanılabilir hale geldikten ve kitlesel olarak benimsendikten sonra, programcıların sistemin çalışması için sunucuları ve ağları kurması ve bakımını yapması için artık çok fazla kişiye ihtiyacı yok. Bulut hizmetleri aynı zamanda yazılım geliştirmeyi çok daha verimli hale getirdi çünkü günümüzde gelişen ekipler bireysel düzeyde daha küçük ve daha üretken olabiliyor. “Dinamik web programlamaya başladığımda bir ASP vardı ve .NET için açık kaynaklı bir web çerçevesi olan ASP.NET'ten değil, MS Access veritabanını kullanan eski güzel klasik ASP'den bahsediyorum. Evet, beni iyi duydun. MySQL veya MSSQL veya benzeri bir şey kullanmadı. Buna bir MS Access veritabanı eklersiniz. Ve sonra bir sunucunuz ve istemciniz olur. Ve o kadardı. Kadar basit. Bugünlerde DigitalOcean, Linode, Google Cloud, AWS, Azure vb.
5. Proje yönetimi ve iletişim araçları: Jira ve Slack.
Son olarak, Jira ve Slack'in yanı sıra proje yönetimini ve geliştiriciler ile diğer uzmanlar arasındaki iletişimi çok daha iyi organize ve planlı hale getiren diğer benzer araçlardan kesinlikle bahsetmeliyiz. Jira, ilk olarak 2002'de piyasaya sürülen ve kullanıcıların çevik ve yazılım geliştirme projelerini planlamasını, izlemesini ve yönetmesini sağlayan tescilli bir sorun izleme çözümüdür. Ayrıca, programcıların daha verimli bir şekilde işbirliği yapmasına, iş akışını özelleştirmesine, hataları izlemesine ve birikmiş işleri yönetmesine olanak tanıyan birçok başka işlevi de vardır. Slack, konulara göre düzenlenmiş sohbet odaları, birkaç kişiyle sohbetler için özel gruplar, görüntülü aramalar vb. gibi çoklu mesajlaşma ve ortak çalışma özelliklerine sahip bir iş iletişimi platformudur. İlk olarak 2009'da piyasaya sürüldü ve kısa sürede yazılım geliştirme ekipleri için en popüler iletişim aracı haline geldi. Brett Watters, başka bir deneyimli programcı, bahsetmeye değer diğer araçları hatırladı. "Skype, Teams, IM, SharePoint ve diğer benzer araçlar artık fiziksel toplantılar, tartışmalar, uzun e-posta alışverişleri vb.
dedi .
Neden bir yazılım geliştiricisi olmak da bugün her zamankinden daha kolay?
Tabii ki, yeni araçlar ve teknoloji geliştirme ile yazılım geliştiricinin işi kolaylaştıkça, profesyonel bir programcının sahip olması gereken öğrenme becerileri de eskisinden çok daha erişilebilir ve başlangıç dostu hale geliyor. Peki son on veya yirmi yılda yazılım geliştirme eğitiminde neler değişti? Birçok şey. Bilgi hacmi arttı ve birden fazla kaynaktan ve birden çok yoldan erişilebilir hale geldi, öğrenme teknolojileri de geliştirildi.
- Ücretsiz programlama dersleri.
Kısmen harika işbirliği araçlarının ve platformlarının mevcudiyeti ve hem çevrimiçi hem de çevrimdışı hızla büyüyen geliştirici topluluklarının bir sonucu olarak, bugün bir programlama dili öğrenmek isteyen yeni başlayanlar, çevrimiçi öğrenmek için birden fazla ücretsiz öğretici bulabilirler. Bu, özellikle Java gibi çok popüler programlama dilleri söz konusu olduğunda doğrudur. İnternette bir sürü ücretsiz Java öğreticisi var. Oracle'ın
Resmi Java Eğitimleri kesinlikle bir tavsiyeye değer. Diğer bazı harika etkileşimli çevrimiçi Java eğitimleri, LearnJavaOnline.org ,
JavaBeginnersTutorial.com ve Tutorials Point'te bulabileceğiniz eğitim olacaktır .
- Gelişmiş çevrimiçi öğrenme kursları.
Öğrenme planları, oyunlaştırma öğeleri, sosyal özellikler içeren ileri düzey programlama öğrenme derslerinin varlığı ve öğrencilere yararsız teoriler yerine uygulanabilir becerilerin öğretilmesine vurgu yapılması, günümüzde yazılım geliştirme eğitiminde fark yaratan bir diğer unsurdur. Utangaç olmak istemem ama CodeGym, tamamen yeni başlayanlar için iyi olan ve tamamen işlevsel Java geliştiricileri olan mezunlar verebilen gelişmiş bir çevrimiçi öğrenme kursunun muhtemelen en iyi örneğidir. CodeGym, mümkün olan en etkili şekilde kodlamada nasıl daha iyi olunacağını öğrenmek için mükemmeldir - bolca pratik yaparak. İlk CodeGym dersinden başlayarak, teorik bilgileri uygulamalı pratik becerilerle desteklemenize yardımcı olmak için tasarlanmış birçok farklı görev (bulmaca) ile Java'nın temellerini yavaş yavaş öğreneceksiniz.
- Programlama hazırlık platformları.
Kodlamaya yeni başlayanların pratik yapabilecekleri ve iş görüşmelerine hazırlanabilecekleri çevrimiçi hazırlık platformları, 2000-10'lara kadar olmayan bir başka önemli yeniliktir. En popüler hazırlık platformlarından bazıları
LeetCode ,
Interview Cake ve
HackerEarth'tür . CodeGym, 1200'den fazla görevi ile bu arada bir hazırlık platformu olarak da sınıflandırılabilir. Oyunlaştırılmış ve kullanımı eğlenceli bir platform, eklenebilir.
- Programlama hakkında YouTube kanalları, bloglar ve podcast'ler.
Çok sayıda kullanıcı tarafından oluşturulmuş içeriğe sahip yeni medya, yeni başlayanların YouTube kanalları , bloglar ve podcast'ler aracılığıyla doğrudan kendi alanlarındaki uzmanlardan bilgi almasına yardımcı olarak harika bir öğrenme kaynağı olabilir .
Örnek olarak, bugün Derek Banas ,
Programming with Mosh ,
Oracle'ın Java kanalı ,
Adam Bien ve
vJUG gibi
Java'ya yeni başlayanlar için çok sayıda harika YouTube kanalı bulabilirsiniz .
Sonunda, gerçekten harika bazı
kodlama oyunları piyasaya sürüldü. Bildiğimiz gibi ve CodGym bunun
canlı bir kanıtıdır , oyunlaştırma öğrenmenizi güçlendirmenin ve süreçte eğlenirken daha iyi ilerleme kaydetmenin oldukça harika bir yolu olabilir . Kodlamayı öğrenmeye uygulandığında, yeni başlayanların zor programlama kavramlarının ve tekniklerinin özünü daha hızlı ve daha az çabayla kavramasına yardımcı olur. Bugün programlama öğrenmenin ve bir yazılım geliştiricisi olarak çalışmanın her zamankinden daha kolay olduğuna katılıyor musunuz, yoksa karşıt bakış açısını kanıtlayan bir şeyi mi kaçırdık? Aşağıdaki yorumlar bölümünde bize bildirin.
GO TO FULL VERSION