fupio

Fupio es la forma más fácil de compartir en línea Más información »

Únete a Fupio
Fehmi Can Saglam.

Fehmi Can Saglam.

Fehmi Can Saglam.
Fehmi Can Saglam.
I have a personal connection to coding since it has been both my craft and my hobby for decades. I occasionally suspect that I might have a bias and overestimate its value. This started a long time ago, but it has definitely accelerated in the age of LLMs. As a result, I have been reading, listening to, and watching what true experts have to say about coding. I stumbled upon a few thought-provoking comments that turned my intuition into a more concrete understanding. I’ll try to present a quick

Fehmi Can Saglam.
Fehmi Can Saglam.
We’re not in the same boat. We’re not family.
The last few months have been incredible, in a bad way. I haven’t been let go, not yet. Nevertheless, I have heard a lot, seen a lot, and experienced a lot. I’m heartbroken.
For many of us, the disheartening events of the last couple of months have led to an epiphany: in the eyes of the corporate world, we are fungible. We will never forget that, given the opportunity, companies will replace us the moment they believe they can.
But believing

Me gusta (1)

LikesMehmet Kose le dio me gusta a esto

Fehmi Can Saglam.
Fehmi Can Saglam.
A series of events led me to burnout, which I believe I am experiencing for the second time in my 20+ year career. Arguably this is the worst one, but I don’t feel ready to talk about it yet. So more on that later. Having said that, perhaps the last straw was the experience of so-called stack ranking, or the “curve”. I at least want to share how I feel and let it out.
I am a builder. I love engineering, building software, building teams as well as leading them to delivery. I believe in

Fehmi Can Saglam.
Fehmi Can Saglam.
After more than 25 years of coding and 20+ years in product teams, I have come up with the following cultural values I care about most. That said, as I continue to grow, this list will most likely evolve as well.

Customer First

We’re not just an engineering team. We’re a product team, and we put customers first. That means we don’t just write code. We solve problems that matter to our customers. Understanding the bigger picture is crucial.
  • Engineers are involved from the start, and your

Fehmi Can Saglam.
Fehmi Can Saglam.
This is a single article built from my 25 short Turkish notes from June 2020.
I wrote those notes in Berlin during the early COVID months and lockdown period. Every morning, I made coffee, sat on the balcony, and wrote one practical note about fat loss, training, and desk-worker health.
Here is the full series in English, with each original note turned into its own section.

What Is Quality Nutrition?

You have probably heard “eat clean” many times. But what does it really mean? Is a food

Fehmi Can Saglam.
Fehmi Can Saglam.
I cannot say it was a conscious or well-informed decision when I first started coding back in 2000. I just fell in love with coding as soon as I wrote my first line of C code.
That said, love is not enough to pick something as a profession and build a career on top of it. There are many options to choose from on the hopefully long path of life, and I would like to tell you my story.
A long path. Karower Teiche, Berlin.
Disclaimer: All the terms I mention in this article are only

Fehmi Can Saglam.
Fehmi Can Saglam.
Back in February 2020, I did 100 push-ups every day for 30 days. Being a software engineer myself, I wanted to approach this challenge as an experiment.
I did not get to write about my experience until now, so here we are. I will present the data first, then interpret the results.

Prelude

After years of a sedentary lifestyle, I started exercising in May 2017. During the first few months, I ran regularly, 3-4 times a week. Then in December 2017, I started working out as well.
When

Fehmi Can Saglam.
Fehmi Can Saglam.
Bugün Rust ekosisteminde json serialization/deserialization tarafında neler olduğuna bakmak istedim. İlk arama sonucu olarak karşıma serde çıktı. Kullanmak için önce Cargo.toml dosyasına aşağıdaki satırları eklemek gerekiyor.
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
Şimdi de json’dan deserialize etmek üzere bir Server struct tanımlayalım.

Fehmi Can Saglam.
Fehmi Can Saglam.
Bazı durumlarda pattern matching gereğinden fazla karmaşık olabiliyor ve bu durumları if let veya while let ile basitleştirebiliyoruz. Her zaman olduğu gibi buraya dokümantasyonu kopyalamaktansa kendimce ilginç bulduğum bir örneği paylaşacağım. Yine de bu iki kullanımı hatırlamak adına önce kısa kod örnekleri vereyim.
let number = Some(42);

if let Some(42) = number {
    println!("Etli ekmek değil, hayatın anlamı!");
}
Yukarıdaki kod parçasında number değeri yalnızca 42

Fehmi Can Saglam.
Fehmi Can Saglam.
Daha önce Option tipinden ve özellikle null referans hatasına karşı bizi nasıl koruduğundan bahsetmiştim. Bugün de Option tipini 0 veya 1 elemanlı bir liste gibi düşünüp diğer koleksiyon tipleriyle nasıl birleştirebileceğimize değinmek istiyorum.
Konumuza geçmeden önce bu paragrafta başka bir konudan bahsetmek istiyorum. Takip ettiğiniz üzere sekiz gündür Rust hakkında bir şeyler karalıyorum. Şu anda da dokuzuncu yazıyı yazıyorum ve Türkçe yazdığım teknik yazılarda terimleri yazarken çok

Fehmi Can Saglam.
Fehmi Can Saglam.
Scala’da her şey bir expression(ifade). Bunun faydalarını gördükten sonra yalnızca statement’lar ile çalışan diller beni çok zorlamaya başladı. Örneğin Java yazarken bu durumdan oldukça rahatsızım. Expression bir değer üretir ve dönerken, statement aslında bir tür durum veya emir belirtir. Dolayısıyla statement’lar imperative dillerin, expression’lar da fonksiyonel dillerin temel bileşenleridir. Expression ve statement farkını örneklerle anlatmaya çalışayım.
Rust’ta fonksiyonun veya bir bloğun

Fehmi Can Saglam.
Fehmi Can Saglam.
Hata bu işin fıtratında var🙂 Rust uygulamada oluşabilecek ve bir şekilde tepki verilebilecek hataları ifade etmek için Result tipini kullanıyor. Bu tip Scala geliştiricilerin aşina olduğu Either ve biraz da Try tiplerine çok benziyor. Hataları bir tip ile ifade etmek dün bahsettiğim Option tipi ile null referansları ifade etmekle hemen hemen aynı. Bu tür durumları tip sistemi yardımıyla ifade ettiğinizde derleyici gözden bir şey kaçırmanıza