Teknasyon’da Staj Yapmak: Öğrendiklerim ve Kazandığım Deneyimler
Teknasyon’da geçirdiğim 30 günlük staj, benim için hem öğretici hem de ilham verici bir deneyim oldu. Staj boyunca, API dökümantasyonu…
Teknasyon’da Staj Yapmak: Öğrendiklerim ve Kazandığım Deneyimler
Teknasyon’da geçirdiğim 30 günlük staj, benim için hem öğretici hem de ilham verici bir deneyim oldu. Staj boyunca, API dökümantasyonu kullanarak bir ticaret uygulaması geliştirdim. Bu süreçte Jetpack Compose, MVI design pattern ve Clean Architecture gibi teknolojilere odaklanarak yeni şeyler öğrenmenin heyecanını yaşadım.
Mentorum Celal Baydar, sadece teknik anlamda değil, profesyonel iletişim ve ekip çalışması gibi konularda da bana yol gösterdi. Her gün sabah ve akşam yapılan kısa toplantılarla, o günün görevleri üzerinde konuştuk ve ilerlememi değerlendirerek her geçen gün daha verimli bir öğrenme süreci kat etmeye odaklandık. Ayrıca, toplantılar sayesinde ekip içi iletişimin ne kadar elzem olduğunu öğrendim ve bu, bana çok şey kattı. Ekibin bir parçası olmak, ve süreç boyunca ilerlerken yaşanan şeyleri bu şekilde deneyim etmek profesyonel hayatın tamamen bireysel çalışma değil daha çok iletişim ve ekip çalışması olduğunu göstermiş oldu.

1. Hafta: Jetpack Compose’a İlk Adımlar ve Tasarım Süreci
Staja Splash Screen tasarımıyla başladım. Jetpack Compose’a daha önce aşina olmadığım için dökümantasyon okuyarak başladım ve ekran tasarımlarını oluşturdum. İlk haftanın sonunda, Login ve Register ekranlarını tamamladım. Bu süreçte, sürekli tekrar eden kod bloklarını fark ettim ve bu kodları uikit adında ayrı bir pakete taşıyarak projeyi daha düzenli hale getirdim. **Navigation sistemiyle ekranlar arası geçişi sağladım ve [MVI design pattern](https://engineering.teknasyon.com/how-to-implement-mvi-with-delegates-on-android-f2aa1a842b73)**’e aşina olmaya başladım.
Ayrıca, kullanıcı girişlerinde hatalı veri girişlerini engellemek için **input validation** sistemini uygulamama ekledim. E-posta formatı yanlış olduğunda uyarı mesajı gösteren bir kod bloğu yazdım. Ayrıca, telefon numarası girerken, görsel olarak telefon numarası formatını eklemek için özel bir düzenleme yaptım (+90 000–000–0000). Bu gibi geliştirmelerle hem Android geliştirmeye daha çok alıştım hem de kullanıcının tecrübesini daha fazla ön planda tutmam gerektiğini anlamış oldum.

Splash-Register-Login Screens
2. Hafta: API ile Tanışma ve İlk Adımlar
İkinci haftada, Retrofit’i öğrenip login ve register işlemleri için API bağlantılarını kurmaya başladım. İlk kez bu kadar detaylı bir API entegrasyonu yaptığım için başlangıçta zorlandım ama deneye yanıla sistemi oturtmayı başardım.
Bu sırada, görsel ve kullanıcı deneyimi iyileştirmeleri üzerine de çalıştım. Örneğin, internet bağlantısı olmayan bir kullanıcı login veya register olmaya çalıştığında bir hata mesajı göstermek gibi küçük ama önemli geliştirmeler yaptım.
Aynı zamanda, Mentorumdan düzenli olarak geri bildirim alarak uygulamanın genel yapısını optimize etmek için best practice yöntemlerini araştırdım, kodda olan hatalı kullanımları düzeltmeye çalıştım. Bu süreçte, Channel ve **StateFlow** yapılarının doğru kullanım alanlarını araştırarak uygulamada verimli bir şekilde kullandım.

User Detail Screen
3. Hafta: Kullanıcı Deneyimi ve Ürün Listeleme
Üçüncü haftaya, kullanıcıların giriş bilgilerini hatırlayan Remember Me özelliğini ekleyerek başladım. Bunun için **SharedPreferences ve [DataStore](https://developer.android.com/topic/libraries/architecture/datastore?hl=tr)** yapılarını araştırdım. Artık kullanıcı, uygulamayı tekrar açtığında doğrudan giriş yapılmış bir şekilde devam edebiliyordu. Bu sayede, ekran geçişlerini daha stabil hale getirdim.
Bu haftanın bir diğer önemli adımı, ürünlerin listelendiği ekranı geliştirmekti API’ye sırayla get_products, get_sale_products, get_categories ve get_products_by_category gibi istekler atarak, ürünlerin resimlerini, başlıklarını ve açıklamalarını LazyRow ve LazyColumn bileşenleriyle kaydırılabilir şekilde gösterdim. Bu kısmı geliştirirken, her detayın kullanıcı deneyimine katkısını düşünerek hareket ettim.

Layouts
4. Hafta: Ürün Detayları ve Veritabanı Kullanımı
Son hafta, ürün detaylarını gösterecek ekranı geliştirdim. Ürüne tıklandığında, ürün ID’sini kullanarak API’den detayları çeken bir sistem kurdum. Bu kısımda biraz takıldım çünkü daha önce yazdığım kodlardan birazcık farklı bir işleyişle veriyi taşımam gerekiyordu. Daha önce benzer bir veri taşıma işlemi yaptığım UserId verisini, API’a istek attıktan hemen sonra alabiliyorken, ürünler kısmında ürünün id’sini alıp bu id ile birlikte API’a istek atmam gerekiyordu. İlk denemelerde zorlansam da ve bir günden fazla zamanımı bunun çözmeye harcasam da mentorumun yönlendirmesiyle bu kısmı başarıyla tamamladım.
Mentorumun önerisiyle, sürekli API’ye istek atmak yerine verileri **Room Database ile depolamayı öğrendim. Bu yapıyı uygulamaya entegre ettiğimde, veri okuma işlemleri** çok daha hızlı hale geldi. Sektördeki yoğun kullanım bu şekilde olduğu için bu yapıyı öğrenmek benim için önemliydi.
Başka yapılara da aşina olmam için mentorum bana ara ara yeni görevler veriyordu. Bunlardan bir tanesi API istekleri ile ilgiliydi. Aktif olarak istekleri servise paralel bir şekilde yani birbirlerinden bağımsız atıyordum, bunun yerine isteklerin servise birlikte çıkmasını sağlayacak yeni bir kod yazdım. Ayrıca, ürün detay ekranında görselleri kaydırılabilir şekilde göstermek için **HorizontalPager** kullanarak görsel iyileştirme yaptım.

Product List & Product Detail
Staj Sonu
Teknasyon’daki staj, android geliştirme yolculuğumda benim için büyük bir adım oldu. Bu süreçte sadece teknik bilgiler öğrenmekle kalmadım, aynı zamanda ekip içi iletişim, zaman yönetimi ve problem çözme gibi alanlarda da kendimi geliştirme fırsatı buldum. Bu süreçte edindiğim bilgileri ve öğrendiklerimi, kariyerimin sonraki aşamalarında kullanacağımdan eminim.
Bu değerli staj deneyimi için öncelikle mentorum Celal Baydar’a, bana destek olan Getcontact ekibine ve böyle değerli bir fırsatı sağlayan Teknasyon’a teşekkür ederim. Stajım, yazılım geliştirme sürecini daha derinlemesine anlamama yardımcı oldu ve gelecekteki projelerimde bana büyük bir güven verdi.
메타데이터
- post_id
- 82e13d716e73
- slug
- staj-deneyimim-teknasyonda-4-haftalık-öğrenme-serüvenim-82e13d716e73
- url
- https://medium.com/@fatihbcg/staj-deneyimim-teknasyonda-4-haftal%C4%B1k-%C3%B6%C4%9Frenme-ser%C3%BCvenim-82e13d716e73
- canonical_url
- https://medium.com/@fatihbcg/staj-deneyimim-teknasyonda-4-haftal%C4%B1k-%C3%B6%C4%9Frenme-ser%C3%BCvenim-82e13d716e73
- author_url
- https://medium.com/@fatihbcg
- status
- ok
- fetched_at
- 2026-07-20 13:07:22