Nasıl Değerli Bir Geliştirici Olursunuz?

Total
27
Shares

Genelde iş verenler, insan kaynakları sorumluları, hatta normal insanlar bir geliştiricinin değerini veya kalitesini ölçmek için ne kadar dil bildiğine ve o dilleri ne kadar bildiğine bakar. Ancak bir geliştiricinin değeri bence ne kadar dil bildiğiyle veya ne kadar fonksiyon ezberlediğiyle ölçülmemeli. Zaten bunlar her geliştiricinin sahip olduğu özellikler. İnsan ne işte çalışırsa çalışsın kendini rakiplerinden ayırmalı ve tercih edilebilir kılmalı.

Aşağıda sıraladığım maddeler sadece geliştiriciler için değil, bilişim sektöründe çalışan herkes için büyük bir artı sağlayıp, iş bulmasını veya işinde başarıya ulaşıp kendini vazgeçilemez hale getirmesine yardımcı olur.

Ayrıca sektörde olmasa bile her insanın rahat çalışmasını ve başarılı olmaya bir adım daha yaklaşmasını sağlayacaktır. Elbette daha bir çok madde eklenebilir, ayrıntı anlatılabilir ancak sadece temelleri ve en önemlilerini sıralamaya çalıştım. Büyük ölçüde önem sırasına göre dizilmiş bir liste olduğunu belirtmek isterim.

İngilizce öğrenme 0. madde olduğu için listeye eklemedim. Başta İngilizce olmak üzere, anadilinin üzerine bir dil öğrenen insan sınırlarını genişletir, arkadaş ve kaynak ağını büyük ölçüde arttırır. Bu konu tüm maddelerden daha önemli ve bu maddeler için zorunluluktur. “İngilizce nasıl öğrenirim?” derseniz de benim öğrenme yöntemimi anlatabilirim. Bunun için temel bir ingilizce bilginiz olması gerekiyor. Lise’de yarım yamalak öğretilen bile yeterli. İngilizce’de bence en önemli bilgi kelimelerdir. Kelime hazneniz oldukça genişse, gramer bilgisine burdaki maddeler için çok da ihtiyacınız yok. Kelime, kalıp ve deyim bilginizi arttırmak, kulak aşinalığı kazanmak için diziler ve filmler çok verimli kaynaklar. Yaptığım dizi listesine uyarak 5–6 ayda çok iyi bir seviyeye gelebilirsiniz. Bu süre kısa gibi gelebilir ancak gerçekten kendinizi verip, her gördüğünüz fırsatta yeni bir şeyler öğrenmeye çalışırsanız çok daha kısalabilecek bir süre. Aynı listenin filmler için olanını da yazıyorum, bi’ gözünüz profilimde olsun.

1- Google Kullanmayı Öğrenin

Şanslıyız ki yaşadığımız çağ, bilginin çok yakın olduğu bir çağ. İnternet denen nimet ile neredeyse istediğimiz her bilgiye ulaşabiliyor, her sorunumuzu hızlıca çözüme ulaştırabiliyoruz. Buna ek olarak Google, anne ve babalarımız tarafından internet olarak biliniyor. Bizim için de sorunlarımız için başvurduğumuz ilk kaynak durumunda.

Google’da arama yapmak artık bir sanat haline dönüşmüş durumda. Nasıl arama yapacağınız bilmek, hangi anahtar kelimeleri cümlenin neresinde kullanmanız gerektiğini öğrenmek sorunlarınızı aşmayı inanılmaz hızlandırıyor. Google’da nasıl efektif arama yapılacağı hakkında bir çok makale mevcut. Ben o makalelere ek olarak bir geliştiricinin nasıl arama yapmasını biraz daha detaylandırmak istiyorum.

Bir hata ile karşılaştığınız zaman bu hatayı direk kopyalayıp, Google’da aramaya çalışmayın. Örnek olarak bir javascript hatasını başına “javascript” yazıp hata içerisindeki, sadece sizin uygulamanıza ait dosya isimlerini, fonksiyon isimlerini temizleyip sadece hatanın nerelerden kaynaklanabileceğini araştırın. Ha bulamadınız mı, o zaman yapmaya çalıştığınız işlemi, amacınızı arayın, hızlıca örnekleri ve dökümanları inceleyin. Yalnızca bir hatayı çözmeye çalışırken tüm dökümanı tekrar okumanıza gerek yok, gerekli yerleri gözünüzle tarayın ve ayrıntılara çok dikkat edin.

2- Okumayı Öğrenin

Kullandığınız uygulamada, çözüm aradığınız sayfalarda, dökümanlarda ve diğer her yerde, her kelimeyi okumaya çalışın. “Uff, kim uğraşacak ona” demeyin, okumanız böylelikle hızlanacak ve farketmeden girdiğiniz yerde herşeyi okuyor olacaksınız. UX hatalarının olmadığını varsayarak, her uygulamada ve sayfada sizi istediğiniz amaca ulaştıracak bir kelime, link veya ipucu bulunacaktır. Okurken kelimelerin kastetdiği amacı düşünerek ilerleyin. Çıkış yapmak için logout, sign out, quit, exit veya tamamen o uygulamanın konseptine uygun özel bir kelime kullanmış olabilir, sayfada “Nerde bu logout butonu lan?” diye dolanıp durmayın.

Aynı kelimeler gibi ikonlarda aynı metod ile okunmayı gerektiriyor. Bir artı (+) ikonu hem ekleme yapmayı, hem de gizli bir elemanı göstermeye yarayabilir. Bunu, bulunduğunuz ortamın konseptini aklınızda bulundurarak yorumlayın. Bir işlem yapmadan, bir yere tıklamadan önce ekrana iyice bakın ve okuyun, sonrasında işleminize devam edin.

Bunlar çok uzun zaman alıyor gibi gelebilir, 10 dakika sadece ekrana mı bakacağız yani değil mi? Değil, bunlar çok hızlı, saniyeler içinde olan işler, uyguladıkça hızlanacaksınız ve hızlanacaksınız. Siz daha farketmeden her yerde, her işinizde, hatta normal hayatınızda bile bunu kullanır olacaksınız ki bu öğrenme yeteneğinizi geliştirip, birisine olan ihtiyacınızı büyük ölçüde azaltacaktır. Bir uygulamayı, bir servisi kendi başınıza, birinin anlatmasına ihtiyaç duymadan kullanabilecek, hızlı bir şekilde adapte olabileceksiniz. Uygulamalar sonuçta insanların kullanması için yapılmış ürünler, birinin öğretmesine ihtiyaç duymadan kullanabileceğiniz şekilde üretilmiş araçlar. Bu yöntemi kendinizle bütünleştirdiğiniz zaman önünüze gelen her uygulamayı kullanabilirsiniz.

Tabi bu o uygulamayla yapılan işi yapabileceğiniz anlamına gelmiyor. Bazı uygulamalar özel yetenek ve bilgi ister. Örneğin Photoshop: Photoshop’u bir tasarımcıdan daha iyi bilebilirsiniz (benim gibi), her özelliğini kullanmayı bilebilirsiniz ancak yaratıcı zekanız yoksa bir tasarımcı olamazsınız (benim gibi). AutoCAT uygulamasını kullanabilirsiniz ancak mimarlık veya mühendislik terimleri hakkında bir bilginiz yoksa o işi yapamazsınız

3- Döküman Okumayı Öğrenin

Üretilen her dil için, her uygulama için nasıl kullanılacağı hakkında bir döküman hazırlamak artık İnternet’in bir zorunluluğu halinde. Ürünü değerlendirirken dokümantasyonu ve bu dokümantasyonun kalitesi (anlaşılabilirliği ve kapsayıcılığı) en önemli maddeler arasında yer alıyor. Bu yüzden bir dili yazmaya başlamadan önce mutlaka dokümantasyonunu çok dikkatli bir şekilde okuyun. Bu, okumanız bittikten sonra hemen profesyonel bir şekilde yazmanızı tabiki sağlamayacak, bu yazarken karşılaştığınız engelleri “Aa bu dokümantasyonda vardı!” diyerek, Google’a bile başvurmadan aşmanızı sağlayacak. Ayrıca kullandığınız dilin yeteneklerini ve kapsamını çok iyi bilip, ona göre ilerlemenizi, doğal olarak kaliteli ve sağlam bir ürün ortaya koymanızı sağlayacak.

Bazı dokümantasyonlar sayfalarca ve düzensiz olabilir, bu gibi durumlarda yer imi kullanın. Tarayıcınıza yer imi eklerken sayfa başlığıyla değil, hangi sorunla ilgili olduğuyla veya o kısımda ne anlatıldığıla ilgili hatırlatıcı bir bilgiyle kaydedin.

Yazmadan önce planlayın ve seçeneklerinizi değerlendirin. Kağıt kalem, alışkın değilseniz bilgisayarınızdaki favori not uygulamanızı kullanın. Plan yapıp, tek tek her adımınızı basit kelimelerle yazın. Böylelikle yazmaya geçtiğiniz zaman takılmadan ve fazla düşünmeden sadece kod yazarsınız. Zaman yönetiminizi ve debug sürenizi büyük ölçüde azaltacaktır.

Programlamada neredeyse her şeyin birden fazla metodu var. En basitinden PHP’de ekrana bir şey yazdırmak için echo ve print_f diye ayrı iki seçeneğimiz var. Tabi ki aynı değiller, zaten seçenekleri değerlendirmek de buna deniyor. Hangisi, neyi eksik yapıyor, ilerde hangisini değiştirmek zorunda kalmam diye düşünüp, ona göre devam etmeniz gerekli.

Tip: Versiyonlama sistemini öğrenmeniz ve kullanmanız çok yararlı olacaktır. Bitbucket gibi platformları projenin her hangi bir yerine ara verip, bir süre sonra nerde kaldığınızı unutmadan başlayabilirsiniz. Bir hatayı çözemediğinizde geri dönüm hangi işlemleri yapıp, hangi satırları değiştirdiğinizi görüp hatayı çok kolay ve hızlı şekilde belirleyebilirsiniz. Ayrıca farklı bilgisayarlarınızda çalışıyorsanız tek tek dosya taşımanız yapmanız gerekmez, sadece çekmeniz (pull) yeterli olur. Başka geliştiricilerle çalışıyorsanız, onlarla uyumunuzu arttırır.

4- Klavyenizi Hızlandırın

Bilgisayar kullanırken, kod yazarken veya web’de gezinirken sürekli mouse-klavye arası geçiş yapmak büyük zaman kaybı yaratır. Her uygulamanın kısayollarının olması bu zamanı azaltmak içindir. Bunları öğrenmek ve kullanmak zorundasınız.

Bunları uygulamaların menülerini tek tek gezerek ya da deneyerek bulabilirsiniz. Bu kısayolların çoğu, çoğu uygulamalarda zaten ortak. Örnek vermem gerekirse Windows’da CTRL+T, Mac’de CMD+T yeni sekme açar. Neredeyse tüm tarayıcılarda, hatta çoğu editörde bile aynı işlemi görür. CMD+Shift+T (CTRL+Shift+T) son kapattığınız sekmeyi ya da dosyayı açar ki çok büyük zaman kazancı ve hayat kurtarıcıdır. CTRL+W sekmeyi veya dosyayı veya klasörü kapatır ki yine büyük zaman kazancıdır. CMD+Z’yi bildiğiniz gibi CMD+Shift+Z’nin ne işe yaradığını da bilin (geri aldığınız işlemi tekrar yapar). Bunları tek tek sıralamak gereksiz çünkü onlarca, hatta yüzlerce var.

Elinizi klavyeden ayırmamak zaman kazanma açısından çok büyük bir etken. Bunları öğrenin ve alışkanlık edinin. Sekme sistemi olan bir sistemde istemeden Kntrl+Tab yapıp sonraki sekmeye geçmediğini gördüğünüzde “Ne biçim uygulama bu!” diyene kadar öğrenin.

5- Zaten Yazılmış Şeyi Tekrar Yazmayın

Backend geliştiricilerde gördüğüm bir iç güdüdür herşeyi kendi yazmak istemek. Kendileri de bunu kabul ettiği için alınacaklarını düşünmüyorum. Bir front-end developer olarak bence bu çok büyük zaman kaybı yaratan bir alışkanlık/metod. Zaten yazılmış basit ama uzun bir fonksiyonu tekrar yazmak mantıksızca. Çok banal bir deyim olan “Tekerleği tekrar icat etmek” bu noktada çok uygun düşüyor. Önceki maddelerde bahsettiğim hızlıca göz gezdirebilme özelliğini kazandıktan sonra zaten yazılmış fonksiyonları veya eklentileri çok hızlı bir şekilde anlayıp kendi kodunuz gibi kullanabilirsiniz. Sadece bir kaç hızlı düzenleme ile sisteminize adapte edebilirsiniz.

Ben de Freelance çalıştığım dönemin başlarında slider’ları sürekli kendim yazardım. Hatta eklenti kullananları eleştirirdim “Beceriksiz, kendi yazamıyor, gidip eklenti kullanıyor” diye. Sonradan tecrübe kazandıkça eklentilerin büyük nimet olduğunu gördüm. Hem sizin sarfettiğiniz eforu büyük ölçüde azaltıyor, hem de müşteriniz aranızı daha iyi tutuyorsunuz projenin deadline süresi kısaldığı için. Hele slider, dropdown, lightbox gibi yazılması çok uzun zaman alan özellikler için kendinize sürekli kullanacağınız eklentileri seçip, bu eklentilerinin kodlarını boş bir zamanınızda satır satır inceleyip benimserseniz, büyük ölçüde zaman tasarrufu yaparsınız.

Bunlara ek olarak eklenti haricinde aklınızda veya bir dosyada kod bloklarınız bulunsun. Bunları ordan burdan toplayabilirsiniz. Codepen, Codrops bu gibi parçalar için adeta bir cennet. Sürekli bu kaynakları takip edin ve kendinize pay çıkarın. Basit bir CSS switch kodu, yine saf CSS Accordion kodunu aklınıza kazırsanız, projenizde denk geldiğinizde hızlıca kullanabilirsiniz. Büyük sitelerin, ünlü web uygulamaların kaynak kodları bu gibi parçalarla kaynıyor. Bu yüzden her “Vov” dediğiniz siteye sağ tıklayıp kaynağı görüntüle diyin. Kod yapısını, JS ve CSS’lerindeki incelikleri çekin çıkarın. Zaman kaybı gibi görünebilir ancak çok büyük kazançtır, hele ki göz gezdirme yeteneğini kazandıktan sonra.

6- Ortamınızı İyi Tanıyın

İlk katman olarak bilgisayarınızı ele alırsak, bilgisayarınızı iyi tanımalısınız. Kısa yol tuşları, çalışmayan özellikleri (ki ertelemeyip çözmelisiniz), touchpad gesture’ları gibi özelliklerini bilip kullanmalısınız. Ayrıca bilgisayarların nasıl çalıştığını temel olarak bile olsa öğrenmeniz performans’ı düşünerek ilerlemenizi sağlar ve kalitenizi arttırır. Herkesin bildiği 0 ve 1’lerin aslında nasıl çalıştığını, programlama dilleri seviyelerini, kullandığınız programlama dilinin hangi dillerle yorumlanıp çalıştırıldığını bilmeniz büyük fayda sağlar. Bunları öğrenmek için de Wikipedia’yı sıkça ziyaret etmenizi öneririm. Sadece bunun için değil, bir çok bilgi için bence harika bir kaynak. Programlama dillerinin tarihi, üretiliş amaçları, üretilme süreçleri hem genel kültür olarak sizi geliştirip, hem de uygulamada izleyeceğiniz yol için büyük fark yaracaktır. Yatağa yattığınızda Vine’da takıldığınız sürenin yarısını Wikipedia’da harcayın. Evet, biliyorum yaptığınız 😉

İkinci olarak yazdığınız programlama dilini tanımalısınız. Burda tekrar 3. maddeye dönmeniz gerekiyor. Programlama dilinin dökümanlarında sadece ihtiyacınız olan kısmını değil, olmayan kısımlarını da okuyun. Karşınıza çıktığında hatırlamanız, en azından dökümanda nerde, ne adla olduğunu hayal etmeniz çok rahat olacak, böylelikle hızlı bir şekilde ilerleyebileceksiniz.

7- Döküman Yazmayı Öğrenin

Yazdığınız uygulama sonsuza kadar sizin olmayacak veya eninde sonunda bir yardıma ihtiyaç duyacaksınız. Diğer geliştiricilerin uyum sürecini en aza indirgemek için döküman ve yorum yazmayı öğrenmeniz gerekli. Bir çokdöküman şablonları ve uygulamaları internette var, kendiniz de boş vaktinizde çok basit bir şablon çıkartıp, kullanabilirsiniz. Bu demek değil ki her satırınızı yorumlandırın, yorumdan çok daha önemli bir konu olan düzenli kod yazmak, yorumlardan daha etkili bir araç.

Önemli olan ne kadar satır kod yazdığın değil, ne kadar yazmadığın. ~ Ben

Düzen bence bir kodun ve o kodun yazarının kalitesini gösteren en önemli özellik. Bir standarta uygun veya kendi standartı olan girintiler, anlaşılabilir ve mantıklı fonksiyon, değişken isimleri, zekice en aza indirgenmiş kodlar… Bunlar sizin ve ürününüzün kalitesini arttırır, ayrıca geliştirmenizi zevkli ve kolay hale getirir. Ayrıca bir uygulamanın geliştirme safhasını bitirip, deployment safhasına geçtiğiniz zaman tekrar kodlarınıza dönün ve yapılabilecek düzenlemelere, silinebilecek kodlara göz atın.

8- Dünyayı Takip Edin

İngilizce öğrenmeyi birinci şart kılmamın bir diğer sebebi de güncel kalmanız. İngilizce öğrenerek kaynaklarınızı hayal edemeyeceğiniz kadar genişletirsiniz ve sadece konuştuğunuz dilin sınırları içerisinde değil, dünya sınırları içerisindeki en güncel haberleri ve gelişmeleri takip edip, uygularsınız.

İsterseniz tarayıcınızda, isterseniz bir bookmarking sisteminde kendi link veritabanınızı oluşturun. Sık kullandığınız eklentilerin döküman linkleri, sık karşılaştığınız sorunların çözümlerinin olduğu stackoverflow sayfaları, ilham aldığınız, çok hoşunuza giden websayfaları ve uygulamaları bir yerde DÜZENLİ olarak toplayın. Düzenli diye bağırmamın sebebi çoğu kişinin bu kaynak toplamayı çöplük gibi kullanıyor olması. Her şeyi değil, unutabileceğiniz ve çok hızlı bir şekilde ulaşmanız gerek linkleri kaydedin ve kategorileyin veya etiketleyin. Ayrıca her link için bu alanı kullanmak yerine, mesela Medium makaleleri için Medium’un kendi bookmarking sistemini kullanın. Tek tek makaleleri diğer önemli linklerinizin arasına atmayın ki çöplük olmasın.

9- Katkıda Bulunun

Github üzerinde kullandığınız eklentilere veya kod parçacıklarını uygulamanız için modifiye ederken daha iyi veya performanslı bir çözüm ürettiğinizde bencil olmayın bi zahmet, bizimle de paylaşın da biz de kullanak. Çok hayır duası alırsınız.

10- Arada Sırada Bağış Yapın

Bir abimin dedğini alıntılamak istiyorum:

Senin değil ama bizim jenerasyon Türkiye’deki bilgisayar çağının ilk anlarında aktif olduğu için, internetteki veya bilgisayar üzerindeki ürünlere para vermek gibi bir alışkanlığımız yok. Crack’li kullanmak veya ücretsiz alternatifleri kullanmak gibi bir alışkanlığımız var.

Buna katılıyorum, ücret ödemek -belki sadece Türkiye’de- yeni yeni kazanılan bir alışkanlık. Photoshop, Sublime Text veya Spotify için ücret ödemek benim için hem onların emeklerinin karşılığını vermek, hem de sorunsuz ve rahat kullanmak için çok haklı bir yöntem. Spotify için her ay 10 TL ödemek benim için hayatımda verdiğim en haklı ve verirken hiç bir şüphe veya pişmanlık duymadığım ücretlerden birisi. Aynısı diğer çok sık kullandığım uygulamalar için de geçerli. Size de eğer eski jenerasyondansanız veya o jenerasyon kafasındaysanız bu alışkanlığı benimsemenizi öneririm.

Ayrıca sıkça kullandığınız programlama dilleri eklentileri veya uygulama eklentileri için eğer ücretsiz dağıtılan bir eklenti ise ufak bağışlar yapmanızı tavsiye ederim. Geliştiriciye bir kahve ısmarlamak ona minnettarlığınızı belirtmenin en harika yolu!

Sonuç

Burayı yazmak zorunluymuş sanırım, yazmayanı dövüyorlarmış. Sonuç olarak güncel kalın, sürekli ama sürekli kullanıcıları, diğer geliştiricileri ve geleceği düşünerek geliştirme yapın, bu konuda anı yaşamayın. Bencil olmayın ve paylaşın, ancak böyle kendinizi ve dünyayı geliştirirsiniz. Amacınız kendiniz değil, diğerleri olsun. Bunu benimseyen insan mutlu olur ve mutlu eder.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Hoşunuza Gidebilir

CMS Nedir? SEO’ya Uygun CMS Sistemleri

Bir web sitesi oluşturmayı veya mevcut web sitenizi güncellemeyi düşünüyorsanız, dikkate alınacak ilk şeylerden biri CMS’dir. Peki CMS nedir? CMS açılımı “Content Management System” Türkçesiyle “İçerik Yönetim Sistemi” anlamına gelmektedir.…
Devamını Oku

Güçlü Bir Dijital Pazarlama Stratejisi Oluşturmak İçin Yapmanız Gerekenler

Çağımızın giderek değişmesiyle ve ihtiyaçlarımızın farklılaşmasıyla, beraber reklamcılık sektöründe de dijital platformlar, pazarlama dinamiklerine yön vermeye devam ediyor. Markanızın dijitalde yer alması ve ses getirebilmesi için dijital pazarlama stratejileri üzerinde yoğunlaşmanız gerekiyor.…
Devamını Oku