, 16 tweets, 20 min read Read on Twitter
Bir yazılım geliştiricinin bilmesi gerekenlerle ilgili 15 maddelik flood geliyor.. Mümkün olduğunca fazla keywordü bir araya toplamaya çalıştım.
Hadi Başlıyoruz!

#Developer #Software #Java #code #kod #yazılım #development #computer #bilgisayar #tool #PC #IT #web #tech #data
1-Temel veri yapıları (linkedList, map, tree vb) ve temel algoritmalar (sıralama, arama vb)

Sıfırdan kodlama ihtiyacınız büyük ihtimalle hiç olmayacak. Ancak ihtiyaç anında doğru yerde doğrusunu seçebilmek için o veri yapısının veya algoritmanın nasıl çalıştığını bilmeniz şart
2- Network Temelleri

OSI Modelini ve 7 katmanı; temel protokolleri(#TCP-IP, TCP-UDP, #HTTP, #FTP), güvenlik protokollerini(#HTTPS, #SFTP, #SSL), monitoring protokolleri(#SNMP, ICMP) bilmekte fayda var. Ayrıca ağ ekipmanlarının görevlerini tanımak ve 7Layer yerlerini bilmek lazım
3- Source Control Toolları

Birçok farklı tool var; #Clearcase, #SVN, #Git, #CVS... En azından 1 tanesine hakimiyet yüksek olmalı. Yeteneklerine ve trendlere bakılırsa bu tartışmasız #Git olmalı
4- #SQL ve $RDBMS

Veri saklamak için çok alternatif var. Ancak RDBMS'ler halen en yoğun kullanılanılanları. Bu nedenle #OLAP, #OLTP; tasarım prensiperi(#Normalization, #BCNF); SQL ve bir #ORM toolunu bilmekte fayda var. Sonrasında #NoSQL dünyasına yelken açılmalı
5- Algorithm Complexity Analysis

Big-o notation'ı bilmek lazım. Böylece kurguladığımız algoritmanın bize dönüşünü bilebiliriz. Hatta sadece #CPU optimizasyonu da değil; #memory, disk, CPU ihtiyaçlarına göre aynı problemin farklı çözümleri üzerine düşünmeye alışmak da önemli.
6- #Gof #DesignPatterns

Bu madde herkesten duymaya alıştığınız bir madde olduğundan yazıp yazmamak arasında gidip kaldım. Ancak eksik bırakmaya gönlüm el vermedi. #OOP'yi zaten bildiğinizi varsayıp bunu Gang of Four Design Patterns ile taçlandırmanızı şiddetle öneriyorum.
7- Software Design Principles

En az design patterns kadar önemli ama bir o kadar atlanılan kavramlar. #SOLID, #KISS, #DRY, #YAGNI ve #TDD'yi hayat tarzı yapmak lazım.

#DesignPrinciples
8- Database Design Principles

#ACID ve #BASE en temelleri. Bunları anlamlandırabilmek için #CAP teoremini bilmek lazım. #Mikroservis mimari için #EventSourcing problemine çözüm #CQRS de öğrenilebilir
9- Static Code Analysis Tools

#CodeReview başlığını da bu maddeye yedirelim. Yazdığınız kodun kalitesini, security risklerini bu toollarla ölçümleyip kodunuza review yapmanız önemli. Java için birkaç örnek; #PMD, #FindBugs, #FindSecurityBugs, #SonarQube...
10- #Unit & #Integration #Testing

Testin kodlanması şart, özellikle de mikroservis mimarilere adım atıyorsanız. #TDD bu yüzden çok iyi bir seçim. Bunu uygulayamasanız bile en azından birim ve entegrasyon testlerini yazmalısınız. #JUnit #DBUnit #Selenium #Mockito #AssertJ #Jmeter
11- #Unix - #Linux

#SSH terminalini karşınıza aldığınızda şaşırıp kalmamalısınız. Bağlandığınız sunucuda #fileSystem #textEdit #fileTransfer işlemlerinizi rahatça halledebilmelisiniz. Temel işlemlerinizi halledebilecek kadar #shellScripting yapabilmelisiniz.
12- #Scripting #Language

Ana bir #HighLevelLanguage (java, c# gibi) yanında bir betik dilini bilmek birçok ihtiyacınızı çok daha hızlı çözebilmenizi sağlar. İkinci bir dil bilmenin ufkunuzu nasıl genişleteceğinden bahsetmiyorum bile. #FunctionalPrograming öğrenmek de güzel olur
13- #Tools

Bütün bunları yaparken toollara ihtiyacımız olacak. Kendinizi en iyi hissettiğiniz toollardan bir toolkit yaratın ve uzmanlaşın. Örn: #Postman #Notepad++ #Excel #powerpoint #ditto #mtail #sysinternals #DumpAnalyzer vb...
14- Takip Listesi

Gündemi sürekli takip edebilmek ve güncel kalmak için sizinle benzer kulvardaki profesyonelleri bulun, #blog'larını, sosyal medyalarını takip edin. Siz de vefa borcunuzu ödemek ve kendinizden sonrakilere fayda yaratabilmek için yavaştan paylaşımlara başlayın
15- #OpenSource #Contribution

Başkalarının kodlarını okumak sizi çok hızlı geliştirir. Bu sebeple open source community projelerine contributor olun. Ekmekte tuzunuz olsun.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to mehmetcemyucel
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!