Ana içeriğe atla

Yazılım ve Bilişim Sektöründe Çalışmak

Bu alanda çalışmak isteyen herkesin aklındaki ilk soru genelde yazılıma nasıl ve nereden başlamak gerektiğidir. Çoğu zaman bu sorunun cevabı bir programlama dili seçilerek ya da karşılaştırma yapılarak verilmeye çalışılıyor. Aslında soruya bu açıdan yaklaşmamak gerek. Çünkü programlama dili zamanla birlikte değişen ve evrilen bir teknolojidir. Yani popülarite ve ihtiyaçlar değiştikçe kullanılan programlama dili de değişmektedir. Aşağıdaki grafikte 2010 ve 2011 yılında programlama dilleri alanında kitapların sayısı karşılaştırılmış. Görüldüğü üzere zaman ilerledikçe popülarite ve programlama diline duyulan ihtiyaç azalıp artabilir. Yani burada en temel soruya verilecek cevap programlama dili değil.
Programlama dili cevap değilse ortada bir cevap olmalı değil mi ? Aslında temel sorumuzun cevabı bu alanda çalışmak için ilk etapta yazılım geliştirme metodlarını teorik olarak anlamaktır. Son yıllarda yazılım geliştirme süreçleri AGILE olarak ilerliyor.(Kaliteli ve gelişime açık bu işi hakkıyla yapan şirketlerde).. Programalama dili kullanımı değişsede tüm kaliteli şirketler iş yapış biçimi olarak AGILE çalışıyor. Bu iş yapış şekillerini öğrenmek ve kavramak size programlama dili bilgisinden daha çok şey katacaktır. Aşağıda son yıllarda waterfall ve scrum agile kelimelerinin trend analizleri var görüldüğü üzere iş yapış biçimi olarak agile şirketlerin süreçlerine yerleşti artık. Sözün özü ilk aşama şirketlerin kullandığı iş yapış biçimlerini öğrenmek ve kavramak olmalı(Agile&Scrum felsefelerini öğrenmek.)
İkinci aşama olarak, bazı temel kavramları bilmemiz gerekiyor. Yine bunları bilmekte bizlere bir programlama dili bilgisinden daha çok şey katacaktır. Bilmemiz ve ihtiyacımız olan kavramları özetleyecek olursak;
  1. Yazılım geliştirici diğer birimlerle iletişim kurmalı mı ? Neden kurmalı ?
  2. Modüler çalışmak bize ne anlam ifade ediyor ? Neden modüler çalışmamız gerekiyor ?
  3. Takım halinde yazılım geliştirirken nasıl senkron olunuyor ? Hangi teknoloji kullanılıyor ?
Bir yazılım geliştirici şirkete ihtiyacı olan süreçleri üreten kişi olduğu için birçok departmanla iletişim halindedir. İş birimiyle iletişim halindedir en temel olarak. Bir yazılım geliştiricinin iletşiminin kuvvetli olması gerekir çünkü yapılan işin tanımını kendisi değil iş birimi belirler. Üründe olması gereken feature’ları ve diğer değişiklikleri&geliştirmeleri iş birimi belirler yazılımcı ise bu ekiple iletişim kurarak istekleri optimize hale getirir ve teknik taraftaki tanımını yapar. Bu nedenle iletişim bir geliştirici için çok önemlidir.
Peki bir yazılımcı neden modüler çalışmalı ? Aslında bu sorunun cevabı tüm bilişim sektörü alanında çalışanlar için geçerlidir. Bilişim teknolojileri mimarları,veritabanı yöneticileri,sistem yöneticileri,devops mühendisleri vb.. Tüm birimler neden modüler çalışmalıysa bir yazılım geliştirici de o sebepten modüler çalışmalıdır. Ekipler ve bireyler günlük yapılacak işlerini belirledikten sonra bireysel bu unit of work’leri gün sonunda tamamlarlar. Bir yazılım geliştirici,günlük iş planını yaparken üzerine aldığı işleri gün içinde bitecek şekilde ufak parçalara bölmelidir ve modüler bir çalışma performansı sergilemelidir. Çünkü günün sonunda düzenli olarak repository’nin güncellenmesi tüm takım ve proje ekibi için önemlidir. Günlük olarak gelişen ve tamamlanan bir süreç yakalanmış olur. Modüler olarak çalışmak bize ürettiğimiz işlerin daha takip edilebilir ve anlaşılır olmasını sağlar.
Bir diğer kavram ise,bu insanlar takım halinde nasıl çalışıyor ? Kimse herşeyi tek başına yapmadığı için herkes takım halinde çalışıyor malum :) Burada insanlar ortak ve senkron çalışmak için Git teknolojilerinden yararlanıyor. Yani siz bir yazılım geliştirici olarak herşeyden önce Git teknolojisi nedir nasıl çalışır tarzı sorulara cevap verebiliyor ve (en azından) teorik olarak bu sürece hakim olmanız gerekiyor. Son yıllarda açık kaynak anlamında en çok kullanılan servis Github servisi olarak görülüyor ve aşağıdaki grafikte 2009–2014 yılları arasındaki Git kullanımını görebilirsiniz. Github üzerinden Git teknolojisi inceleyebilir,dökümanlar ile teorik bilgisini kavrayabilir ve açık kaynak özelliğinden faydalanarak kendi projelerinizi oluşturup pratik yapabilirsiniz.
Tüm bu bahsettiğim kavramların,teknolojilerin ve bilgilerin yanında bu işe başlamak için ihtiyacınız olan en önemli şeyler sabır,özveri ve inanmaktır. Yazılım geliştirme özelinde ve diğer bilişim teknolojileri alanlarında aynılarına ihtiyacınız olacak. Bilişim teknolojileri sabır isteyen bir alan çünkü yol uzun ve bazen işler planlandığı gibi gitmeyebilir. Özveri göstermeniz gerekebilir çünkü bazen verdiğiniz hizmetin daha iyi ve daha kaliteli olması size,şirketinize ve arkadaşlarına çok faydalı olacaktır yeni ufukların yolunu açacaktır,sizi daha güçlü yapacak değişimlere sürükleyecektir. Değişmeyen tek şey değişimin kendisidir.. Varın teknolojinin nasıl değiştiğini ve gelişmekte olduğunu siz düşünün.
Saygılarımla.

Yorumlar

Bu blogdaki popüler yayınlar

ASP.NET Core ile Visual Studio Code Ortamında Web API Geliştirmek

Merhaba Arkadaşlar, Önceki yazılarımızda MVC ile Web Programlama üzerine çalışmalar yapmıştık. Bu yazımda herkesin aklında bir fikir ve önbilgi oluşturmak adına MVC yapısından farklı olarak Web API konusuna giriş yapacağız. MVC yazılarına bu hafta devam etmedik çünkü MVC'ye devam ettikçe bazı kavramlar ve işlemler API ile daha kolay çözülebileceğini fark edeceksiniz. Bunu fark etmeniz için araya hem bir Web API yazısı koymuş olduk hem de .NET Core 2.0 ve Visual Studio Code ortamlarını tanımış olduk. Herşeyi ezbere bilmek zorunda değiliz ama en azından bazı kavramlar aklımızda yer etmeli bir önbilgimiz olmalı. Uzmanlığımız dışında bile olsa farklı konularda az da olsa bilgimiz olmalı ve gerektiğinde kendimizi farklı bir alanda diğer kişilerden daha hızlı uzmanlık kazanacak konuma getirmeliyiz :) Benim yorumlarım bu şekilde. Konumuza başlayacak olursak .NET Core nedir kısaca özetlemek gerekecek. Microsoft’un öncelikle IIS üzerinde PHP dosyalarının çalıştırılabilmesi daha

ASP.NET MVC ile Entity Framework Kullanımı 3(Sum-Average-Top)

Merhaba Arkadaşlar, ASP.NET MVC ile Entity Framework kullanımı yazılarımıza devam ediyoruz. Geçen yazılarımızda Select ve Insert işlemlerini tanıtmıştık kısaca. Bu yazımızda ise,Entity Framework ile daha profesyonel ve advanced select operasyonları üzerinde çalışmalar yapacağız. Veritabanı üzerinde,iş biriminin istekleri basit select sorgusu ile olmayabiliyor. Bizden çekilen verilerin toplanması,ortalanmasının alınması ve ilk "x" kayıdın çekilmesini talep edebiliyorlar. Bu nedenle bu hafta Entity Framework ile Select operasyonlarında gruplama,sıralama ve top konularını inceleyeceğiz. Entity Framework İle Sum Kullanımı Bazen elde edilen verilerden toplam operasyonu gerekmektedir. Bu tarz durumlarda,SUM özelliğini kullanmaktayız. İlk etapta, GetTotalRate isminde integer değer geri veren bir fonksiyon oluşturduk. Daha sonrasında ise ToplamRate isimli değişkenimize EmployeePayHistories tablosunda Rate alanlarının toplam değerini hesaplatıp sonucu atadık. En s

Python Değişkenler ve IF Kullanımı

Merhaba Arkadaşlar, Python Kurulumu işlemlerini tamamladıktan sonra artık python'da syntax kullanımı ve ufak çaplı modüler işlemler için hazırlıklar tamamlanmıştır. Python Kurulumu ve Bilgilendirme yazımızı kontrol etmediyseniz  https://selfarrival.blogspot.com.tr/2017/09/python-kullanm-avantajlar-ve-dogru.html   bu linke göz atabilirsiniz. Programlama dillerinde ilk aşamalar olarak, ilgili dilin syntax'ını kavramak amacıyla, temel programalama komutlarını yeni öğrenenilecek yazılım dilinde küçük örneklerle birlikte kullanılmaktadır. Bu yazımızda python üzerinde bu işlemler yapılacaktır. Python Değişkenler Python'da özel olarak bir değişken tipi tanımlanmaz. Yani birçoğumuzun alışık olduğu değişken tanımala tipinden farklıdır.  #Variables kısmında olduğu gibi değişken adı ve ilk etapta initialize edilecek value tanımlanmaktadır. #Variables PYTHON ile float ve integer tipindeki değişkenlerin toplanması ve ekrana bastırılması için gereken kod blo