Yazılımda yabancı dilin önemi

Öncelikle kendimize soracağımız sorunun şöyle olması gerekir. Yazılım bilen bir kişiye, İngilizce öğrenmenin ne gibi avantajları olacaktır? İngilizce ile yazılımcılığın alakası nedir? Öncelikle şunu belirtmekte yarar görüyorum. Yazılımın ana dilinin İngilizce olması neticesinde, bu dili öğrenmenin hayatınıza büyük katkıları olacaktır.  Aynı zamanda mesleki açıdan da ciddi bir avantaj sağlayacaktır diyebiliriz. Bu nedenle yazılımcıların İngilizce dilinin olması gerekmektedir. Zira dilin yabancı olması bunu gerektiren en önemli nedendir. Fakat önemli ana maddelerden biri de, normal İngilizce biliyor olmanızın çok bir şey ifade etmeyeceğidir. Teknik bir İngilizce biliyor olmanız yazılımcı olmanız için gerekmektedir. Yani gerekli olan dil teknik İngilizcedir. Bu duruma Osmanlıca ve Türkçe örneğini vermemiz doğru olacaktır.

Bu anlamda yazılımda yabancı dilin önemi sadece dili bilmekle yeterli olmayacaktır. Teknik dilin bilinmesindeki en önemli neden, eğer siz yazılımı İngilizce bilen birine okutursanız, inanın bunu çok fazla anlamayacaktır. Zira içinde anlayamayacağı çok fazla teknik terim mevcuttur. Bu nedenle teknik İngilizce bilmek bu anlamda büyük önem taşımaktadır. Peki ‘’Nereden ve nasıl öğrenebilirim?’’ diyorsanız. Bunun cevabı yine internettir sevgili arkadaşlar. Kurs ve kitaplar bu anlamda size elbette yardımcı olacaktır. Fakat yine en değerli ve derli toplu öğrenme şekliniz internet olacaktır. Doğru bilgi aktarımına ulaşmanız için internette bulunan yazılımlı ilgili terimleri ve sözcükleri okuyarak öğrenmeniz çok daha avantaj sağlayacaktır.

Yaptığımız uygulamalar üzerinden nasıl para kazanabiliriz?

Yazılımla para kazanma olayı kulağa hoş gelmekte ancak göründüğü gibi kolay değil; zorlu ve emek isteyen bir süreçtir. Yetenek ve bilgi birikimi gerektirdiği aşikardır. Programlama dillerine hakim olup yeni şeyler öğrenmeye de açık kişiler birçok farklı uygulama üretip beklemedikleri düzeylerde para kazanabilmektedirler. 

Yazılım alanında bir şeyler üretebilmek için ille de bilgisayar veya yazılım mühendisliği, bilgisayar programcılığı alanlarından mezun olmak gerekmemekte; Dünya üzerinde bu işle uğraşan ve yazılım sektöründe yer alan çok farklı okullardan mezun olan veya herhangi bir okul mezunu olmayan birçok insan bulunmaktadır. 

Uygulama Üzerinden Para Kazanma

Her şeyin internet üzerinden yapıldığı günümüzde mobil uygulamalar oldukça popüler olup birçok kişi tarafından hayatı kolaylaştırıcı programlar olarak düşünülmektedir. Birçok farklı mecrada ve farklı amaca hizmet eden uygulama mevcut bulunmakta ve bunlar her işletim sistemine göre farklılık göstermektedir. 

Her kesime hitap edebilme potansiyeline sahip mobil uygulama dünyasında, birbirinden farklı çok fazla uygulama bulunmaktadır. Bu uygulamalar; alışveriş siteleri, bilgi yarışmaları, finansal işlemler, fotoğraf programları, eğlendirici ya da interaktif oyunlar, sosyal medya platformları ve yemek siparişi verme gibi çok geniş bir yelpazede hizmet sunmaktadır.

Mobil uygulama üzerinden yazılımla para kazanma için dikkat edilmesi gereken hususlar şunlardır:

  • Uygulama üretilecek sektöre karar vererek yola çıkılır. Doğru ve uygun bir sektörde, sevilerek çalışılacak bir alanda yazılım üretmek gerekir; ilgi duyulmayan veya zorla seçilen bir alanda üretimde bulunmak güzel sonuçlar vermez.
  • Android, iOS ve Windows Mobile işletim sistemlerinden biri seçilip ona göre bir yol haritası belirlenmelidir. Her işletim sisteminin kendine göre bir kullanıcı profili bulunmaktadır.
  • Programlama ve tasarım alanlarını birlikte yürütmek zor olabilmekte; alanında uzman kişilerden yardım alma konusunda çekingen davranılmaması gerekmektedir. 
  • Uygulamanın ücretli olması, ücretsiz olup reklamlar üzerinden para kazanması ya da reklamsız ve ücretsiz olup uygulama içi satın alma seçeneği sunması; karar verilmesi gereken diğer bir konudur.
  • Doğru ve hızlı geri bildirimlerde bulunabilmek gerekir. Uygulama piyasaya sürüldükten sonra birçok sorunla karşılaşılabilir. Bunlara optimal sürelerde çözüm getirmek yazılımcının lehinedir.
  • Reklam ve pazarlama stratejileri yapılması gerekir. Belli platformlarda yapılacak tanıtımlarla daha fazla kullanıcıya ulaşılabilir.

Freelance yazılımcı ve Kurumsal yazılımcı arasındaki farklar

Freelance Yazılımcı

Herhangi bir kurum veya kuruluş bünyesinde çalışmayan, projelerini serbest bir şekilde üreten ve yürüten programcıya verilen isimdir. Bu kişiler; herhangi bir ofise bağlı kalmaksızın hatta kendi evlerinde, teslim sürelerini kendileri belirleyebilecekleri bir zaman diliminde ve isteğe göre bireysel ya da grup şeklinde çalışarak proje üretmektedirler. 

Kurumsal Yazılımcı

İsminden de anlaşılacağı üzere kurumsal bir firmada belli süreçler doğrultusunda proje üreten, belli bir ofiste çalışan ve yapılan işin farklı segmentlere ayrılabildiği projelerde görev alan kişidir. Kurumsal yazılımcının uyması gereken belli standartlar bulunmakta olup belirlenen çerçevenin dışında projeler üretmemektedir. 

Freelance YazılımcıKurumsal Yazılımcı
Alınan bir iş herhangi bir ortamda yapılabilmekte, belli bir ortama bağlı kalınmamaktadır.Genellikle ofis ortamında çalışılmaktadır.
İşi yetiştirme yönünde baskı yapabilecek herhangi bir unsur bulunmamaktadır.İşi zamanında yetiştirmeyi isteyen bir tepe yönetici bulunmaktadır.
Herhangi bir zaman diliminde izin ya da tatil programı yapılabilmekte, bağlı olunan veya izin alınması gereken bir yönetici bulunmamaktadır. İzin veya tatil programları, çalışanlar arasında belli bir plan dahilinde yapılıp çalışanlardan ona göre bir seçim yapılması istenir.
Belli bir plan dahilinde çalışma zorunluluğu bulunmamaktadır; istenilen zamanda mola verilip istenilen zamanda çalışılabilir.Belli çalışma ve mola saatleri mevcuttur.
Herhangi bir ulaşım aracı zorunluluğu bulunmamaktadır.İş yeri için gidilecek mesafeye göre yola çıkılmalı, ona göre sabah kalkılıp plan yapılmalıdır.
Şirket olunmadığı için hakları koruyan bir sözleşme yapılamamaktadır.Sözleşmeyle bağlı projeler yapılmakta olup her 2 tarafın da yükümlülükleri o sözleşmede belirtilmektedir.
Müşteriden alınan işler müşterinin istediği doğrultuda yapılmasına rağmen müşteri tarafından sürekli bir değişiklik istenir.Belirtilen şekillerde ve sözleşme doğrultusunda yapılan işler standart olmakta ve değişiklik pek istenmemektedir.
Sabit ve düzenli bir gelir mevcut değildir. Bazen iyi meblağlar kazanılabilirken bazen de kazanç elde edilemeyebilir.Sabit ve düzenli bir gelir mevcuttur. Gelir, primler vasıtasıyla daha da artabilmektedir.
Para tahsil etmede sıkıntı yaşanabilir.Projeler sözleşme dahilinde yapıldığından işlerde her türlü hak arama kurumsal olarak yürütülür.
Müşteride bir güven problemi yaşanabilir.Belli referanslara sahip ve kurumsal bir firma olunduğundan herhangi bir güven problemi yaşanmamaktadır.

En popüler programlama dilleri

Dünyada birçok amaç doğrultusunda kullanılabilen ve birçok alanda programlama dili mevcuttur. Bunlar arasında en çok kullanılan programlama dili olma özelliğiyle ön planda olan programlama dilleri şunlardır:

C

1972 yılında piyasaya çıkmış olup Dünyada en çok kullanılan programlama dili olma özelliğini taşır. Tüm dillerin atası olarak kabul edilmektedir. Programlama dillerinin birçoğu C ile yazılmıştır; örneğin C#, C++, Java, Python vb. C dili sistemin en köklü programlama dilidir ve popülaritesini kaybetmez.

C++

1983 yılında piyasaya sürülmüş olup nesnel bir programlama dilidir. Adobe Photoshop, Mozilla Firefox ve Visual Basic gibi platformlar, neredeyse tüm oyunlar, aklınıza gelebilecek her türlü proje bu programlama dili sayesinde kodlanabilmektedir. Öğrenilmesi pek de kolay olmayan bir programlama dilidir.

Java

1995 yılında piyasaya çıkmıştır. Oldukça popüler ve güçlü bir dildir. C# ve Java arasında çok az fark bulunmasına rağmen ikisi birbirinden farklı dillerdir. Java ile Windows, Linux ve Mac gibi platformlarda oyun, web ve sunucu yazılımı gibi programlar yapılabilmektedir. Açık kaynak kodlu ve kullanışlı bir dil olma özelliklerini taşımaktadır.

Javascript

1995 yılında piyasaya sürülmüş, son dönemde kullanımı oldukça yaygınlaşmış bir betik dilidir. Web dünyasına getirdiği yenilikler ve sonuçları açısından devrim niteliğinde bir programlama dilidir. Java dili ile ilgisi olamayıp C dili ile benzerlikler göstermektedir. Web tasarımında sıklıkla kullanılmaktadır.

Junior developer ve Senior developer arasındaki farklar nelerdir?

Junior developer kimlere denir?

Henüz proje geliştirme ve kod oluşturma konusunda yeni olan ve bu alanda öğrenmesi gereken birçok uygulama, program ve platform olan yazılımcıya denir.

Senior developer kimlere denir?

Sayısız projede yer almış ve projeyi yönetmiş, kodlama ve programlama dilleri hususunda kendini aşmış ve sorunlara hızlı ve gelişmiş çözüm önerileri getirebilen, alanında doğru rehberlik yapabilen yazılımcıdır.

Genel itibarıyla Junior developer olan kişiler, senior developer güdümünde çalışıp onların sorunları çözme hususundaki açıcı çözümlerinden ve yılları aşan kişisel deneyimlerinden faydalanırlar.

Junior DeveloperSenior Developer
Alanında kısıtlı sayıda proje üreten ve bilgisi olanAlanında sayısız proje üreten ve tecrübe abidesi
Problemle karşılaştığında tedirginlik duyan, panik olan ve problemin çözümü hususunda yol ve yöntem geliştiremeyenBir problemle karşılaştığında problemin çözümüne ilişkin aklına çok sayıda yöntem gelen 
Proje başında birçok şeyi hesap etmeden planlayıp kodlama geliştiren Proje başında geçmişte yaşadığı sorunlarla doğru orantılı olarak muhtemel karşılaşılabilecek sorunlara göre en az sorun çıkarıcı şekilde program ve proje üretebilen
Programlama diline tamamıyla hakim olamaması nedeniyle sorunların çözümü hususunda gereğinden fazla zaman harcayan ve uygulamaya geçerken sıklıkla sorun yaşayanBir program dilinin hepsine hakim olamasa da gerektiği yerde ne yapması gerektiğini bilen
Programlama tecrübesinin kısıtı nedeniyle güvenlik açığı verebilecek ihtimalde projeler üretebilenProgramlama tecrübesinin yetkinliği ölçüsünde yapmış olduğu projeleri güvenlik açıkları açısından önce kendi test edebilen

Back-end developer ve Front-end developer nedir?

Back-end nedir? Back-end developer kime denir? Neler yapar?

Web site ziyaretçilerinin direkt olarak karşılaşmadığı arka yüzüne back-end, site alt yapısını ilgilendiren programlarla ilgilenen ve veri tabanı dizaynında aktif rol alan kişiye back-end developer denir. Back-end; projenin hizmete sunulması sırasında kullanılan sunucu kısmıyla web sitesinin düzgün bir şekilde çalışmasını sağlayan arka planını kapsamakta ve sitenin ön yüzü ile veri alışverişine girip verileri saklamaktadır. Back-end kısmında, web sitesi ziyaretçisine yönelik seçimler saklanmaktadır. Ayrıca kullanıcı deneyimini kolaylaştıran bir site haritası oluşturma konusu da back-end kavramıyla ilgilidir. Back-end developer tüm bu süreci yönetir. Back-end altyapısı için kullanılan yazılım dilleri; genel olarak kullanılan PHP programlama dili ve ASP.net, veri tabanı dizaynı için ise MYSQL ve MSSQL’dir. 

Front-end nedir? Front-end developer kime denir? Neler yapar?

Web site ziyaretçilerinin direkt olarak muhatap olduğu ve etkileşime girdiği ön yüze front-end; bu ön yüzde CSS, Html ve Javascript teknolojilerini kullanarak geliştirmeler yapan kişiye de front-end developer denir. Bu programlama dilleri, web sitesinin ziyaretçiye yansımakta olan görünüşüne odaklanmaktadır. Front-end developer; ziyaret edilen site için fazlasıyla emek harcayan kişi olup ziyaret eden üzerinde iyi bir izlenim bırakmayı ve ziyaret edenin hoşça vakit geçirmesini sağlayan bir deneyim yaşatmayı amaçlar. Front-end developer için web sitesi kullanıcılarının gözüyle gördüğü her şeyle ilgilenir denilebilir. Web sitesi kullanıcılarına marka kimliğini yansıtıp siteye özgü duygusal bir deneyim yaşatmaktadır. 

Bir yazılım dili nasıl öğrenilir?

Bir yazılım öğrenme öncelikle sabır gerektiren ve üzerine dikkatle eğilinmesi gereken bir konudur. Sabır ve dikkat gerektirmesinin nedeni deneme yanılma metoduyla sonuca ulaşma durumudur. Programlama dilleri genelde aynı mantığa dayanarak yazılmaktadır. Önemli olan yapılacak işin temel mantığını kavramaktır. Yani bir yazılım geliştirme planlanıyorsa ne yapıldığının tam olarak bilinmesi gerekmektedir. Bu nedenle bilgisayar konusunda gerçekten iyi bir bilgiye sahip olmak gerekir. 

Yazılım Nedir?

Yazılım, elektronik cihazların belirlenmiş bir görevi yerine getirmesini sağlayan programların tümüne ve birçok farklı amacı gerçekleştirmeye yarayan makine komutlarının bütününe verilen isimdir. Diğer bir deyişle mevcut bir sorunu çözmek maksadıyla bilgisayar dili vasıtasıyla oluşturulmuş anlamlı ifadeler bütünüdür. Yazılım için çeşitli diller mevcuttur. Bunlardan bazıları C++, Java ve Pascal‘dır.

Yazılım Dili Nasıl Öğrenilir?

Yazılım dili için kesinlikle okula gidilmesi gerekmektedir denilemez. Ama Türkiye’de bir programcı işe kabul edilirken, bazı işyerleri için diplomanın bir şart olduğu da dikkate değer bir durumdur. Yazılım öğrenme metotları şu şekilde sıralanabilir:

Okul dışında çevrimiçi üniversiteler (MIT, Coursera vb.) tarafından yayınlanmakta olan kurslar vardır.

Çevrimiçi olarak yardım alınabilecek platformlar da mevcuttur. Örneğin Khan Academy ve Udemy gibi. Udemy’de Türkçe programlama kursları mevcut bulunmaktadır.

Yazılım dilleri alanında bazı kitaplar da mevcut olup bazıları için en çok tercih edilen öğrenme biçimidir. Burada önemli olan husus takip edilmekte olan kitabın güncel olmasıdır. Bazı programlama dillerine sık aralıklarla güncelleme geldiği malumdur.

Bir yazılımcı işinde nasıl uzmanlaşır?

Profesyonel olarak yazılımcı mesleğiyle uğraşmak ve bu sayede para kazanmak isteyen yazılımcı adaylarının ve amatör yazılımcıların bu alanda kendilerini geliştirmesi şart. Öğrenmek istediğiniz programlama dilinin kodlarını ve Türkçe karşılığını bilmeniz, ezberden ve kopyala yapıştırdan çok mantığı kapmanıza olanak verir. Kodlama dilinin İngilizce olması bu dili bilmeyen yazılımcılar için en etkili dezavantajlardan. 

Soru Sorun

Hiçbir yazılımcı yazılıma dair her şeyi bildiğini iddia edemez çünkü bu alanda her gün yeni yeni gelişmeler yaşanır. Bu durumda bir şeyleri bilmemek moralinizi bozmasın. Etrafınızdaki tecrübe sahibi uzmanlara sık sık danışabilir, forum sitelerinde aratabilir ve dünyadaki tüm yazılımcıların ziyaret ettiği stackoverflow.com’u  takip edebilir github.com gibi açık kaynaklı sitelerde örnekleri inceleyebilirsiniz.

Hata Yapmaktan Korkmayın

Kodlama yaparken yaptığınız ufak değişiklikler tamamen emeğinizin boşa gidecek şekilde değişime sebep olabilir. Bu tip hataları yapma korkusu sizi denemekten alıkoyar. Ancak bu işin temelinde durmadan denemek var. Bu durumda yapmanız gereken en kritik şey verilerinizi yedeklemek. Bu şekilde yaptığınız yenilikler istediğiniz sonucu vermezse yedeklenmiş veriler sayesinde eski haline alabilirsiniz.

Yılmadan Deneyin

Eksik ve yanlış kodlama yapılmak istenen işi doğrudan sekteye uğratacağından yarım bırakmak gibi bir şansınız olmaz. Bu yüzden doğrusunu yapana kadar denemek zorundasınız. Bir yazılımcının yapacağı en büyük yanlış denemekten vazgeçmektir. 

Hatanın Sebebini Araştırın

Eğer yaptığınız kodlamada hatanın nerede olduğunu bulamazsanız işin içinden çıkamazsınız. Hatanın sebebini bulmak için kullanacağınız en etkili yöntem deneme yanılmadır. Hatayı nerede yaptığınızı bulana kadar her kodu tek tek denemeniz gerekir. Unutmayın, hatalardan kaçamazsınız.

Not Alın

Öğrendiğiniz en ufak ipucunu dahi not almanız ileride ihtiyaç duyduğunuz anda kolaylıkla bulmanızı hatta yapacağınız işleri daha hızlı bitirmenizi sağlar. Ayrıca not almak öğrenmek için en etkili yoldur. 

Tekrardan Kaçınmayın

Öğrenmenin bir diğer etkili yolu tekrardır. Öğrendiklerinizi tekrar tekrar yapın, prtatik yapmaktan korkmayın. Bu yöntemle yapacağınız olası hataları tespit etmeniz daha hızlı olacaktır. Unutmayın, ne kadar tekrar yaparsanız o kadar uzmanlaşırsınız.

En çok para kazandıran programlama dilleri nelerdir?

Günümüzün en etkili ve bilişim tabanlı para kazanma yöntemi yazılım geliştirmedir. Yazılım geliştirmek, yani program yazmak için programlama dilini öğrenmek gerekir. Ancak piyasada birden fazla programlama tekniği vardır; bunlardan bazıları eskiden beri var olup hala rağbet görürken bazıları gereksinimleri karşılayamadığı veya gelişen yeniliklere entegre olamadığı için tercih edilmez.

Mobil ve Masaüstü uygulamaların ardından en popüler para kazandırma amacıyla yazılan programlar web tabanlıdır. Web tabanlı bir programla yapmak isteyen kullanıcılar arasında en sık kullanılan programlama dili RUBY ve HTML 5’dir. Ancak günümüzde para kazanma amacıyla yazılan ve tüketiciler tarafından da en çok rağbet gören programlar mobil tabanlıdır. Bu uygulamalar oyundan haber alma, eğlence amaçlı olmaktan iletişim sağlama gibi çok çeşitli olabilir ve sayısı milyonlarcadır. Tabii ki mobil programlama dilinin başında Java gelmektedir. Bunu Sharp olarak bilinen C#, C dili programları, C++ dili ve iPhone ve iPad gibi iOS işletim sistemi tabanlı cihazların programlanmalarında Objective-C Programlama dili ve Swift programlama dilleri kullanılmakta.

Bu programa dillerinin birçoğu masaüstü programa dilleri içinde kullanılmakta. Masaüstü programlama dilleri para kazanmak için programlama yapmak isteyen kullanıcıların rağbet gösterdiği en eski ve hâlâ etkili tekniklerden birisi. Kullanıcıların günümüzde en çok rağbet ettiği tercihlerin başında oyun geliştirmek geliyor. Yukarıda saydığım programlama dillerinin yanı sıra popüler web sitelerin yazılımı için PHP, Javascript, CSS3 ve SQL programlama dilleri geliyor.

Yabancı dilinizi en hızlı nasıl geliştirebilirsiniz?

İlk okul yıllarından itibaren yabancı dil öğrenmemiz gerektiğini bize sürekli hatırlatıp dururlar. Aklımıza kazınan bu öğrenme isteğini pekiştirmek için dil kurslarına giderek amacımıza ulaşmaya çalışırız. Fakat sonradan anlarız ki, sadece dil kurslarına giderek yabancı dili tam anlamıyla öğrenemiyoruz. Peki yabancı dili geliştirme için ne yapmamız gerekiyor? Şimdi sizlere kendi yöntemlerimi aktarıp bilgilendirmeye çalışacağım. Bu yöntemler sayesinde, yurtdışına rahatlıkla gidebileceğimi düşünüyorum. 

Öncelik olarak telefonunuzun dilini öğrenmek istediğiniz dile çevirin. İlk olarak zor gelse de zamanla harika bir yöntem geliştirdiğinizi anlayacak, dilinize hakim olmaya alışmaya başlayacaksınız. Yabancı şarkı, alt yazılı film izleyebilirsiniz. Bu sayede dil bilgisi ve konuşma dilini pratik şekilde öğrenmeye başlıyor olacaksınız. Yabancı şarkıları dinlerken sözlerini bir kağıda yazıp siz de tekrar edebilirsiniz. Bu çok işinize yarayacak bir yöntem olacaktır. Böylelikle yabancı dil geliştirme yöntemlerinizi nitelikli hale getirmeye başlayacaksınız. 

Sosyal medyada yabancı olan bazı hesapları takip edip, yabancı medyayı gözden geçirebilirsiniz. Ayrıca öğrenmek istediğiniz dil ile ilgili yabancı hikayeler okumak çok faydalı olacaktır. Benim öğrenmeye başladığım yıllarda en çok işime yarayan yöntemlerden biri olmuştu. Bu sayede hem dilim gelişti, hem de dil bilgisi kurallarını öğrenmeye başlamıştım. En önemli detaylardan birine geldiğimizi belirtip dil kartlarına öncelik verelim. Her gün bir yeni kelime öğrenecek, kısa sürede cümle kurmaya başladığınızı fark edeceksiniz.