Genel Tanımı:
Dijital Çözümler Birimi’nin sorumluluk alanına giren ürün ve hizmetler için yazılım geliştirme süreçlerindeki teknik analiz, mimari tasarım, yazılım geliştirme, birim/entegrasyon test, kurulum ve teknik dokümantasyon aşamalarının, şirket prosedürlerine uygun olarak sonuçlandırılmasından sorumludur.
Beklenilen Nitelikler:
· Üniversitelerin Bilgisayar Mühendisliği, Yazılım Mühendisliği veya Bilgisayar Bilimleri Mühendisliği bölümlerinden mezun,
· Java (J2SE&J2EE) programlama dilinde en az 4 yıl yazılım geliştirme deneyimi olan,
· Java Spring Core, MVC ve Spring Boot teknolojileri konusunda deneyimli,
· Object oriented tasarım ve uygulama geliştirme süreçlerine hakim,
· Web Servis, SOAP, Restful API servis geliştirme konusunda deneyim sahibi,
· Microservice kavramını bilen ve bunların yönetimi için kullanılan Consul benzeri sistemler üzerinde daha önce çalışmış,
· Temel düzeyde HTML ve JavaScript proje deneyimi olan,
· Relational (Oracle, MySQL) ve NoSql (Redis, MongoDB gibi) veri tabanları ile proje deneyimi olan,
· Git gibi versiyon kontrol araçları ile çalışmış,
· Jenkins gibi CI/CD araçları kullanımı konusunda bilgi sahibi,
· Linux işletim sistemi kullanım bilgisine sahip,
· Teknik dokümanları, yayınları ve çeşitli kaynaklardan içerikleri takip edip anlayabilecek ve sözlü iletişim kurabilecek düzeyde İngilizce’ye hakim,
· Analitik düşünme becerisine sahip,
· Sorun bulma ve çözme konularında yetenekli,
· Araştırma ve öğrenme merakı olan,
· Takım çalışmasına yatkın,
· İletişimi güçlü
Başvuran kişinin,
· Apache Kafka gibi pipeline teknolojilerini kullanmış,
· Kubernetes, Openshift, Docker gibi Container teknolojileri konusunda deneyimi olması,
· Apache HTTP Server, Caddy, Nginx veya Tomcat gibi runtime platformlarını bilmesi,
· JQuery gibi JavaScript kütüphanelerini kullanmış olması,
· Vue.js, React gibi önyüz teknolojilerinde deneyimi olması,
· Scrum, Kanban gibi Agile methodolojiler ile daha önce çalışmış olması
artıdır.
Temel Sorumluluklar:
· Sorumlu olduğu uygulama ve sistemlere yönelik kurulum, iyileştirme, yazılım geliştirme faaliyetlerini, tanımlı politika, prosedür ve standartlarına uygun olarak yürütmek.
· Ürünün veya uygulamanın geliştirilmesi, devreye alınması ve bakımına dek tüm proje hayat döngüsüne katılmak.
· Proje taleplerine yönelik uygulama ve sistem gereksinimlerinin tanımlanması sürecinde ilgili birimlere destek olmak.
· Sorumluluk alanında olan projelere yönelik proje hazırlık, fizibilite, iş ve teknik isterlerin hazırlanması çalışmalarına destek olmak.
· Geliştirilen kaynak kodlar üzerinde gerekli birim testlerini ve hata ayıklama (“debugging”) çalışmalarını gerçekleştirmek, gereken aksiyonları almak.
· Geliştirilen ürün ve hizmetler konusunda iletilen problemleri araştırıp çözümlemek, teknik soruları yanıtlamak ve dışarıya hizmet olarak sunulan servisler için entegrasyon desteği vermek,
· Yüksek kalite standartlarında ve ürün yol haritasına uyumlu bir şekilde uygulamaları geliştirmek, projeleri hayata geçirmek.
· İç veya dış kaynaklar tarafında geliştirilmiş, kaynak kodu bulunan uygulamaların görevler ayrılığı prensipleri dahilinde kaynak kod incelemesini yapmak, gereken aksiyonların alınmasını sağlamak.
· Uygulamalarda kullanılan 3. parti kütüphanelerin sürümlerini takip etmek, gerektiğinde bu kütüphanelerin son sürümlerini kullanılması için uygulamaları düzenlemek.
· Ürünün sürdürebilmesi için gerçekleştirilen çalışmaları doküman haline getirmek,
· Efektif ve verimli kod geliştirebilmek için diğer ekip üyeleriyle uyumlu çalışmak,
· Test ve devreye alım gibi adımların başarılı olarak tamamlandığını izlemek ve bu adımlardaki olası sorunları çözmek için gereken aksiyonları almak veya gerektiğinde bayrak kaldırıp farkındalık yaratmak,
· Java ile ilgili ilgili yeni yazılım teknolojilerini araştırmak, yeni fikir ve teknolojileri paylaşmak,
· Sorumluluk alanına giren, uygulama geliştirme dışındaki periyodik bakım faaliyetlerini yürütmek.
· Güvenli kod geliştirme süreçlerine uygun şekilde yazılım geliştirmek, periyodik yapılan güvenlik denetimlerinde tespit edilen bulguların giderilmesini sağlamak,
· Çevik yöntemleri uygulamak ve olgunluk seviyesinin artması için katkıda bulunmak.
· Sorumluluk alanındaki ürün ve hizmetlerin gelişimi, güncel tutulması ve yaygınlaşması konusunda ilgili iş birimleri ile uyum içinde çalışmak, gerekli desteği vermek.
· Müşteri memnuniyeti sağlamak, müşteri odaklı bir yaklaşım sergilemek.