# Furkan Kolcu - Software Engineer Blog

Software engineer sharing insights on modern development practices, emerging technologies, and the evolving landscape of software engineering.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Inside Go - Part 3: Garbage Collection

DevFeed: [Inside Go - Part 3: Garbage Collection](<https://devfeed.tech/articles/inside-go-part-3-garbage-collection-39765.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/inside-go-part-3-garbage-collection>)

Author: Furkan Kolcu

Published: 2025-09-16T14:30:04Z

Content type: tutorial

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [go](<https://devfeed.tech/tags/go.md>), [go-garbage-collector](<https://devfeed.tech/tags/go-garbage-collector.md>), [gogc](<https://devfeed.tech/tags/gogc.md>), [golang](<https://devfeed.tech/tags/golang.md>), [inside-go](<https://devfeed.tech/tags/inside-go.md>), [performance](<https://devfeed.tech/tags/performance.md>), [runtime](<https://devfeed.tech/tags/runtime.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

This tutorial explains the evolution of Go's garbage collector from stop-the-world pauses to mostly concurrent collection. It introduces tri-color marking, explains the purpose of write barriers, and indicates that it will cover GOGC tuning.

### Source excerpt

How Go's GC grew from full pauses to mostly concurrent, what the tri-color algorithm does, why write barriers matter, and how to tune GC with GOGC without shooting yourself in the foot are how we will walk through in this part.

## Inside Go -- Part 2: Memory Management in Go

DevFeed: [Inside Go -- Part 2: Memory Management in Go](<https://devfeed.tech/articles/inside-go-part-2-memory-management-in-go-39764.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/inside-go-part-2-memory-management-in-go>)

Author: Furkan Kolcu

Published: 2025-09-12T16:30:37Z

Content type: tutorial

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [escape analysis](<https://devfeed.tech/topics/escape-analysis.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [escape-analysis](<https://devfeed.tech/tags/escape-analysis.md>), [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [go](<https://devfeed.tech/tags/go.md>), [go-memory-management](<https://devfeed.tech/tags/go-memory-management.md>), [golang](<https://devfeed.tech/tags/golang.md>), [heap](<https://devfeed.tech/tags/heap.md>), [memory](<https://devfeed.tech/tags/memory.md>), [memory-management](<https://devfeed.tech/tags/memory-management.md>), [performance](<https://devfeed.tech/tags/performance.md>), [stack](<https://devfeed.tech/tags/stack.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

This tutorial explains how Go manages memory through stack and heap allocation, escape analysis, and garbage collection. It also shows how compiler decisions affect performance and how to inspect escape analysis results.

### Source excerpt

A deep dive into how Go handles memory behind the scenes. Learn the difference between stack and heap, how escape analysis works, and why memory management plays a key role in performance.

## Inside Go -- Part 1: The Compilation Pipeline

DevFeed: [Inside Go -- Part 1: The Compilation Pipeline](<https://devfeed.tech/articles/inside-go-part-1-the-compilation-pipeline-39763.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/inside-go-part-1-the-compilation-pipeline>)

Author: Furkan Kolcu

Published: 2025-09-11T10:34:38Z

Content type: tutorial

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [Assembly](<https://devfeed.tech/topics/assembly.md>)

Tags: [assembly](<https://devfeed.tech/tags/assembly.md>), [ast](<https://devfeed.tech/tags/ast.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [go](<https://devfeed.tech/tags/go.md>), [go-ast](<https://devfeed.tech/tags/go-ast.md>), [go-compilation](<https://devfeed.tech/tags/go-compilation.md>), [go-compiler](<https://devfeed.tech/tags/go-compiler.md>), [go-internals](<https://devfeed.tech/tags/go-internals.md>), [go-lexer](<https://devfeed.tech/tags/go-lexer.md>), [go-parser](<https://devfeed.tech/tags/go-parser.md>), [go-ssa](<https://devfeed.tech/tags/go-ssa.md>), [golang](<https://devfeed.tech/tags/golang.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [ssa](<https://devfeed.tech/tags/ssa.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

This tutorial explains how Go source code is transformed into a native executable. It covers lexing and parsing, abstract syntax trees, type checking, SSA, optimization, code generation, and linking, with simple examples and analogies.

### Source excerpt

In this first part of the "Inside Go" series, I'll walk through how Go source code transforms into a binary. From lexing and parsing to ASTs, SSA, and optimizations, we'll explore the steps of the Go compilation pipeline with simple code examples and analogies to make sense of it all.

## Inside Go -- How It Really Works: Series Kickoff

DevFeed: [Inside Go -- How It Really Works: Series Kickoff](<https://devfeed.tech/articles/inside-go-how-it-really-works-series-kickoff-39762.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/inside-go-how-it-really-works-series-kickoff>)

Author: Furkan Kolcu

Published: 2025-09-11T10:16:52Z

Content type: article

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Code](<https://devfeed.tech/topics/code.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [escape analysis](<https://devfeed.tech/topics/escape-analysis.md>), [generics](<https://devfeed.tech/topics/generics.md>), [modules](<https://devfeed.tech/topics/modules.md>), [reproducible builds](<https://devfeed.tech/topics/reproducible-builds.md>)

Tags: [compilation](<https://devfeed.tech/tags/compilation.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [generics](<https://devfeed.tech/tags/generics.md>), [go](<https://devfeed.tech/tags/go.md>), [go-compiler](<https://devfeed.tech/tags/go-compiler.md>), [go-concurrency](<https://devfeed.tech/tags/go-concurrency.md>), [go-performance](<https://devfeed.tech/tags/go-performance.md>), [go-runtime](<https://devfeed.tech/tags/go-runtime.md>), [golang](<https://devfeed.tech/tags/golang.md>), [how-go-works](<https://devfeed.tech/tags/how-go-works.md>), [inside-go](<https://devfeed.tech/tags/inside-go.md>), [internals](<https://devfeed.tech/tags/internals.md>), [memory-management](<https://devfeed.tech/tags/memory-management.md>), [performance](<https://devfeed.tech/tags/performance.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

This article launches a technical series about how Go works internally. The planned installments cover compilation, memory management, garbage collection, concurrency, the runtime, performance tuning, interfaces, generics, modules, and reproducible builds, with code examples and runtime experiments.

### Source excerpt

A deep-dive series into Go's internals. From compilation to memory management, concurrency, and performance tuning, each part unpacks how Go operates under the hood with clear explanations and real-life code examples.

## Software Performance Begins with Time Complexity and Memory

DevFeed: [Software Performance Begins with Time Complexity and Memory](<https://devfeed.tech/articles/software-performance-begins-with-time-complexity-and-memory-39767.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/software-performance-begins-with-time-complexity-and-memory>)

Author: Furkan Kolcu

Published: 2025-09-10T17:39:37Z

Content type: tutorial

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Software](<https://devfeed.tech/topics/software.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Go](<https://devfeed.tech/topics/go.md>), [C](<https://devfeed.tech/topics/c.md>)

Tags: [big-o-notation](<https://devfeed.tech/tags/big-o-notation.md>), [binary-search](<https://devfeed.tech/tags/binary-search.md>), [c](<https://devfeed.tech/tags/c.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [go](<https://devfeed.tech/tags/go.md>), [memory](<https://devfeed.tech/tags/memory.md>), [performance](<https://devfeed.tech/tags/performance.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [space-complexity](<https://devfeed.tech/tags/space-complexity.md>), [technology](<https://devfeed.tech/tags/technology.md>), [time-complexity](<https://devfeed.tech/tags/time-complexity.md>)

### AI overview

This tutorial explains how time complexity and memory usage affect application performance as input size, system scale, and traffic increase. It introduces Big O notation, compares common complexity classes, and discusses trade-offs involving algorithms, data structures, and memory, with examples in Go and C.

### Source excerpt

Memory usage and time complexity shape the performance of every application. This post explains why they matter, how they affect scalability, and how to think about the trade-offs behind every decision.

## What Should Repositories Return in Domain-Driven Design?

DevFeed: [What Should Repositories Return in Domain-Driven Design?](<https://devfeed.tech/articles/what-should-repositories-return-in-domain-driven-design-39768.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/what-should-repositories-return-in-domain-driven-design>)

Author: Furkan Kolcu

Published: 2025-09-09T16:41:47Z

Content type: article

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Domain-driven design (DDD)](<https://devfeed.tech/topics/domain-driven-design.md>), [Repositories](<https://devfeed.tech/topics/repositories.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>)

Tags: [aggregates](<https://devfeed.tech/tags/aggregates.md>), [clean-architecture](<https://devfeed.tech/tags/clean-architecture.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [domain-driven-design](<https://devfeed.tech/tags/domain-driven-design.md>), [domain-driven-design-ddd](<https://devfeed.tech/tags/domain-driven-design-ddd.md>), [examples](<https://devfeed.tech/tags/examples.md>), [lightweight](<https://devfeed.tech/tags/lightweight.md>), [practical](<https://devfeed.tech/tags/practical.md>), [repositories](<https://devfeed.tech/tags/repositories.md>), [repository-pattern](<https://devfeed.tech/tags/repository-pattern.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

This article examines what repositories should return in Domain-Driven Design. It compares aggregates, DTOs or arrays, and primitives or special results, concluding that repositories should return aggregates when domain behavior is needed and primitives when they express valid domain-level answers.

### Source excerpt

Repositories are a core part of Domain-Driven Design, but what they should return is often debated. Should it be aggregates, DTOs, or simple values? In this post, I share practical guidelines, examples, and tradeoffs to help clarify how to keep repositories focused on serving the domain.

## Captionary Browser Extension Provides Subtitle Word Definitions on Netflix

DevFeed: [Captionary Browser Extension Provides Subtitle Word Definitions on Netflix](<https://devfeed.tech/articles/learning-english-through-shows-captionary-makes-it-effortless-39766.md>)

Original publisher: [Read original article](<https://furkankolcu.com/post/learning-english-through-shows-captionary-makes-it-effortless>)

Author: Furkan Kolcu

Published: 2025-09-07T13:31:21Z

Content type: release

Language: en

Sources: [Furkan Kolcu - Software Engineer Blog](<https://devfeed.tech/sources/furkan-kolcu-software-engineer-blog.md>)

Topics: [Browser Extension](<https://devfeed.tech/topics/browser-extension.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [Netflix](<https://devfeed.tech/topics/netflix.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [chrome-addon](<https://devfeed.tech/tags/chrome-addon.md>), [english-learning](<https://devfeed.tech/tags/english-learning.md>), [english-vocabulary](<https://devfeed.tech/tags/english-vocabulary.md>), [extension](<https://devfeed.tech/tags/extension.md>), [firefox-addon](<https://devfeed.tech/tags/firefox-addon.md>), [github](<https://devfeed.tech/tags/github.md>), [language-learning](<https://devfeed.tech/tags/language-learning.md>), [language-learning-addon](<https://devfeed.tech/tags/language-learning-addon.md>), [learning](<https://devfeed.tech/tags/learning.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [netflix-addon](<https://devfeed.tech/tags/netflix-addon.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

Captionary is a browser extension for learning English through shows. It lets users click words in English Netflix subtitles to see definitions without leaving the screen. Support for other platforms and languages is planned.

### Source excerpt

If you're watching movies or series to improve your English, you're not alone -- and you're doing it right. Subtitles can be a great way to pick up new words in context, especially when you hear how they're used in real conversations.