Bir Yazılımcının Yol Haritası
Yazılım sektörü hem zevkli hem de bir o kadar yorucu bir sektördür. Bu mesleği severek yapmalısınız ve severek yaparsanız vazgeçmeniz pek mümkün olmaz. Çünkü yorucu olmasının yanında yaptığınız bir projenin anında binlerce kişiye ulaşmasının vermiş olduğu mutluluk tarif edilemez. Yazılım sektöründe sıkı bir çalışma ile ve bilgilerinizi deneyimleyerek çok çabuk ilerleyebilirsiniz.
Yazılımcı olmak için her zaman bilgiye aç olmanızı gerektir. Çünkü yazılım sektörü her dakika her saniye yeni bir güncellemenin yayınlandığı, yeni bir teknolojinin geliştiği, sürekli genişlediği için algınızı ve bilgilerinizi taze tutmanız gerekir. Öğrendiğiniz bir bilgiyi hemen pratik yapmanız yani kullanmanız gerekir böylelikle öğrendiğinizi pekiştirmiş ve kalıcı hale getirmiş olursunuz.
Bir yazılımcı olmak için pratik, hızlı ve esnek düşünmeyi benimsemelisiniz. Herhangi bir sektöre veya duruma ait sorunla karşılaştığınızda anın da çözüm üretebilmelisiniz. Anında beyniniz de farklı senaryoları canlandırım durum değerlendirmesi yapabilmelisiniz. Bu yetenek bilgiyi çok kullanıp bazı durumları deneyimlemek ve insanlarla diyalog halinde kalarak geliştirebilirsiniz.
Yazılımcılar her ne kadar asosyal olarak tabir edilseler de bir yazılım geliştirip bunu satıp kazanç elde etmek istiyorsanız hemen hemen her sektörde olduğu gibi insan ilişkilerinizi canlı tutmalısınız. Tabi kazanç noktasını sağlam bir proje ile birlikte işinde uzman pazarlamacılar ile çalışarak da çözümleyebilirsiniz.Yazılım sektörü çok katmanlıdır. Bunlardan bazı alanlar Frontend, Backend, Fullstack, Mobil, Database olarak sıralanabilir.
Frontend, kullanıcıların kullandıkları, karşılaştıkları ekranları tasarlayan, renk uyumlarını sağlayan ve ekrandaki nesnelerin kullanıcılar için kolay kullanılabilir olması için nerede bulunması gerektiğini ön görüp oluşturma işlemine denir. Frontend de bazen bu tasarım önünüze anlatılarak gelebilir veya bazen tasarım resmi olarak gelebilir bazen de bu işlemler tamamen size bırakılır ve bir çizime bağlı kalmadan işin konusu ile ilgili sizin öngörülerinize göre ekranı oluşturmanız beklenebilir. Genellikle web alanında bu terim kullanılır ancak mobil geliştirme ortamında da frontend geliştirici olmak mümkündür.
Backend, kullanıcının görmediği frontend kısmını besleyen arka plan kodlamalarıdır. Database ile ilişkiyi kritik kararları yazılımdaki veri güvenliğini backend sağlar. Genellikle işlerin en önemli kısmı bu bölümdedir ve önemli işlerin tamamını backend yürütür.
Fullstack, frontend, backend, database ve yeri geldiğinde mobilin birleştiği noktadır. Yazılımda her işi yapar anlamı taşır. Bir projeye başlar ve baştan sona kadar her adımını oluşturur. Yoğun bir çalışma gerektirir ama iş bulma anlamında diğerlerinden daha rahat iş bulur.
Mobil, internet tarayıcısından değil de telefon, tablet gibi taşınabilir cihazlara kurularak çalıştırılan yerleşik uygulamalar geliştiren alana denir. Burada geliştirme yaparken mobil cihazların firma işletim sistemi ve bu işletim sistemlerinin versiyonlarına göre uyumlu uygulamalar geliştirmelisiniz. Mobil uygulama geliştirmek için backend dende biraz bilgi sahibi olursanız mobil alanın da fullstack olabilirsiniz. Bir mobil uygulama cihazın yerelinde çalışacaksa web backend e ihtiyacınız olmayacaktır. Ancak bilgileri sunucu ortamında tutmak istediğinizde mevcut API ler ile haberleşme veya kendi API nizi geliştirme ihtiyacı duyacaksınız. Bu noktada web backend bilmeniz avantajınıza olacaktır.
Database, verilerin saklandığı ortandır. Veriler ne kadar düzenli ve kolay ulaşılabilir olarak kurgulanırsa uygulamalarınız o kadar hızlı çalışır. Database işini yeri geldiğinden FullStack ve Backend de üslenebilir. Ancak büyük veri ortamlarında Database i sadece bilmek değil uzmanı olmanız gerektirir. Çünkü büyük verilerde kullanılan tablo yapısı ve data dizaynı SQL cümlelerinizin performansını doğrudan etkiler.
FrontEnd İçin Öğrenmeniz Gerekenler
HTML, Web projelerinde ana yapıyı oluşturan taglardan oluşan yapıdır. Bir web sitesinde browserdan kaynağı görüntüle dediğinizde gözüken her bir tag ve onların attributiesleri HTML kodlarıdır. HTML kodlarını https://www.w3schools.com/html/default.asp adresinde inceleyebilir kullanımlarını deneyimleyebilirsiniz.
CSS – SaSS – Less, HTML de kullanılan kodların oluşturduğu görsel blokların renk, boyut ve tasarımının şekillendirildiği yani web projelerinin estetiğinin ayarlandığı bölümdür. SaSS ve Less CSS in daha gelişmiş versiyonlarıdır. İç İçe yapıları, değişken tanımlayarak farklı konumlarda kullanmayı, karar mekanızmaları oluşturmayı desteklerler. İşin sonunda SaSS ve Less npm ile otomatik CSS dönüştürülür ancak sizi CSS in kod karmaşasından ve büyük style kodlarından kurtarır. SaSS ve Less daha az kod ile çok iş yapmanızı sağlarlar. CSS kodlarını https://www.w3schools.com/css/default.asp adresinde inceleyebilir kullanımlarını deneyimleyebilirsiniz.
JavaScript, sayfanın dinamikliğini sağlayan mekanizmadır. Javascript ile runtime yani gerçek zamanlı kullanım esnasında HTML veya CSS de değişiklik yapabilir, BackEnd ile haberleşip canlı veriyi ekrana yerleştirebilir, ekrana animasyonlar katabilirsiniz. Javascript ham olarak kullanılabileceği gibi ham Javascript’in üzerine geliştirilmiş bir çok framework vardır. Bunların başında JQuery, VueJS, ReactJS, AngularJS, Blazor gelir. Bu kütüphaneler daha az kod ile daha fazla iş yapabilmemizi sağlarlar. Temelinde ham javascript’i kullanırlar. Özellikle VueJS ve ReactJS dünyada hızla gelişen yapılar olduğu için geliştiriciler arasında çok tercih edilir. Bu frameworkler hakkında internet ortamında oldukça fazla kaynak ve hazır kod bulabilirsiniz. Javascript kodlarını https://www.w3schools.com/js/default.asp adresinde inceleyebilir kullanımlarını deneyimleyebilirsiniz.
BackEnd İçin Öğrenmeniz Gerekenler
C#, .NET teknolojisi ile Microsoft’un desteklediği C türevi bir dildir. C# ile masaüstü uygulamaları, asp.net ile birlikte web sitesi, webapi, MVC geliştirmesi gibi uygulamalar oluşturabilirsiniz. C# ile yazmış olduğunuz projeler derleyici tarafından dll dosyalarına dönüştürülüp kapatılır ve sunucu ortamına attığınızda kodlarının açık bir şekilde gözükmez. Windows ortamına bağımlıdır. Yani çalıştığı işletim sistemi Windows olmalıdır. Ancak yapılan geliştirmeler ile .Net Core ile birlikte diğer platformlarda da çalıştırılabilir. Şirketler ve geliştiriciler tarafında sıklıkla tercih edilir.
PHP, oldukça fazla kullanıma sahip yıllar geçse de yılların eskitemediği bir C türevi dildir. PHP oldukça uzun zamandır geliştiriciler tarafından tercih edilir. Öğrenmesi kolay bir dildir. Birçok büyük projenin temelinde PHP vardır. Örneğin Facebook gibi. PHP üzerine geliştirilmiş çokça framework bulunur. Bunlardan başlıcaları Laravel, Zend, CodeIgniter, Symfony, CakePHP, Yii, Slim gibi en yaygın kullanılanlarıdır. Bunlardan en yaygın kullanılanı ve en kolay öğrenileni Laravel’dir. Bu framework’ler yaptığınız işi oldukça kısaltıp en kısa kodlama ve sürede sonuca ulaşmanızı sağlar. PHP yapısal olarak derleme motoruna ihtiyaç duymaz o yüzden sunucularda kodlarınız açık bir şekilde yayınlanır. Kod güvenliği için code crypt yöntemlerini kullanabilirsiniz. Her platformda çalışır.
Java, en güçlü programlama dillerinden biridir. Java ile birçok farklı (web, dekstop) uygulama geliştirebilirsiniz. Java uzmanı özellikle Türkiye piyasasında bulmak zordur. Java öğrenim anlamında zor ama öğrendiğinizde çok güçlü uygulamalar yapabileceğiniz bir dildir. Şirketler tarafından geliştirici bulması zor olduğu için fazla tercih edilmez. Genellikle büyük çaplı projelerde kullanılır. Her platformda çalışır.
Python, öğrenmesi çok kolay ve hızla geliştirici sayısı artan hafif ve bir o kadarda güçlü bir dildir. Python ile web uygulamaları, console uygulamaları, özellikle günümüzde hızla ivmesi yükselen yapay zeka uygulamalarında tercih edilir. Hızlı bir yapısı olduğu için makine kodlamalarında da çokça kullanılır. Her platformda çalışır.
NodeJS, javascript in backend versiyonudur. Yani sunucu taraflı uygulamalar yazmanızı sağlar. Oldukça hızlı çalışır. Web siteleri, Web API uygulamaları, Web Socket Uygulamaları vb birçok işlem de kullanılır. Her platformda çalışır.
Go, açık kaynak olarak geliştirilen öğrenmesi çok kolay ve çok hızlı çalışan bir dildir. Go Programlama Dili daha sistem programlama işlemleri için tasarlanmıştır. Ancak web API olarak kullanıp çok hızlı bir backend e sahip olabilirsiniz. Her platformu destekler.
Database İçin Öğrenmeniz Gerekenler
MySQL, açık kaynak ve tamamen ücretsiz olarak yayınlanan güncellemesi ve geliştirilmesi devam eden bir veritabanıdır. Hemen hemen her sitesinin veritabanı mysql dir. Oldukça geniş bir alanda kullanılır. Çok büyük veriye sahip olmayan satır sayısı milyonları geçmeyecek projelerde tercih edilir. Hızlı çalışan ve basit kullanımlı bir mimarisi vardır. Her backend diline uyumludur.
PostgreSQL, kuvvetli bir açık kaynak ilişkisel veritabanı yönetim sistemidir (RDBMS). PostgreSQL, genişletilebilirliği, standart uyumluluğu ve güçlü özellikleri ile bilinir. Web uygulamalarının arka uç veritabanı olarak sıkça kullanılır ve güvenilirlik ile performans konusunda güçlü bir itibara sahiptir.
MongoDB, popüler bir açık kaynaklı NoSQL (Not Only SQL) veritabanı yönetim sistemidir. Geleneksel ilişkisel veritabanlarından farklı olarak MongoDB, verileri JSON benzeri BSON (Binary JSON) formatında depolayan ve yöneten esnek ve ölçeklenebilir bir yaklaşım sunar.
MsSQL, Microsoft SQL Server (MS SQL veya MSSQL olarak da bilinir), Microsoft tarafından geliştirilen ve pazarlanan bir ilişkisel veritabanı yönetim sistemidir (RDBMS). MS SQL Server, Windows tabanlı sistemlerde geniş bir kullanım alanına sahip olup, büyük kurumsal uygulamalardan küçük ölçekli projelere kadar çeşitli senaryolarda kullanılabilir.
Oracle, Oracle Corporation tarafından geliştirilen ve pazarlanan bir ilişkisel veritabanı yönetim sistemidir (RDBMS). Oracle veritabanı, genellikle büyük kurumsal uygulamalarda ve veri yoğun işlemlerin gerçekleştirildiği ortamlarda tercih edilir. Oracle veritabanı, birçok endüstride kritik sistemlerde ve büyük ölçekli iş uygulamalarında kullanılmaktadır.
SQLite, açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir (RDBMS). SQLite, özellikle hafif, taşınabilir ve gömülü sistemlerde kullanılmak üzere tasarlanmıştır. İlk olarak 2000 yılında D. Richard Hipp tarafından geliştirilmiştir.
Redis, açık kaynaklı bir anahtar-değer deposu (key-value store) ve veri yapıları sunan yüksek performanslı bir veritabanı ve önbellek sistemidir. Redis, Salvatore Sanfilippo tarafından geliştirilmiştir ve BSD lisansı altında dağıtılmaktadır.
- Yazılımcı
- Programlama
- Web Yazılım
Tepkini Göster
- 3
- 2
- 2
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Yorumlar
Sende Yorumunu Ekle