Programlama ve Kariyer

advertisement
Programlama ve Kariyer
Akın Kaldıroğlu
akin@javaturk.org
6 Mayıs 2017
www.JavaTurk.org
Programlama Nedir? - I
•
Bazışeyleri,onlarıyapan,icraedenlerüzerinden
tanımlamakdahakolaydır.
•
Programlamayapankişiyeprogramcı
(programmer)denir.
•
Peki,programcıkimdir?
www.JavaTurk.org
2
www.JavaTurk.org
3
Programlama Nedir? - II
•
Birişiyapanıgözlemlemekoişleilgilisizeçok
şeyanlatır.
•
Dolayısıylaprogramcıları,tabiortamlarında
gözlemlemelisiniz.
www.JavaTurk.org
4
www.JavaTurk.org
5
www.JavaTurk.org
6
Programlama Nedir? - III
•
•
Hakikattenprogramlamanedir?
•
Bilimdir(science),
•
Sanattır(art),
•
Mühendisliktir(engineering)ve
•
Zanaattir(craftmanship).
Dolayısıylaprogramlamaçokdisiplinli(interdiciplinary)biralandır.
www.JavaTurk.org
7
Programlama, Bilimdir.
•
Programlama,bilimdirçünküprogramlama,
matematiktir.
•
Programlama,temellerimantıkvecebirolan,
aksiyomlarasahip,kendinehasnotasyonuolan
biruygulamalımatematikdisiplinidir.
•
Programlamailegeneldedaimabiralgoritma
yazılır.
www.JavaTurk.org
8
Algoritma Nedir?
www.JavaTurk.org
9
Programlama, Sanattır - I
•
Soyutoluşuveörneğininolmaması,yaratıcılık
gerektirmesiveyapanınkişiselözelliklerine
bağlıolması,programlamayıbirsanatyapar.
•
Hemenhiçbirprogramlamayapısıbirdiğerinin
aynısıhattabenzeribiledeğildir.
•
Programcılar,yaptıklarıişitanımlarken,“aşk”,
“tutku”,“bağımlılık”gibikelimeleriçok
kullanırlar.
www.JavaTurk.org
10
Programlama, Sanattır - II
www.JavaTurk.org
11
•
Muhtemelen,
zekanın
çıktısını,
programlama
kadaraçıkve
hızlı
görebilen
fazlameslekuğraşıyoktur.
www.JavaTurk.org
12
Programlama, Mühendisliktir
•
Programlamabirproblemçözmeyöntemidir,
programlamaamaçdeğilaraçtır.
•
Süreçseldir,kodungeliştirilmesi,testlerinin
yazılmasıveçalıştırılması,dokümantasyonuvb.
çalışmalar,programlamanınparçalarıdır.
•
Buyönüylebirmühendislikdisiplinir.
www.JavaTurk.org
13
Yazılım Geliştirme Nedir?
•
Yazılımgeliştirme,merkezindeprogramlamanın
olduğubirmühendisliktir.
•
YazılımMühendisliği-SoftwareEngineering
•
Programlamayanında,analiz,tasarım,test,
yönetimvb.faaliyetleresahiptir.
•
Fakatprogramlama,esasçıktıyıüretendirve
muhtemelenenkarmaşıkolanfaaliyettir.
www.JavaTurk.org
14
Programcılar Cesurdurlar!
www.JavaTurk.org
15
Programlama, Zanaattır.
•
Usta-çırakilişkisiileöğrenilmesi,ciddiel(ve
zihin)yatkınlığıgerektirmesiveyapanınkişisel
özelliklerinebağlıolması,programlamayı,bir
zanaat(craftmanship)kılmaktadır.
•
Herzanaattaolduğugibiprogramlamadada
kullanılanaraçlarveişyapışşekillerivardır.
www.JavaTurk.org
16
•
Programlama
da,yazılım
geliştirmede
çok
karmaşıktır,
muhtemelen
mühendislikler
arasındaen
karmaşık
olandır.
www.JavaTurk.org
17
YM, Basitlik İllüzyonu Sanatıdır
•
Yazılım
geliştirme
takımının
görevi,
basitlik
illüzyonu
yaratmaktır.
www.JavaTurk.org
18
•
Basitlik,meziyettir.
•
Mükemmellik,
basitliktedir.
•
KISS-Keepitsimple
stupid
www.JavaTurk.org
19
Programcı Olmak İçin - I
•
•
İyibirprogramcı,
•
Farklısoyutlamaseviyeleriarasındarahatçagezebilen,
matematikselbirzekayasahip,
•
Aynıandapekçokfaktörüyönetebilenbirdetaycı,
•
İğneilekuyukazabilenbirsabırtaşıve
•
Stresaltındaçalışabilendir,özellikleTürkiye’de.
Tümbunlarınaltındankalkabilmekancaktutku
ilemümkündür.
www.JavaTurk.org
20
Programcı Olmak İçin - II
•
Eğerprogramlamakonusunda,yukarıdaki
özellikleresahipvekendinizitutkulu
görüyoranız,iyibirprogramcıolabilirsiniz.
•
Aksitaktirde,kariyerinizdemutluolmakiçin
analist,tester,ağ,veritabanı,vb.sistem
yöneticisivb.pozisyonlarıtercihetmeyi
düşünün.
www.JavaTurk.org
21
Programlama-Yazılım Kültürümüz
•
•
Ülkemizdekiprogramlamakültüründezanaat
tarafıağırbasmaktadır,
•
Dolayısıylaprogramlamapratiğimizde,öğrenmede
formaleğitimyerine,bakıp-görmeveproblem
çözmededesistematiklikyerinedeneme-yanılmaöne
çıkmaktadır,
•
ÜlkemizdekiprogracılarınenbüyükyardımcısıcopypasteveGoogle’dır.
Programlamaveyazılımgeliştirmekültürümüz,
toplumsalkültürümüzünbiryansımasıdır.
www.JavaTurk.org
22
Zanaat Kültürü ve Üniversiteler
•
Programlamadazanaatıaşağıçekip,matematik,sanatve
mühendisliktara[larınıöneçıkartacakbirüniversite
eğitimiönemlidir.
•
Buyüzdenüniversiteeğitimimiz
•
Matematikselvealgoritmikdüşünce,
•
OS,DB,networkvb.konulardateorik-pratikbilgibirikimini,
•
YazılımMühendisliğiveyazılımilesüreçselproblemçözme,
•
vebelkideenönemlisikeyi)lieğitim-öğretim
noktalarınıöneçıkarmalı.
www.JavaTurk.org
23
Fark Yaratan Programcı Olmak İçin
•
•
Farkyaratanbirprogramcıolmakiçin,
•
Üniversiteler,master-doktoragibilisanssonrasıeğitimler,
serti[ikasyon,onlineöğrenmeortamlarıvb.yollarlasürekli
bilgilenmeye-gelişmeyeönemvermek,
•
Sistemliolmak,
•
Odaklıolmak,
•
Bilgisahibiolmadan[ikirsahibiolmamak,
•
Yurtdışınagidipçalışmak,
önemlidir.
www.JavaTurk.org
24
Dinlediğiniz için
teşekkür ederim.
Bu sunuma www.javaturk.org adresinden
ulaşabilirsiniz.
www.JavaTurk.org
Download