Reading List 2022

This post will get longer day by day ­čÖé


Engineering Manager Series Week 4

Hi everybody, it’s end of a sunny Sunday in Istanbul. Spring appeared in a flash; sun energized all of us.

As I promised, this week’s featured articles on accountability, low and high performers of the team.

HBR: Does your team have an accountability problem? shares some notes about accountability. At any point, I believe it’s important to first check ourselves. As mentioned in the article people do not go in the wrong direction intentionally. The following questions can be a good check before reaching the person/team.

Have I been clear about my expectations?

Have I asked what I can do to help?

Have I taken time to brainstorm and review processes?

Have I built a plan of action with my team member?

The second step is “Create a safe environment for the other person.“.

“Avoid jumping directly into critical feedback or using judgmental language such as, ÔÇťWhy would youÔÇŽÔÇŁ, ÔÇťYou should haveÔÇŽÔÇŁ, or ÔÇťThatÔÇÖs wrong.ÔÇŁ It helps to assume positive intent in the other person. The goal here is to listen and to remain genuinely open to their ÔÇťtakeÔÇŁ on things.

Listening, paying attention, and understanding the needs and motivations of the other person will help you put aside any assumptions you may be making about their character. You may discover that they are not ÔÇťlazy,ÔÇŁ ÔÇťincapable,ÔÇŁ or ÔÇťunreliable,ÔÇŁ but rather, that they are unclear on organizational goals, and therefore, are not properly prioritizing projects.┬á“

This comes to our minds a broader term “Psychological Safety”. People should feel safe to share their explanation. Anyway, the easiest way is to behave how you want to be treat. But if we define it’s meaning, following Forbes article can help us.

Psychological safety is┬áthe ability to show and employ one’s self without fear of negative consequences of self-image, status or career. In the workplace, it is a shared belief held by members of a company, department or team that the team is safe for interpersonal risk-taking.

Organizational behavioral scientist┬áAmy Edmondson┬áof Harvard first┬áintroduced the construct of ÔÇťteam psychological safetyÔÇŁ┬áand defined it as ÔÇťa shared belief held by members of a team that the team is safe for interpersonal risk taking.ÔÇŁ┬á

In her TEDx talk, Edmondson offers three simple things individuals can do to foster team psychological safety:
– Model curiosity and ask lots of questions.

Frame the work as a learning problem, not an execution problem.
Acknowledge your own fallibility.

Let’s return to accountability. The following steps;
Ensure that there is clarity and a mutual agreement on how to move forward. 
Commit to setting those you work with up for success. 
Regularly track and measure progress. 

For the last, I’m about to hear but how? The article shares some best best practices:

Roles and responsibilities write-ups (to use as references)

Scorecards (to measure outcomes)

Regular progress check-ins (to give feedback)

Metric dashboards (to track performance)

Weekly meetings (to stay aligned)

Process write-ups (to gauge what is working and what is not)

Checklists (to stay organized)

Project plans (to outline future goals)

Well, with the additional explanations, it took more than I expected so I leave the low and high performer topics to the next week.

If you found the article helpful, you can rate/share(under the videos), claps(at the top of the article) or make comment so I can improve my series. See you at the next post!

Engineering Manager Series Week 3

Hi there, this is week 3. After a little break, still we’re here ­čÖé This series aims to share some useful articles with some hints. This week’s articles are on a deep dive on engineering manager’s roles and responsibilities. Actually, we discussed this topic on the first post a little bit. While searching for articles I noticed Get Your Guide’s Engineering Manager series. Each company’s expectations are a little different about management but of course there are some common topics. This series summarizes it under 5 topics(productivity, team health, stakeholder happiness, customer and business impact, and systems health.). If you think about your company’s style and tools for the processes while you read the series, it would be more helpful. I’ll will give some hints from the posts.

Let’s start with Productivity. It’s mostly about prioritization of the work. They prepared 7 objectives to be more productive.

Objective 1: Projects are prioritized well (including what not to do)
Objective 2: MVP (minimally viable product) is considered and context is taken into account
Objective 3: Dependencies, primarily internal ones, are minimized and managed effectively
Objective 4: Team processes ensure continuous improvement
Objective 5: Waste is kept to a minimumÔÇŐ ÔÇöÔÇŐ projects seldom get cancelled, fires and hotfixes are very infrequent, projects progress continuously and with little interruption, and uncertainties and risks are tackled early
Objective 6: Individuals are set up to be productive ÔÇŐÔÇöÔÇŐ onboarding is fast and effective, interruptions are minimal
Objective 7: Team keeps track of tech debt and keeps it in check

The “how” part is as much important as “what” part. I strongly recommend reading the whole series, all the posts consists links to some best practices. I’ll add one more best practice for the last objective. It’s called Techrospective. We noticed the technique from Sabanc─▒Dx’s post, some teams started to use it.

The second topic is Team’s Health. Well you can do everything right but if you don’t be careful about one specific thing, the others doesn’t mean anything which is to prepare the right environment for a team’s being healthy. So how can we do it? GYG summarizes it under 5 main pillars.

  • Trust and dynamics
  • Setup
  • Onboarding
  • Growth
  • Performance management

Team Health is a foundational pillar to how we build high-performance teams, demanding prioritization and time investment. Balancing the different components of team health creates an exciting challenge for any Engineering Manager aiming to lead a happy and trusting team of engineers on-track for personal and professional growth. Although every Engineering Manager will have their own style and priorities, and every organization/team its own culture and maturity, team health is one aspect that must stay top of mind.

This time I’ll share one more additional best practice from Google for Growth. One of the behaviors of great engineering managers is being a good coach. Google has a page on re:Work for some tips on 1:1’s and career conversations. GROW model is very effective for coaching.

Goal – What do you want?
Reality – What’s happening now?
Options – What could you do?
Will – What will you do?

The third topic is Stakeholder Happiness.

“Managing stakeholders successfully means balancing different work streams, staying proactively aligned with others, and, ultimately, building trust by delivering on commitments. In our framework, we broke this down into three main areas, each as important as the next.
1. Team meets their commitments
2. Stakeholders are not surprised
3. Team is trusted by stakeholders

In the end, stakeholder happiness comes down to trust. This is built by meeting commitments, keeping everyone up to date, and openly addressing any misalignments in expectations or changes in direction.

The fourth is Customer and Business Impact.

– Work on the right product
– Have a long-term vision and mission
– Choose a solvable problem
– Choose a problem that will affect a large number of users
– Align your goals with the company strategy and socialize with other teams
– Start with the low-hanging fruit
– Set ambitious targets
– Measure the right metrics
– Start with the goal
– A great metric moves only based on your actions
– Make metrics visible, and own them
– Shipping something good now is better than something perfect later
– Dogfoodin
– Be paranoid about details

And the last topic is System Health. System health is something like Voltran. Lots of different teams work together in big companies to keep the system highly available. Monitoring, Automatizing the System’s health is much important as developing a rock solid system.

“To keep these systems in good health requires technical skills, good organization, and a sense of responsibility from all of our engineers. The Engineering Manager, together with the team, is responsible for making sure all of these things come together.”

On my next article, I’m planning to share some useful articles on accountability, low/high performers.

If you found the article helpful, you can rate/share(under the videos), claps(at the top of the article) or make comment so I can improve my series. See you at the next post!

Almanak 2020

2021 May─▒s ay─▒n─▒n ortalar─▒nday─▒z, 2020 almana─č─▒ da neyin nesi, bir 6 ay daha beklesen 2021 almana─č─▒n─▒ yazabilirdin diyebilirsiniz ­čÖé Netflix’in de ge├žti─čimiz hafta sosyal medya hesaplar─▒nda payla┼čt─▒─č─▒ gibi “├ľznel zamanda sadece birka├ž ay. Ama D├╝nya’da y├╝zy─▒llar ge├žti.” Bug├╝n yine y─▒llar─▒ kar─▒┼čt─▒r─▒yorken, ka├ž ya┼č─▒nda oldu─čumu d├╝┼č├╝nd├╝m ve asl─▒nda herkese ya┼č─▒m─▒ 32 dedi─čimi ama ├žoktan 33 oldu─čumu farketmemle beraber beynimde a├ž─▒k bir process kalm─▒┼č gibi, “almana─č─▒ yazmad─▒n, almana─č─▒ yazmad─▒n”‘─▒ art─▒k ger├žekle┼čtirme zaman─▒ geldi─čini farkettim.

Her y─▒l yapt─▒─č─▒m gibi bir ├Ânceki y─▒l─▒ hangi c├╝mlelerle kapatm─▒┼č─▒m diyerek 2019 almana─č─▒na d├Ânerek ba┼čl─▒yorum.

2019 tabi ki sadece bu anlardan bu foto─čraflardan ibaret de─čil. ─░lk defa bu y─▒l ├žok uzun geldi, bitsin istedim. Nas─▒l m─▒ ge├žti, sadece blog yaz─▒s─▒ de─čil yeniden kitap okumaya d├Ând├╝─č├╝m, netflixi hatmetti─čim, baz─▒lar─▒ i├žin az kendim i├žin ├žok fazla spor yapt─▒─č─▒m, gezdi─čim, ailemle, arkada┼člar─▒mla vakit ge├žirdi─čim, hatta arada bir┼čeyler pi┼čirdi─čim bir y─▒l oldu. Kendimi dinlenmeye, her an─▒ planlamamaya zorlad─▒m olabildi─či kadar tabi benim i├žin zor bir eylem. Kahkalara bo─čuldu─čum anlar da oldu, nas─▒l ilerleyece─čimi bilemedi─čim, kendimi sorgulad─▒─č─▒m anlar da. Her zaman her istedi─čimizi ger├žekle┼čtiremeyebiliyoruz. Kendi davran─▒┼člar─▒m─▒zdan, yapt─▒klar─▒m─▒zdan sorumluyuz, ba┼čkalar─▒na etki edemeyiz. O y├╝zden elimizden gelenin en iyisini yapmaktan ba┼čka ├žaremiz yok. Ama bazen elimizden gelenin en iyisinin de yeterli olmad─▒─č─▒, motivasyonumuzu kaybetti─čimiz anlarda durup bir nefes al─▒p sonra devam etmekten ba┼čka yapabilece─čimiz bir┼čey de yok. En az─▒ndan benim bildi─čim.

2019 dinlenme y─▒l─▒ olarak misyonunu tamamlad─▒. Bu sene ko┼čmaya devam!

2019 biraz daha zaman─▒ ├Âl├ž├╝l├╝ kullanmaya ├žal─▒┼čt─▒─č─▒m, kendi i┼č-ya┼čam dengemi yeniden kurmaya ├žal─▒┼čt─▒─č─▒m bir y─▒l olmu┼čtu. 2019’un hi├ž bitmemesi ve ko┼čmaya devam dile─či mi yanl─▒┼č olmu┼č acaba diye bir d├╝┼č├╝nmeden edemedim. 2020 hem ├žok h─▒zl─▒ hem de ├žok yava┼č ge├žti.

Bir ├Ânceki y─▒l─▒n benim i├žin ├Ânemli an─▒lar─▒n─▒ toparlamaya ├žal─▒┼č─▒rken hep foto─čraflardan yard─▒m al─▒r─▒m. Bu sefer ├žo─čunlukla evlerde oldu─čumuz i├žin tabi foto─čraflar da d├Ânem d├Ânem ├žok az, belki mesajlara/maillere bakmak daha do─čru olabilirdi bu y─▒l i├žin, ama rutinimi bozmuyorum. ­čÖé

Continue reading “Almanak 2020”

Compose mini updates

Bu sene Google IO i├žin fiziksel bir event covid-19 sebebiyle olam─▒yor, st├╝dyo kayd─▒ i├žin de ofise gitmemek ad─▒na dijital kay─▒t da olmayaca─č─▒ a├ž─▒kland─▒ ama bir di─čer yandan yine ayn─▒ tarihlerde bu y─▒l yap─▒lan ├žal─▒┼čmalar─▒n da duyurulaca─č─▒n─▒ tahmin ediyoruz. Bu anlamda benim en ├žok merak etti─čim konulardan biri de Compose.

UI developmentla ilgili her sene ├že┼čitli update’ler oluyor ama ge├žen sene Compose’la biraz ┼ča┼č─▒rt─▒c─▒ bir giri┼č yapm─▒┼č oldular. Android Summit sonras─▒ art─▒k Android Studio’ya gradle dependecy’si olarak ekleyip deneyebilir duruma gelmi┼čtik. Ben ilk inceleme yaz─▒m─▒ yakla┼č─▒k 1.5 ay ├Ânce yazd─▒─č─▒mdaysa g├╝ncel versiyon dev03’t├╝. Bu sene wtm sezonunda birka├ž chapter’da bu konuda sunum yapma f─▒rsat─▒m da oldu, sunumlarla paralel de asl─▒nda geli┼čmeleri takip edip kendim i├žin yapt─▒─č─▒m sample projeyi g├╝ncel tutmaya ├žal─▒┼čt─▒m. Bir di─čer de─či┼čiklikleri g├╝ncel olarak takip edebilece─činiz repo ise Google’─▒n compose’la geli┼čtirdi─či sample app Jetnews‘in reposu. Api referanslar─▒nda tam olarak nas─▒l yapaca─č─▒m─▒ bulamad─▒─č─▒m ya da anlamad─▒─č─▒m durumlarda ├žok faydal─▒ oldu─čunu s├Âylemeliyim. ├ç├╝nk├╝ de ├žok uzunca bir s├╝re anlat─▒m─▒n─▒ dev03’e yapm─▒┼čt─▒.

Continue reading “Compose mini updates”

Building UI with Compose

Ge├žen sene Google IO‘da duyuruldu─čundan beri Compose‘u deneyimlemek to-do listimde bekleyen maddelerden biriydi. Y─▒llar boyunca hep dinamik olarak view’i kodda yaratmak yerine xml’den inflate etmenin daha performansl─▒ oldu─čunu duyduk, ├Âl├ž├╝mledik, uygulad─▒k, payla┼čt─▒k. UI’la ilgili konu┼čtu─čumuz konu genelde ConstraintLayout da ├Âncesine gidecek olursak, ne zaman LinearLayout ne zaman RelativeLayout kullanaca─č─▒m─▒zd─▒. Ne kadar i├ž i├že hiyarar┼či olursa e┼čit, ne noktada RelativeLayout daha performansl─▒ ├žal─▒┼č─▒r gibi konulard─▒. Ama i┼čin a├ž─▒k├žas─▒ da UI geli┼čtirmek her Android geli┼čtiricisi taraf─▒ndan uygulaman─▒n en keyifle geli┼čtirilen taraf─▒ de─čildi. Kendi ad─▒ma g├Ârsel olarak ├ž─▒kt─▒y─▒ o an g├Ârmek beni ├žok etkiledi─či i├žin UI’dan hep keyif ald─▒m. Biraz xml’in sevilmemesinden biraz da hep optimal bir performans ├ž─▒kt─▒s─▒ olan UI geli┼čtirebilmek i├žin ConstraintLayout ve UI Editor‘le tan─▒┼čt─▒k. Her ne kadar ba┼člarda UI Editor m├╝kemmel ├žal─▒┼čmasa da zamanla ├žok daha iyi bir noktaya geldi ve kolay bir ┼čekilde performansl─▒ ├žal─▒┼čacak UI’─▒m─▒z─▒ geli┼čtirmeye ba┼člad─▒k. Compose’daysa Google ┼čimdiye kadar olan patternlardan ├žok daha farkl─▒ bir ┼čekilde kar┼č─▒m─▒za ├ž─▒kt─▒. Sadece Kotlin’le ve koddan geli┼čtirilen bir UI. ─░lk anons edildi─činde Anko‘ya benzetildi, ancak Anko’yu da denemedi─čim i├žin performans olarak xml’le kar┼č─▒lat─▒r─▒d─č─▒mda nas─▒l bir sonu├ž elde ederiz bilmiyorum. O da ayr─▒ bir blog, inceleme konusu olabilir.

Continue reading “Building UI with Compose”

Almanak 2019

Her sene Almanak haz─▒rlamak nedense daha zor bir hal al─▒yor, bir yandan da geriye d├Ân├╝p bakabilmek ve yeni y─▒la ba┼člayabilmek i├žin eskisinin ├╝zerinden ge├žmek laz─▒m. O zaman her zamanki gibi bir ├Ânceki y─▒l─▒ 2019’u nas─▒l kar┼č─▒lamaya karar verdi─čime bakarak ba┼čl─▒yorum ­čśÇ

├ľn├╝m├╝zdeki y─▒l i├žin hedefim, ├žok b├╝y├╝k hedefler koymamak. K├╝├ž├╝k hedeflerle minik ad─▒mlarla ilerlemek.  Ve her┼čeyi ak─▒┼č─▒na b─▒rakmak, g├╝n├╝m├╝ g├╝zel ve mutlu ge├žirmeye ├žal─▒┼čmak. Bu y─▒l─▒n bana ├Â─čretti─či buydu. Bakal─▒m ne kadar kal─▒c─▒ olacak.

Tam olarak b├Âyleydi diyemem ama hayat─▒ daha ├žok ak─▒┼č─▒na b─▒rakt─▒─č─▒m, kendimi ┼čiddetle yava┼člatmaya ├žal─▒┼čt─▒─č─▒m bir sene oldu. Dura─čanl─▒k insan─▒n ger├žekten zaman─▒n─▒ nas─▒l ge├žirmek istedi─čini karar vermesini sa─čl─▒yor, s─▒k─▒┼č─▒k planlarda s├╝rekli ko┼čturdu─čumuzda ise durup d├╝┼č├╝necek vakit kalm─▒yor. Bunu ne kadar ba┼čard─▒m ┼č├╝pheli ama ├Ânceki y─▒llara g├Âre ├žok daha sakin ge├žen bir y─▒l─▒m oldu, ├Âyle ki bi noktada ne kadar uzun bir sene oldu─čunu d├╝┼č├╝nd├╝─č├╝m oldu ­čśÇ Zaten yeni y─▒la ┼čirketin lokasyon de─či┼čtirmesi sebebiyle harala g├╝rele evimi ta┼č─▒yarak girmi┼čtim ki bir de birikmi┼č yorgunluklar─▒m─▒ sayarsak sakin bir seneye ihtiyac─▒m vard─▒. O zaman google photos ve instagram arac─▒l─▒─č─▒yla bakal─▒m nas─▒l bir seneymi┼č. Neyseki foto─čraf ├žekmeyi ├žok seviyorum ­čśÇ

Yeni y─▒l─▒ kar┼č─▒l─▒yoruz :))
Continue reading “Almanak 2019”

Introduction to Kotlin Coroutines

Geli┼čtirme yapt─▒─č─▒m─▒z platform hangisi olursa olsun ister backend, desktop, mobile applications etc her zaman istedi─čimiz asl─▒nda istedi─čimiz ┼čey hep kullan─▒c─▒m─▒za kesintisiz bir ak─▒┼č sunmak, uygulamam─▒z─▒ d├╝zg├╝n scale etmek. Bunu bir├žok farkl─▒ dilde farkl─▒ ┼čekillerde yapabiliriz. Kotlin’in bize sundu─ču ├ž├Âz├╝m ise Coroutine’ler.

Continue reading “Introduction to Kotlin Coroutines”

Android Slices

Slices, Google search app’inde ve umar─▒z ki ileride de daha fazla yerde uygulamadan i├žerik sunan ui templateleridir. UI templateleridir diyoruz ├ž├╝nk├╝ belli formatda, belli templateler kullan─▒larak sunulabiliyor. Basit├že widget’lara benzer de denilebilir. ┼×imdi App Action‘lar─▒n da developerlara a├ž─▒lmas─▒yla beraber daha fazla senaryo sa─članabilir. Slices Android 4.4’e kadar uyumlu. Bu da Android Studio’da uygulamay─▒ create ederken g├Ârebilece─čimiz gibi piyasadaki cihazlar─▒n ortalama %95’i anlam─▒na geliyor. Slices live-data, scroll edebilen i├žerik, inline actions, ve uygulamam─▒za deep link sa─člam─▒┼č oluyor.

Continue reading “Android Slices”

Google I/O 2019 for Android Developers

You can access the article I shared about user centric latest Google I / O updates.

2 years ago in Google I / O, after the announcement of Kotlin’s being to support as a second language, as the time passed it became much more popular. Seeing more Kotlin specific speeches at conferences, mostly Kotlin code samples in blog posts, when we search how to do anything on the Internet, first examples’ always being Kotlin, Google’s examples’ giving Kotlin in the first tab, increasing in Kotlin codelabs, free courses at Udacity and a separate category of GDE for Kotlin… Considering all these, in Developer Keynote this year, announcement of Kotlin’s being now the first language of Android’s didn’t surprised, at least me. Of course, both the ability to see where we would go further at the point of progress and development as an individual, and the question of how can I convince my company to write Kotlin at least once asked at each conference, was answered with certainty. And I think it’s worth saying that Kotlin had already won the sympathy of the developers before the announcement that it would actually be like this, with its simplicity, boilerplate code shortening, easy learning, rapid development, and 100% compatibility with Java.

Continue reading “Google I/O 2019 for Android Developers”