Lemi Orhan Ergin

Lemi Orhan Ergin

@lemiorhan.bsky.social

Software Crafter Co-Founder of Craftgate https://craftgate.io/en My talks https://speakerdeck.com/lemiorhan

194 Followers 187 Following 25 Posts Joined Sep 2023
3 months ago
Preview
Conway's Law Never Lies Every software system is a mirror, reflecting not only our architectural choices, but also the invisible communication patterns, organizational structur…

Conway's Law Never Lies #dfist25 Here is the extended version of my slide deck.
Thanks to everyone who joined my talk and to the GDGIstanbul crew for organizing such an awesome festival.
speakerdeck.com/lemiorhan/co...

0 0 0 0
4 months ago
Preview
Fixing The Typos in Engineering Culture After two decades in software engineering, I realized that many of the "truths" I once defended were merely typos in our collective engineering culture—…

Here is the deck that I delivered at my talk at Devnot Summit 2025: Fixing The Typos in Engineering Culture speakerdeck.com/lemiorhan/fi...

2 0 0 0
7 months ago

Enderinko yeni bölüm yayında 🎉

Lemi Orhan Ergin ile "Mükemmellik Yerine Adaptasyon: Modern Yazılımcının Rehberi"

🔥 3 önemli çıkarım:

Deadline koyarak öğrenme hack'i
Mükemmel kod obsesyonu neden kariyer katili
Senior yazılımcının "hissiyat" süper gücü

Daha fazlası bölümde. Keyifli dinlemeler.

1 1 1 0
11 months ago

Tebrikler abi. Allah analı babalı büyütsün. 🥰😍

1 0 0 0
1 year ago
Preview
Everything You Know About Agile Is Wrong Agile is arguably one of the most consulted concepts of the last 20 years. Agile is not a mindset anymore. We are talking about a sector with in-depth c…

Could (almost) everything we know about Agile be wrong?

It is best to leave all our assumptions and beliefs aside and let's start questioning the agile concept from the beginning.

speakerdeck.com/lemiorhan/ev...

0 0 0 0
1 year ago
Preview
Your words are wasted It needs to be said again, perhaps this time more strongly. Your Blog is The ...

The crucial answer to this was discussed by @scott.hanselman.com way back in 2012. In a nutshell, don’t pour your words into social networks that don’t care and can disappear. Own your words forever. The blog is the best engine of community.

www.hanselman.com/blog/your-wo...

24 4 1 0
1 year ago

There are no agile practices, sorry. There are:

product management practices
project management practices
communication practices
collaboration practices
development practices
leadership practices
feedback practices
sdlc practices

Context is everything!

2 0 0 0
1 year ago
Preview
Unlearn Product Development - Unleashed Edition Why do so many features end up unused? Why does technical debt pile up, and why do we keep repeating the same mistakes in software development? These ar…

The deck of Unlearn Product Development, Unleashed Edition is now available!

This version dives deeper into lessons learned at @craftgate.bsky.social, offering insights on solving real problems, building meaningful products, and rethinking how we work.

Take a look: speakerdeck.com/lemiorhan/un...

3 1 0 0
1 year ago

50%+ linkedin posts are AI generated.

AI generated bullet points with an AI generated header image.. It sucks, I hate them. Take my money and show me just human-generated content please.

6 0 0 0
1 year ago
Preview
Unlearn Product Development Many companies think they're building products, but in reality, they treat them like projects — chasing deadlines, managing tasks, and measuring outputs…

Discover why most teams unknowingly develop projects, not products, and why we get stuck in deadlines, useless metrics and ‘feature first’ thinking.

Let's deep dive into "the project & product mindsets"
speakerdeck.com/lemiorhan/un...

2 0 0 0
1 year ago

"The hard parts of software development – understanding requirements, designing maintainable systems, handling edge cases, ensuring security and performance – still require human judgment."

4 4 0 0
1 year ago
Post image

This is a powerful idea to keep in mind when giving and receiving advice:

3 2 1 0
1 year ago

I think separate tasks should have their own PR. It should not interfere with the work, otherwise it makes the PRs very difficult to understand. But tidying the tables is also part of the work. I think it can stay in the same PR.

1 0 0 0
1 year ago

That's because it's difficult and long. It should be a separate task.

0 0 1 0
1 year ago

Sometimes we change the position of a cupboard in the room. This requires a much bigger change. When the cupboard is moved, the room becomes fresh and light. We always want this kind of change, but we can only do it after months of waiting.

0 0 1 0
1 year ago

But sometimes we feel the need to completely clean the house at least once a week. Sometimes we get help from cleaners. We set aside a specific time for it. If we don't do it that often, each time it takes longer and harder.

0 0 1 0
1 year ago

For example, no one wants to work on a messy desk. We usually clean the desk before we work. It's the same with code. We usually touch the code and clean it up. I think this kind of refactoring can be done continuously while writing code.

0 0 1 0
1 year ago

I think continuous refactoring as described in books is a myth. But it only makes sense up to a point. In fact, we usually refactor the code every time we develop. Everyone does it in one way or another.

0 0 1 0
1 year ago

Should we continuously refactor our code within development tasks or create separate refactoring tasks? My answer is that it depends.

+ thread

0 0 1 0
1 year ago
Post image

Introducing the Problem Solving Operating Model (PSOM™®©)

44 7 3 1
1 year ago

“Don’t Repeat Yourself” is advice that only makes sense when developers are talking about semantics.

Even if two passages of code are identical, unless a change to one should always change the other nothing has been repeated.

100 25 9 1
1 year ago

My journey is not over. New sharings are on the way...

0 0 0 0
1 year ago
Lemi Orhan Ergin (@lemiorhan) on Speaker Deck

Over the years, I turned the lessons from this journey into presentations. You can find my "Unlearn"-themed talks here:
speakerdeck.com/lemiorhan

0 0 1 0
1 year ago

I made a decision: I would start over. From the fundamentals, I would set aside what I thought I knew and relearn software development from the ground up.

0 0 1 0
1 year ago

This feedback shook me. Until that moment, I was someone who believed in what I knew—someone confident in years of development experience. But I realized I had been wrong.

0 0 1 0
1 year ago

The email said:
"We feel you have a lot of things we would need you to 'unlearn,' and we feel you over-engineer solutions. Currently, we don't have the bandwidth in the team to support your onboarding."

0 0 1 0
1 year ago

The evaluation came back: I was rejected. No explanation. For weeks, I tried to find out why. After a month, I finally got a response.

0 0 1 0
1 year ago

Taking this seriously, I used TDD for all my coding. I wrote BDD tests, reached 100% code coverage, and ran performance tests to optimize everything. I submitted the project with pride.

0 0 1 0
1 year ago

The coding step was critical. They gave me a project to complete at home. I took annual leave, locked myself away, and got to work. I was told the company cared deeply about Object-Oriented Programming and expected flawless code design.

1 0 1 0
1 year ago

For years, I dreamed of working for a foreign-based software company. When their Turkey office posted a job opening, I was thrilled. I applied immediately. The process included 5 interviews: face-to-face, written tests, and even a coding assignment.

0 0 1 0