I've been working remotely at Codelitt since 2015, and hiring remotely since 2017. In other words, I was recruiting talent remotely long before COVID forced many industries to either go remote or lose their workforce to more flexible companies. Being an early adopter of remote work opened up a huge pool of candidates. Many were proactively stepping out of their comfort zones to try something new.…
AI First Teams
Over the last few months, the idea of "AI-first teams" has been gaining traction. As I dug deeper into the concept, it struck me that since the earliest releases of AI agents, I had already been structuring Codelitt’s internal work in ways that naturally align with this philosophy. In this piece, I’ll share how we’ve embraced this approach, why it matters, and how any software company, regardless…
Choosing the Right Software in an Era of Vaporware
Working in the custom-software industry often means comparing what we can build for our customers with what is already being sold as SaaS. That involves combing through documentation, marketing sites, and countless “we-can-do-everything” sales pitches, many of which turn out to be empty promises. A common culprit is the disconnect between product and sales, where everything is allegedly possible,…
Trying out AI-First IDEs: Cursor, Windsurf, Zed, Aide, Copilot, and Cody
Over the last couple of weeks I've been tasked to review the AI-first IDEs available now in the first quarter of 2025. The goal is to define which ones I'll keep using on a daily basis while I work across different projects/technologies. The IDEs I'll be focusing on are: Cursor , Windsurf , Zed , Aide , GitHub Copilot , and Sourcegraph Cody . Before I jump into the evaluation itself, I would like…
Defining our priorities as the CTO of a tech company
Over the last few weeks, I've been feeling increasingly overwhelmed by the number of tasks I'm responsible for. As the CTO of a services company, I'm involved in nearly 80% of all discussions that are not project-specific (and often in those as well). This means that deciding what to focus on at the start of my day is often a struggle. This morning, before doing anything else, I decided to define…
Value engineering as a software methodology
Over my career, I've seen many attempts to answer the question, "What is the best way to build software". After being in the industry for over a decade, I concluded that any viable answer would need to consider at least the following factors: Financial resources Desired timeline Roadmap maturity, i.e., the amount of product information ahead of the design and development phases Given the numerous…
Building a minimal OPC UA integration to collect office data with Arduino and Raspberry PI 3
Motivation In the manufacturing sector, the usage of OPC UA is very common. Its data extraction and processing capabilities make it one of the best protocols to understand what is happening with the machinery in the factory. A few days ago, I found myself talking to someone responsible for innovation in the manufacturing sector, and he mentioned by passing a simple, but great example of usage of…
Lessons learned in the last year building AI products at Codelitt
November of 2022 is a month that will go down in history as the one in which the world was all looking at the same shiny new thing: ChatGPT . This revelation captivated the imaginations of countless developers - including myself, as I immediately started building proofs of concept on top of it. In hindsight, I realize the ideas I came up with were the same ideas that most individuals and companies…
The hidden challenges of rebuilding products
At some point, every engineer I've ever worked with has said "Let's rebuild this product". One day, when evaluating a SaaS product, the feedback I gave my CEO was: "Instead of buying it, we should just build it from scratch. We’ll get more bang for our buck". Ultimately, we decided neither to buy it nor to build it. However, knowing what I know today, I wouldn't have been so fast to suggest to…
On the sublime feeling of deleting code
Today while going through The codeless code it came to me that my happiest moments in programming are not when I'm writing code, but when I am deleting it. The reason is simple, "no code" means both no maintenance and no bugs. A code that doesn't need to exist and is removed will not cause problems when migrating to a new version of the programming language or framework. Don't get me wrong, I…
How to keep building your engineering skills as a CTO
One of my first thoughts when I became a CTO was I won't keep up with the latest technologies anymore . My second one was There must be a way to keep on learning new tools while also managing people, I only need to find out how . It is important to understand that not every CTO wants to continue being an engineer. Besides, depending on the size of the company, it might be close to impossible for…
On work
During a dinner conversation not very long ago, my business partners and I stumbled over the topic: How can some people spend so much time at work? Over the years, my friends have always known me as the workaholic in the group. I had the drive to push myself and constant competitiveness with my peers, yet I rarely saw what I was doing as work. The reason why I chose software engineering as a…
On the relation between fear and ignorance
I'm writing from an airplane, which makes it perfect to talk about fear. Growing up I had this image in my mind that I feared heights. I don't know if this fear was real or something my childish brain made up. One could argue that any feeling is made up. Fear is the most primitive instinct we animals have. It exists with the goal of helping us stay alive. The more we go back in time the more fear…
The importance of a design system for the engineering team
During one of my recent job interviews with a frontend engineer, he asked me "Will I be responsible for designing the application as well?". My first reaction was one of shock, at first, I couldn't understand if it was a real question. After a couple of seconds, I realized that this is actually a common bad practice. Asking an engineer to design an application is equal to placing a camel on a…
The importance of a design system when building products
A few weeks ago while interviewing a developer for a position at Codelitt, he only had one question for me "Would I be the one creating the design?" As we were on a call he may have thought that my video froze, because it took me a while to realize that he was serious about it. I kept wondering myself "Why would a developer ask that?" After I came out of the shock, my answer was a simple one "Of…
Sensitive data storage made easy
Here at Codelitt, our projects range from web applications to robotics to augmented reality. However, inside all of those areas, there is a very important and persistent topic: Security. When you’re thinking about security, there are a lot of factors to think about. Are we talking about server access? Information traffic? Information storage? The list goes on and on and on. Security is always top…
Free SSL with Docker and NGINX
Here at Codelitt we use NGINX as our proxy server. We used to install it on the server and run the applications with docker and docker-compose. As we strive to have a configuration that isn't server based now we are using it a bit differently. We now install NGINX inside of a container on a server. In this post i'm going to show how to config an environment with containerized applications and…
Automated deployments with CircleCI and Docker
Automate your deployments with CircleCI, Docker and a Linux server. TL;DR go to the tutorial Here at Codelitt, we believe that a fast feedback loop is the best way to ensure that we deliver great products. Since the client has deep market knowledge, we want their validation through each step in the process of bringing a product to life. This feedback loop starts before development begins, and goes…
The art of defining products
Software engineering is a cursed profession. Why? Because of the moment : The moment when you tell someone what you do, and that big smile creeps across their face. They are actually looking for an engineer, they say, because they have a great idea --- no, an incredible idea! One that can make millions! “If we capture only 1% of the market….” Somehow, they find the generosity in their hearts to…