Edgardo Carreras | Blog

Clean Coders Apprenticeship - Lessons Learned.

November 28, 2021


Throughout my apprenticeship, I’ve been tasked with planning a software project and practicing code katas to design and implement systems with new programming languages and paradigms.

A lot of lessons learned went into a Tic Tac Toe Project as it went into multiple iterations for various features like:

  • Multiple UI’s. (CLI, client app, server-rendered app).
  • “AIs” (Easy and Hard) MiniMax.
  • Local play mode.
  • Player vs. Player (networked and peer-to-peer)
  • HTTP Authoritative Server
  • Persistence with different databases.
  • Leaderboards

The biggest takeaway from the project was how vital clean architecture is for the project’s velocity and flexibility to change as requirements do. When coding the CLI UI, I learned the hard way and did repetitive work to add the web UI. However, the difference was night and day once I cleaned up my architecture, and changing or adding input/outputs like the database was effortless. Thank you, polymorphism. <3

We learned about estimating, giving a range of numbers to communicate risk, and how to manage that risk by planing around worst-case scenarios.

As a clean coder apprentice I’ve learned.


Want to hear more from me?

Signup to my newsletter!

CarrerasDev Newsletter

A free email newsletter on how to create high-performing development teams.


Written by Edgardo Carreras.

© 2023, Edgardo Carreras