Vladi Iancu

CTO · I write about engineering leadership, systems, and staying human

About

CTO, software engineer, and lifelong learner. Writing about tech, leadership, balance, books, and life.

I'm currently the CTO at ialoc, Romania's restaurant reservation platform. Diners book through the website, the mobile apps, an embeddable widget and Reserve with Google; restaurants run their reservations, tables and payments through ialoc Business.

Current role

CTO @ ialoc

Culture

  • Did 1:1s with the whole team in my first month, to understand how the company actually works before changing anything.
  • Opened up the product process with a Product Ideas workflow: anyone in the company can submit ideas and bugs in the open, tagged against our OKRs.
  • Set up bi-weekly sessions with account managers, driven by a feature-adoption dashboard, so what we build actually gets used.

Reliability

  • Drove platform upgrades to modern tech and current versions, with a clear path for moving away from legacy parts of the system.
  • Moved our code from Bitbucket to GitHub, with CI pipelines on the widget, the mobile app and the core platform.
  • Introduced the first automated tests on the core platform, written tests-first.
  • Added structured logging and real-time error monitoring, so performance is measured before and after every change.
  • Built an audit trail for reservations: who changed what, and when.
  • Ongoing security work across the platform.

Delivery

  • Roughly quadrupled the monthly delivery pace on the core platform, shipping in 24 of 25 weeks.
  • Took the first steps in outlining ialoc's SDLC: how work goes from idea to production.
  • Shipped production code on day two.
  • Rebuilt the consumer mobile app on a modern stack, with a single codebase for iOS and Android.
  • Introduced Strapi for the Bucharest Food Week website, which let us ship updates fast and with far fewer people than you'd expect.
  • Switched our email and WhatsApp provider, cutting costs, gaining better functionality, and separating costs per customer.

Data

  • Agreed a North Star metric with a set of leading indicators, and used the funnel to find where bookings drop off.
  • Put a proper experimentation flow in place: A/B tests with decision rules set before launch, and decisions based on data.
  • Ran a consent banner experiment that raised its response rate by 75%, so we can now properly measure a much larger share of our users.

AI

  • Run an AI adoption program for the whole company: 1:1 onboarding, office hours and a weekly AI showcase.
  • Launched an MCP server for our admin, so the support team can perform various actions faster, directly from Claude.
  • Built a first version of an internal AI agent that supports the entire sales team in a small part of their process, with many more touchpoints it could take on in the future.
  • Launched ialoc's ChatGPT app as an experiment in a new booking channel.
  • Trialled AI code review and kept it as an on-demand tool after it caught real bugs.

Previous experience

CTO @ Omniconvert

Culture

  • [Most important] Started a cultural change for the engineering team to become much more agile. This changed the way they organized, the way they worked, the code written, the PRs created, the planning process etc. It allowed the team to complete their very first Quarterly Roadmap at over 80%.
  • Held internal workshops company-wide to increase technical literacy and encourage the use of AI where applicable.
  • Defined KPIs for the engineering department, along with growth objectives and monitoring.
  • Helped with hiring: procedures, tests, and the interviews themselves.
  • Helped with inter-departmental workflows.
  • Configured an internal Wiki with RBAC and improved the internal documentation.

Reliability

  • Introduced a live, public Status Page for one of the products, as well as an on-call rotation for the engineering department.
  • Deployed logs + error collection systems with filtering and real-time alerts.
  • Supervised the E2E test suite migration from Selenium to Cypress, significantly speeding up test runs so the team could intervene faster when issues occurred.
  • Introduced the first unit tests on the critical paths.
  • Added automated security checks to flag outdated, at-risk 3rd-party packages.
  • Introduced serverless tech to increase the quality of the services offered.
  • Upgraded Jenkins, Jira, Redis and others; set up Jira configuration and automation.
  • Deployed a Password Manager company-wide.

Delivery

  • Introduced a mechanism to upgrade older parts of the legacy system, so the team could build new features on the latest versions of PHP and Symfony.
  • Introduced the first CI pipelines.
  • Introduced Feature Flags to increase agility and shorten time to feedback.
  • Introduced a new Support Triage system to take pressure off the engineering team, leading to an increase in velocity.
  • Introduced code analysis with shared rules so the entire team adheres to the same quality standards.
  • Kick-started an initiative to sync the UI between the 2 projects, increasing user satisfaction.
  • Completely revamped the engineering documentation for end users, increasing satisfaction and decreasing the number of support tickets.
  • Ran R&D and PoCs to test new technologies and validate ideas before planning and implementation.
  • Improved technical audit templates.
  • Joined customer meetings to better understand their needs and define scope of work.

Data

  • Detached the reporting side of one of the products so the Data Team could work independently and deliver higher throughput.
  • Added, for the first time, data quality checks with real-time alerts, so the team learned about data import issues before customers did.
  • Created internal analytics dashboards for product management, helping management make data-driven decisions.
  • Upgraded the ClickHouse servers for better performance and more functionality.
  • Improved data compliance.

Where I fell short

Now, not everything was sunshine and rainbows of course. Let's be real. I also failed more than once. Here are the biggest ones:

  • Sometimes struggled to decline requests, causing me to take on too much and work excessively.
  • Did not allocate sufficient resources towards improving the Developer Experience to the extent that I desired.

About this blog

Can you imagine how a macOS update made this blog a reality? Yeah, there's a story there.

I think that you will learn a lot more about me by reading what I write.

I don't define myself as a web developer, husband, male etc. Therefore, you won't find here content surrounding a single concept. There will be variety. Just like in real life.

It will also be a real blog. Unlike your Instagram feed, there will be unglamorous stuff. Not-so-catchy headlines. No ads.

This is a place of experiment. For me. I'm a firm believer in constant learning - at all ages.

If this blog helps at least one person, then it achieved its mission. And I'm happy.

However, I will not force myself to publish for the sake of writing. Expect an irregular schedule. It's probably best to subscribe to RSS.

You will probably stumble upon some recurring themes, such as:

  • there is no universal truth
  • everything is relative
  • experimenting reveals the answers to any question you might have
  • finding balance is key #balance

If you found this worth reading, share it on Bluesky or LinkedIn.