|
Bildirim
|
Merhaba RAUL,
Türkiye'de yazilim sektöründeki isleyis çok hizli. Yani hemen hemen çogu firmada isin geri planindan çok isin hizli ve sonuç odakli olmasindan dolayi bilgi birikiminin senin hayal ettigin kadar korkutucu olmasina gerek yok. Çogu programci arkadaslarimiz (Bu isi hakki ile yapanlardan bahsediyorum) kendi özverileriyle ve extra çalisma saatleriyle stabil hale getiriyorlar. Durum böyle olunca bilgi birikiminin asagidaki siralamada olmasi seni Junior programci olarak bir firmada baslatabilir. 1- C# .NET - OOP (Nesne yönelimli programlama hakkında konunun tamamı olmasada en az %70 hakim olmalısın) - Design Pattern (En az 3 dizayn tasarımını kolayca uygulayabilir diğerlerinin iskelet yapısına bakarak uygulayabilecek kapasiteye sahip olman gerekiyor.) - Delegate/Event Yönetimi (Bir class içerisinde tanımladığın bir event'in veya delegate'in başka bir yapı içerisinden çağırılması veya tetiklenmesini bilmen ve anlamış olman gerekiyor.) - WPF/Windows Form UI Dizayn (hayal gücünle sinirli, belirli bir ölçüsü yok) + MVVM dizayn tasarımı (WPF teknolojisini kullanacaksan mutlaka bu tasarım kalıbını iyi olarak bilmen gerekiyor. ObservableCollection ve Binding yapılarına dikkat çekerim.) - WCF + İki programın iletişimini stabil bir şekilde sağlayıp veri alışverişini yine stabil bir şekilde yapabiliyor olman gerekiyor. İçerisindeki bağlantı yapılarını bilmen gerekiyor. - Windows Services + Bir servisin yazılması, setup haline getirilmesi ve ardından işletim sistemine kurulup gerekli ayarlasın yapılması. (Ayarlarlama için : örnek bakınız madde 8) - Entity Framework & Linq (Zor değil ancak bol örnekler yaparak seviyeni kendin belirleyebilirsin.) - Console Projects ile programlama + Bir form yok ve komut satırından verilecek parametrelerle işleyişi sağlaman gerekecek kadar bilgin olması gerekiyor. - Class Library (dll) + Uzman arkadaşlarımız genel olarak yeni açtıkları projelerin arkasına kod yazıp bu şekilde ilerlemezler. Örnek olarak Bir Class Library projesi açılır ve genel olarak yapılacaklar sistemli ve ilgili dizayn tasarımları kullanılarak projeye yazılır. Akabinde hangi projeye ekleyeceksen referans olarak ekler ve gerekli metodarı vs. leri kullanarak sadece DLL projesini geliştirirsin. Aynı şekilde test projeside bu DLL projesi üstüne kuruludur diyebiliriz. - Hata Yönetimi (Exception) + Durum yönetimli sistemlerde hatanın ne olduğu can damarı anlamındadır. - Algoritma (Bu nerdeyse ayrı bir dal. Kimse senden Donald E. Knuth 'un kitaplarını okuyup bilgi sahibi ol öyle gel demez. En azından bu konuda yazılmış çok güzel makaleler var. Onları okuyup bilgi sahibi olabilirsin.) 2- Microsoft Sql Server - Database'e baglanti ve sorgulama (C# kısmından Database'e) - T-SQL (Temel düzey Stored Procedure, Trigger, User Function yapisi ve kodlama, parametreli veri aktarımı ve sorgudan dönen yapıların sağlıklı alınabilmesi.) - Temel DML/DDL işlemleri - Temel düzeyde veritabanı oluşturma ve tabloları tasarlayıp yine temel düzeyde ilişkilendirme. 3- Installer Project - Setup hazirlama (%80) 4- TDD (Bunu başlangıç olarak söylüyorum, senin için ekstra (şimdilik)) - First Test teknigi ile ilk basta test kodlari ve ardindan temel sınıf ve kodlarin yazilmasi (Uzman işe alımcılarım dikkatini kesinlikle çekersin) - İlk olarak First Code ardından test kodları ile başlaman mantığını ve ilerlemeni daha da hızlandırır. Akabinde zamanı gelince First Test Code ile kolayca yer değiştirirsin. 5- Spring Framework (Temel düzeyde instance alma yapisi ve argüman aktarma giris seviyesi olarak yeterli. Uzman işe alımcılarım dikkatini kesinlikle çekersin.) 6- log4Net veya Microsoft Log sistemi yapısını log tutup konfigurasyonu yapabilecek kadar bilmelisin. Programlarını yazarken işleyişle ilgili geri planda text dosyasına log tutulması işlemi için söylüyorum Yazdığın programları kullananlara ayrı mesajlar gösterirken senin için veya farklı bir programcı arkadaşın için tutulan profesyonel loglama sistemleridir. 7- Bir programın planlanması ve gerekliliklerin tespit edilmesi. Ardından UML diagramını çizmiş ve hayata geçirebiliyor olman gerekiyor. Plan herşeydir. UML tasarımları konusunda internette bilgiler mevcut ve UML şemaları oluşturabileceğin programları araştırabilirsin. 8- Windows İşletim sistemi temel düzey bilgisi. Örnek olarak Dosya yetilendirmesi, teknik terimler, Firewall ayarları, Group ve user işlemleri, domain sisteminde de dahil. 9- Özellikle araştırmacı ve yeniliğe açık olmak 10- Kesinlikle sistemli çalışmak ve anlayarak öğrenmek 11- SABIRLI OLMAK ve DETAYCI OLMAK(Bunlara her zaman ihtiyacın olacak) C/C++ konusuna gelince, yerinde olsaydım ilk adım olarak bu programlama dilleriyle kesinlikle başlamazdım. Çok zaman kaybedersin öğrenene kadar. Yapıları, yazım şekli ve OOP mantığı daha farklıdır. İlk adımların, başlangıçların ne kadar bilgiyi anlayarak öğrenebilir olursa dil değiştirmen de ileride bir o kadar kolay olur düşüncesindeyim. C# güçlü bir dil ve bu seni iyi bir yere getirir, doğru adımlarla ilerlersen. Ardından C/C++ geçebilirsin. O senin yeteneğine ve azmine kalmış. Junior yazılımcı veya yeni terimlerle Backend / Frontend Junior yazılımcı olarak başlayacağın bir yerde senden kimse mükemmeliyetçi bir yaklaşımla program yazmanı beklemez. Hatta bekleyemezler. Bilmiyorsan:"Bilmiyorum, ama çözer ve yaparım" demelisin. İnternetten destek almayan hiç kimse yoktur bunuda bir kenara yaz. Tabii ki takıldığın yerde internete bakacaksın. Bazen Microsoft'un sitesinde "evet buldum tam bunu arıyordum" derken; bir bakmışsın ki stackoverflow'da daha uzmanca yazılmışını bulabilirsin. Destek almak ayıp değildir. Ayıp olan bilmediğin halde biliyorum demek ve kopyala yapıştır programcısı olmaktır. Her işte olduğu gibi tabii ki sende bir yerden başlayacaksın. Umarım başlayacağın yerde de burnu havada 3/5 bilgiye sahip olup sana caka satan adamlar denk gelmezsin. Bilgiyi severek ve saygı ile paylaşan insanlara denk gelmen dileğiyle. Saygılarımla. NOT : Unuttuğum veya atladığım birşeyler kusuruma bakmayın. |
|
|
|
|
|
|
< Bu ileti mobil sürüm kullanılarak atıldı > |
< Bu ileti mini sürüm kullanılarak atıldı > |
< Bu ileti DH mobil uygulamasından atıldı > |