Merhaba, uzun zamandır yazmak istediğim bir makale bu. Forumlarda dolaşırken sık sık gördüğüm sorular (Nasıl yazılımcı olunur? Yazılımcı olmak için neleri öğrenmem lazım? Hangi programlama diliyle başlamam lazım? vs.) sebebiyle böyle bir makale yazmaya karar verdim. Yaklaşık 12 yıldır yazılımla uğraşan biri olarak; hem başımdan geçenlere hem de çevremden duyup gördüklerime dayanarak bir şeyler paylaşmak istiyorum. İleride yazılımcı olmayı düşünen arkadaşlar varsa onlara yol göstermesi ümidiyle bu makaleyi yazıyorum.

Yazılımcı (Geliştirici / Developer) Kime Denir?

Yazılımcı, yazılım yapan kişiye denir. Peki yazılım nedir? Yazılım ise, bilgisayarların, tabletlerin, cep telefonların ve her türlü elektronik aletin nasıl çalışacağını belirleyen programlar, yani kodlardır. Bilgisayardan örnek vermek gerekirse, yazı yazmak için kullandığınız not defteri veya Microsoft Word birer yazılımdır. Cep telefonlarınıza yüklediğiniz uygulamalar ve oyunlar birer yazılımdır. Bilgisayarınızın çalışmasını sağlayan Windows, Linux, Mac OS gibi işletim sistemleri aslında birer yazılımdır. Aynı şekilde cep telefonu ve tabletlerinizin çalışmasını sağlayan Android, bir yazılımdır. Bu gibi yazılımları oluşturan, yazan kişilere yazılımcı veya geliştirici (developer) denir.

Peki yazılımcı sadece program ve mobil uygulama mı yazar? Tabi ki hayır. Örneğin, internet siteleri de birer yazılımdır aslında. İnternet sitesi yazan kişilere web yazılımcısı da denebilir. Bunların haricinde örneğin, çamaşır makinenizin çalışması için gerekli programları yazan kişiler de yazılımcıdır. Günümüzde, kullanmış olduğumuz birçok elektronik aletin bir yazılımı vardır. Dolayısıyla yazılım sektörü çok geniş bir iş yelpazesine sahiptir. Teknolojideki gelişmeleri de düşünürsek, yazılımcı ihtiyacı uzun bir süre daha devam edecektir.

Nasıl Yazılımcı Olunur?

Yazılımcı olmak için illa bir üniversite bitirmek zorunda değilsiniz; ancak üniversite bitirmediğiniz taktirde iş bulma ihtimaliniz daha az olacaktır. Eğer normal bir işiniz varsa ve yazılımcılık işini hobi olarak veya ikinci bir ek iş olarak devam ettirmek istiyorsanız üniversite bitirmenize gerek yok elbette. Yazılımcı olmanın güzel yanlarından birisi, öğrenmek istediğiniz bütün konuların internette mevcut olması. Dolayısıyla, çoğu zaman kitap almanıza bile gerek kalmıyor.

Ülkemizde yazılımcı olmak için, öncelikle üniversitelerin Bilgisayar Mühendisliği, Yazılım Mühendisliği, Matematik gibi bölümlerinden birini bitirmeniz gerekiyor. Yukarıda bahsettiğim gibi bu mecburi değil; ancak bir üniversiteyi bitirdiğiniz taktirde iş bulma oranınız ciddi şekilde artacaktır. Tek sebebi ise diploma sahibi olmak aslında. Yazının ilerleyen kısımlarında tekrar değineceğim; ancak yeri gelmişken söyleyeyim, üniversitede öğreneceğiniz bilgilerin yaklaşık %75’ini iş hayatınızda hiç kullanmayacaksınız.

Ben yazılımla uğraşmaya lise yıllarımda başladım. Üniversiteye ilk gittiğimde de birkaç arkadaşıma “Ben sadece diploma almaya geldim.” demiştim. Çünkü hem biraz bilgim vardı hem de üniversitede öğreneceklerimi pek kullanmayacağımı biliyordum. Nitekim öyle de oldu.

Yazılımcı Olmak için Gerekli Özellikler Nelerdir?

Yazılımcı insanda olması gereken en önemli özelliklerden birisi, bana göre, merak. Yazılımcı insanın meraklı olması gerekiyor. Yazılım ile bir süre ilgilendikten sonra, en basitinden bir bilgisayar oyunu oynarken bile, oyundan zevk almak yerine kendinize, “Acaba bunu nasıl yaptılar? Oyunda yer çekimini nasıl simüle ediyorlar?” gibi değişik sorular sormaya başlayacaksınız. Bu soruları sormuyorsanız yazılımcı olmak isteyip istemediğinizi tekrar düşünmelisiniz.

İkinci özellik ise bence sabır. Yazılımcı insanın sabırlı olması, beklemeyi bilmesi gerekir. En basitinden bir projede çalışırken göreceksiniz ki (eğer orta veya büyük çaplı bir projeyse) zamanınızın önemli bir kısmı projeyi build etmekle (yani derlemekle) geçecek. Çoğu zaman bilgisayarınızı bekleyeceksiniz. Bilgisayarınız normal bir kullanıcı için çok hızlı da olsa, bir çok durumda sizi bekletecektir. Uygulama kurulumları, proje derlemeleri, grafiklerin veya videoların render edilmesi vs…

Merak ve sabrın yanında bir diğer özellik ise bence takım çalışmasına yatkınlık olmalı. Birçok projede takım arkadaşlarınızla çalışıyor olacaksınız. Dolayısıyla ben her şeyi kendim yaparım kafasındaysanız bu huyunuzu değiştirmeniz gerekebilir. Her ne kadar bir sayfa, bir modül, bir script sadece size ait olsa da gün gelecek size verilen görevi bir başkasıyla paylaşmak zorunda kalacaksınız veya ilk defa başlarken bir veya birkaç kişiyle beraber başlayacaksınız.

Teknik yetkinliklerden daha sonra bahsedeceğim. Karakteristik olarak bu saydığım üç özellik çok önemli. Yalnız bu üçünden de daha önemli olan, belki bu üçünün toplamından da daha önemli olan şey ise sevmek. Sevmek derken yazılımı, yazılımcı olmayı sevmek elbette. Çünkü eğer yaptığınız işi sevmiyorsanız bu iş yapılacak bir iş değil. Gerçi bu bir çok meslek için böyle; ama hani bazı mesleklerde işinizi sevmeseniz de yapmaya devam edebilirsiniz belki. Yazılımcılarda durum böyle değil. Yeri gelecek unutmuş olduğunuz bir noktalı virgül sizi saatlerce uğraştıracak, yeri gelecek derlenmeyen kod için sabahlayacaksınız, yeri gelecek bende çalışıyor onda niye çalışmıyor diye kafayı yiyeceksiniz… Eğer yazılımı ve yazılımcı olmayı sevemezseniz bu işi asla yapamazsınız.

İlk makale için bu kadar yeterli. İkinci makalede görüşmek ümidiyle…

İkinci makaleyi okumak için tıklayın: Yazılımcı Nasıl Olunur? – 2

Benzer Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

warning
www.kemalkefeli.com.tr üzerindeki herhangi bir yazının veya kodun izinsiz olarak başka bir yerde kullanılması yasaktır.