Luka
Napotnik
An engineer who grew into a manager. These days I mostly vibe-code and experiment, help teams work autonomously, and help engineering leads grow. The rest of the time I read, bike, hike, cook, and enjoy a good glass of wine.
The older I get, the more I notice how much I don’t understand.
A good life takes intelligence, ignorance, or just being a decent human being.
I started as a developer, where C and Go felt like home, then led a small team, then more teams, then broader leadership. The pivot forced me to learn product, business, and the messier human side of the work, and I like it. Learning new things is the part I’d miss most if it went away.
I’m in a happy relationship, which colors most of the rest. I keep a few open-source projects alive, and I’ve been “napsy” on GitHub for longer than I can remember.
Outside of work
Books worth reading
- Extreme Ownership
- The Goal
- The God Delusion
- Factfulness
- The Selfish Gene
- The Gorilla Mindset
- Mistakes Were Made (but not by me)
- Good Strategy, Bad Strategy
- Team Topologies
- The Manager’s Path
If you stop building things, your opinions about building things go stale fast.
I’ve been writing software for more than seventeen years. Early on it was C, which taught me what computers actually do. Later it was Go, for its simplicity and the way it stays out of your way. I still reach for both.
Today most of my building is vibe-coding: working with AI agents, trying ideas quickly, and keeping what holds up. It’s where I spend most of my time, and the best way I know to form honest opinions about what these tools can and can’t do.
Backend systems, infrastructure, and the messy kinds of correctness are still where I feel at home.
Languages
Go, C, bash, python, lua, awk, rust
Open source
- Gogo-cssA CSS parser written in Go.
- Go · debuggingfindlockFinds Go deadlocks by parsing runtime tracebacks.
- Git · automationgitwAuto-clones and rebuilds Git repos as they change.
- Go · bindingsgo-vtelibvte bindings for Go.
- Go · AImailassistAn AI email assistant in Go.
Tools
- Editing & debugging
- vim, gdb, valgrind, kcachegrind, VS Code
- Infrastructure
- Google Cloud, Docker, Kubernetes, Terraform
- Observability
- Grafana, Prometheus, ELK
- CI/CD
- GitLab and GitLab pipelines
A few things I believe.
- Companies are sports teams, not families.Hire for the team you want to be on. Culture fit matters as much as skill.
- Your team’s performance is your performance.There aren’t shortcuts.
- Good strategy is rare.Most things called strategy are wishlists.
- Doing something is usually better than doing nothing.
- Plain communication beats polished communication.Write the boring document.
Teams that run on their own, and leads who keep growing.
I’m VP of Engineering at Visionect in Ljubljana, where I grew from developer to leading the engineering organization over seventeen years.
My focus today is enabling teams to work autonomously and helping our engineering leads grow. That means less directing and more setting context, clearing obstacles, and coaching, so good decisions get made close to the work rather than waiting on me.
The rest goes to experimenting with AI in engineering: trying things myself first, then helping teams use these tools well and working out what an AI-first team looks like in practice. How it hires, how it reviews, and how the individual contributor’s role shifts when most of the typing happens somewhere else.
I helped put one in place. It’s a quiet experiment in what happens when you trust people to do good work in less time. So far, they do, and the conversation it starts is more interesting than the policy itself.
Talks
- April 2026Hiring & Beyond: Road to a Productive EngineerLjubljana.Tech. Hiring, onboarding, and what AI does (and doesn’t) change about being a working developer.
- Over the yearsGo Meetup LjubljanaCo-organizer, and a handful of talks on Go and backend engineering.
- ArchiveKiberpipa lecturesOlder talks from the Ljubljana hacker space.