The tale of a seasoned developer — Part II

The end of the century was without doubt (surprise!) a big event. For my personal career and professional development, it meant moving from a quite comfortable permanent work position to something different, something more challenging.

This is the second part of this series. You might want to read the first part if you haven't already, of course.

As always I was not really following a plan or a goal when I decided to change jobs. I was just starting to feel compressed, and bored and maybe I just wanted to cleanse and heal the scars left in place by the awful events of the last part of 1999 and the injurious Y2K. I was also feeling that maybe–just maybe–I should give a try to the management career path. Stop being “just” a software developer and try to be more of a project manager. Maybe.

“You will regret this choice: you’re an engineer” — My former boss


I resigned from my very first employer in the year 2000 an I was hired immediately after by EDS, a company providing outsourcing software developers and contractors to other (big) companies.

One of the company’s clients was a bank, Monte dei Paschi di Siena, one of the most important banks in Italy. EDS was working on setting up a system to handle the bank’s internal financial investments. The system provided both a server/middleware part and a client. Using that client, the users were able to investigate how many stocks or derivatives positions were active, how they were doing and obviously close old or open new positions.

It was also the first time I left my hometown to go to live in another city, together with other people. Yet another turning point.

Technically the system was basically an integration with proprietary software providing the core management platform, which exposed a sort of DSL and a CASE tool to put things together and write user interfaces. There might have been some Java bit here and there also, but I don’t remember clearly.

The developers’ work was done using some SUN workstation, horribly locked down and without connection to anything else than the secluded internal LAN. Obviously, as I promptly realized, there was nothing worthy to be gained or learned from a technical point of view in such an environment.

But in theory, my daily work was not about developing, but sitting with the stakeholders of the project (the banks’ own financial investors), getting their inputs and requirements, filing some reports and sitting in some of the never-ending meetings talking primarily about how our system was not working as expected, or how much we were late on delivery and so on and so forth. I also had to learn a lot of financial terminology and concepts and, truth be told, that part was not really the most interesting one but for sure the most complicated and stressful.

On the last day of my probation period, I resigned and left the company.

We were just in the middle of the Internet bubble, and the pressure was high: if you wanted to be successful, work on the edge of technology and make good money, you would have to be there.

And so I did.


In 2000 I joined CHL as a software developer (enough “Project management” for me, thanks). I was about to live a very interesting couple of years, together with nice people, and weird and fascinating technology but most importantly I would be shaping what will then become the rest of my career for the years to come.

CHL was quite a big thing, back then. It was set as the very first Italian (or even European) e-commerce shop back in 1995 (I am pretty sure there was barely an “internet” in Italy at that time) and it was incredibly successful ever since. If you wanted to buy a computer or some other electronic component to build or repair your own, the first thing you would do was to check

The technology behind that success was one of a kind, literally. The founder of the website, back in 1995, not finding a suitable and good enough technology for his project decided to build his own system. And for “his own system” I mean the full stack: a web/application server, a scripting language, and even a graphical IDE to build pages for the website. The whole system was running on Windows, using SQL Server as the DB backend. Everything was developed in C++ and it was, obviously, strictly proprietary.

For the new job I was moving to Florence and since the company was trying to be as cool as possible (thanks for that!), they offered three of the new joiners the opportunity to establish a “CHL campus” to experiment with an “off-site” way of working in this new age of networked technology. Practically speaking the “campus” was a huge apartment in the same building as the other offices where we could live and work at the same time. Home office, but in the company’s building.

It was good PR for the company and an amazing opportunity for us to live — for free — in a huge apartment in Florence — not really a common thing. I remember those months dearly.

It was around that time that I started digging into the web development rabbit hole. Nothing fancy (CSS was still in its infancy), a lot of tables, tiny bits of JavaScript, and Internet Explorer as the grand villain but there was nonetheless where I planted my roots for the years to come.

I also was doing quite a lot of C++ and SQL. Part of my job was indeed to port the whole system from SQL Server 2000 to Oracle (Pl-SQL to T/SQL). A lot of fun (not). A lot of queries.

CHL went public in June 2000 and things started to get more “corporate”, and less fun. I left the company some months later heading to the Big City.


Once again I convinced myself that gone were the days of pure software engineering and that I should turn, once and for all, to a management career! In Milano, I joined NordCom as a Project Manager. NordCom was funded as a technological spin-off of Ferrovie Nord Milano (an almost public railway company). The company's core idea was to get into the corporate business of providing technical solutions for other big companies, the mother company, or the public sector, and in all of this venture, it was also backed by the largest Italian telecom company (Telecom Italia), which itself was a nordcom’s shareholder.

The job was indeed non-technical, at least in theory. I had indeed more than once my hands dirtied writing some tools or some web pages in JSP and I met more than once the joy of Java EE development with a Tomcat deployment. But most of the time I was writing documents as the “solution architect” of technical offers to try to win some of those invitations to tender.

I realized–yet another time– that my place was definitely in engineering. I had to move again.


In 2003 my mother got really sick and I took two big decisions at the same time: I wanted to start working as a freelancer and I also wanted to get closer to my family. The opportunity presented itself in the form of Renomo, in Bologna.

Being a freelancer in Italy was scary (and I believe it still is) and I wanted to take advantage of all the help I could get. Renomo, funded by some friends of mine, gave me the chance to start as their “head of engineering”, but with a freelance contract so I could get the best of both worlds: a fixed monthly income and the freedom to work with other clients so that I would be able to extend my network.

In the meanwhile, another friend’s company, Truelite, offered me to become a teacher of web technologies (PHP, HTML/CSS, and JavaScript) in Bolzano (in Red Oddity), for some weeks and for some good money.

It was a start, and I started with a bang!

Over the next few years I did what I believe I do best: architect solutions for customers, help engineering systems of a low to medium complexity, coordinate a small team of good developers and write a lot of code together with them. I learned a lot of things, but never enough.

In 2004/2005 we started using Ruby On Rails, and we were among the first I know to do it. We loved Ruby and we used it in quite a lot of products. After some time, though, we realized that it was too expensive, in a way. Rails was still not mature enough to provide a safe harbor for a company with potentially a lot of clients with custom solutions. The upgrade path (and even the deployment procedures) were not stable, quite not definite, and still too “open to interpretation”.

We decided to abandon it (it was at version 1.6, if I remember correctly) in favor of PHP and after some time Drupal. We were using Drupal (4, 5, 6 and 7) for some custom CMS solutions and Zend Framework for custom management software.

I spent seven years in Bologna and during that period of time, things were always on a rolling coaster… up and down, down and up again. Money (thanks to the ridiculous Italian taxation system) was always quite short, work effort was always constantly over 100% of my capacity and if I take a look back to those seven years I can see now what was obviously a slow, damaging, unhealthy burnout.


In 2011 I was practically broke. I had some issues with my parents’ property and a lot of money got lost in fixing those problems. I also was basically burnt out and I really needed a change, a big one. I started applying to positions outside of Italy, I almost got into Mozilla (sigh), I interviewed in London, in Denmark, and finally in Berlin.

Berlin is recent history: I had to downscale my profile, from basically a head of engineering/solution architect (although for quite a small firm), to a “simple” senior frontend developer. But I was in: in December 2011 I started working in Berlin in Sponsorpay (now Fyber) and from that moment things just got better and better, besides the struggle to climb the career ladder again.

Follow me on Instagram (claudiocicali) or Twitter (@caludio)

Written on May 13, 2017 by Claudio Cicali.

Originally published on Medium