We sat down with our Software Engineer, CTO, and Co-founder Furkan Bayraktar to hear his story. Read along to learn more about Furkan’s thoughts on Clojure and Polylith, and his approach to software development.
Furkan Bayraktar- Software Engineer, CTO, and Co-founder
🏠 The Basics
Hi Furkan! Can you tell us a bit about yourself? Who are you and what do you do?
I have been a software developer for the last 8 years. I have a bachelor’s degree in computer engineering from Koc University, Istanbul. During the final year of my studies, I started working part-time as a software developer at a mobile app development company. I worked for 3 years in this company, starting mostly with developing apps for iOS and Android. Over the years, my role evolved to be a full-stack developer, as I took part in web development and backend projects. At that time, I was using Java in the backend and Android, Objective-C, and later Swift in iOS. Apple was trying to introduce Swift back in 2014 and we were also affected by these efforts. In 2016, I moved to Stockholm and started working in the tech team of a talent network company. I worked at a 5 people team here including a CTO, another software developer, and 2 designers. I learned about Clojure for the first time, when I started working at this team. We had a Clojure and ClojureScript stack with a Datomic database. I really enjoyed working with this team. When we encountered some problems in our development environment, this team sparked the idea behind the open-source project Polylith. Here, you can listen to more on the problems we encountered and how we ideated on Polylith.
Following this, I worked as Head of Tech at a creative agency for 3 years. As we were creating both internal and external client projects, we used so many different programming languages. Ruby-on-Rails, Clojure, Angular, React, NodeJS, Python, you name it :) Some of the projects I lead as the technical responsible reached millions of people.
Truth be told, I always wanted my own company. So now I’m a co-founder and CTO at Scrintal.
What inspires you to do the work that you do?
I love programming. It’s my hobby and passion. I code in my free time, and I contribute to open-source projects. Essentially, my job is my hobby — I’m making money out of things that I like to do. My passion for programming gives me motivation to continue, in a way that I don’t think I would find anywhere else.
I seek out something new and challenging. Not building just another tool. Exploring is something I get to do every day while creating Scrintal.
How do you feel about being a startup founder and a CTO?
In my other positions in various companies, all the work that I did was for a specific client. Being a startup founder and CTO to me today is an opportunity to experience developing, maintaining, and scaling a customer-centric product.

I worked on many different projects ranging from mobile apps and websites with millions of users to large data processing systems, but all of them were either short or mid-term client projects. My responsibilities at Scrintal are very different from working on client projects. Exploring and identifying customer pains, and finding the solutions to those pains is something I enjoy the most.
Another angle I really love about being a CTO at a startup is that I can use any technology that I like and want to use in a real project. We are fully on Clojure backend and frontend, we use Datomic as our main database, and we utilize Datascript on our frontend codebase. All those technologies and many more small libraries give us the right tools to create the functionalities that we are looking for.
🚀 Clojure and Polylith
Why do you like working with Clojure?
Clojure is by far the best language I have ever worked with, and I have worked with many different programming languages.
Clojure is a dialect of Lisp and inherits the code-as-data philosophy as well as all the parentheses 😂. Getting used to the parentheses can be challenging at the beginning but at the same time, the language itself is very easy to learn due to the core library being very small. Clojure’s homoiconicity makes it easy to read and reason about the codebase.
It has immutability baked into the language itself, meaning that all the data structures that Clojure provides cannot be changed after they are instantiated. Functional programming together with immutability is a great combination for today’s modern web applications. My experience shows me that a common source of bugs is mutable data. Mutability also makes it hard to trace the bugs.
In essence, it’s fun using Clojure to build Scrintal. It serves our needs in our product, it is functional, has immutability built-in, and has a beautiful syntax.
Are you involved with the Clojure community?
I am part of an open-source project called Polylith, which is a software architecture that applies functional thinking at the system scale. It helps you build simple, maintainable, testable, and scalable backend systems. It lets you grow your codebase from small building blocks, and gives a great development environment with a fast feedback loop. Polylith also allows you to postpone the deployment decisions until you need them.

Polylith is a software architecture that applies functional thinking at the system scale.
I try to be active in Clojurians Slack, especially on the #polylith channel. Apart from Polylith, I have created the Realworld example for Clojure. Realworld project aims to provide backend and frontend implementations of a Medium clone as a fully functioning example application. The project currently has implementations from more than 100 languages, frameworks, and libraries. Every now and then, I get people reaching out to me asking questions. I am happy to answer them as helping people learn Clojure really makes me happy!
As we grow Scrintal, it will prove that Polylith is a great architecture at scale. Hopefully, it will convince people to use Polylith for their own projects.
🧠 Team and the Way of Working

Can you describe your way of working in software development?
We are two software developers in our team. Ersin, our superstar developer, and I studied Computer Engineering together and worked at the same company afterward for about two years. We complement each other’s working styles. He is also a fast learner. When he joined Scrintal, he got used to Clojure in just two weeks and was already contributing to the code.
Both Ersin and I are full-stack and we work on every part of the software development together. We make architectural decisions together. We rely on pair programming a lot during the day.
When we have a new challenge, we first make a discovery. If we need to learn and explore more, we give each other time to do that alone. Then, we get together to come up with larger scopes, which determine the boundaries for certain groups of tasks. We do not come up with tasks at this stage. Smaller tasks within the scopes appear along the way.
We always review each other’s code before we ship it. We are not afraid of shipping a piece of code. The rest of the team has access to our test environment to play with the new stuff all the time.
It’s really easy to work in a smaller team, and we complement each other in our work.
Sometimes I can get lost in a rabbit hole, and then easily spend more time than planned. Whereas Ersin is very strict and good at keeping track of what needs to be done and detecting the rabbit holes. On the other hand, sometimes he can go too fast and get stuck, and then I can help provide a better perspective.
How do you see your team evolving in the future?
It would be nice to see the team grow with more developers, product designers, and UX researchers. My priority is to create a truly diverse, multicultural, and cross-functional team.
I’m envisioning a team where developers, designers, and researchers work together in their smaller teams instead of working in silos. As a CTO, I look forward to seeing our technology scale and support thousands of daily active users. It is going to be a great and fun challenge to solve the issues that arise.
Is there something else you’d like people to know about you?
I also really enjoy teaching people, I could spend hours and hours helping others learn Clojure and software development processes.
If you are interested in programming, Clojure, or product development, please reach out to me! I’d be happy to have a conversation. You can find me on Twitter or with the handle furkan3ayraktar in pretty much anywhere online that I’m present.
Choose JavaScript/NodeJS to find developers easier, they say. Nope, choose #clojure and attract the best developers in the world. Quality over quantity https://t.co/CB6nJH5e6a
— Furkan Bayraktar on Twitter
Furkan Bayraktar*
Scrintal Co-founder, CTO, Software engineer, and Clojure Advocate
hello@scrintal.com*
LinkedIn*
GitHub*
Twitter
