Last week I realized that this June represents my 10th-graduation anniversary. An entire decade since I got my college degree after 5 long years and started working as a professional software engineer. That was the summer of 2004, and I wanted to celebrate the occasion taking a quick look back.
2004 - 2008
After graduating, I started working as a software developer in ETECSA, the only telecommunications company in Cuba. Back then in my town this was one of the best gigs a developer could get. Right now with the introduction of private-owned businesses, it's probably one of the worsts.
I worked there for four years, give or take, mainly developing on .NET, specifically with ASP.NET Web Forms (I think I first used ASP.NET MVC after leaving ETECSA, although I'm not totally sure). I spent some time during my last year there working on a big-flop project with Java and Eclipse RCP (of course, this app didn't go anywhere).
I specifically remember a couple of web applications I created and were used in several offices across the country, and a set of integration tools to streamline the onboarding process for new employees. The tools connected our Human Resource database (a Microsoft Access DB) with our Windows Domain (LDAP) server. These were fun and tricky to develop, and taught me to hate Microsoft Access and everything related to it.
Here is a quick summary of all the important things I remember that happened during these 4 years:
- For the first time I had the opportunity to work in real applications used by real people. More important, I had the opportunity to deal with changes on already-deployed applications.
- I spent the majority of my time on events and forums presenting over and over again the applications I once created. This was a lot of fun because I traveled a lot, but more importantly gave me tons of free time that I used to work on freelance projects.
- I learned that Cuba gives a shit about its economy and it's all about politics.
- I learned that the only way to advance your career in Cuba is by moving to Havana and become another cog in "The Process". Outside Havana, people are just invisible. Outside "The Process", there's nothing worth looking at.
- For a software developer living in Cuba, the only way to do something meaningful is by doing it yourself and forgetting about any support from your company. They are going to promise a lot, but it will never come. Trust me.
- In Cuba nobody cares.
2008 - 2009
By the end of my time in ETECSA, I had already given up trying to move forward the technical state of the company. I became another frustrated professional pursuing an impossible cause, so I decided to go with a 24/7 freelancer life. There was way more money, and way more opportunities to learn.
I had done some freelancing work before, but at this point I was ready to take it more seriously. I moved full time to a room at home and started working with another 3 friends. A crappy Internet connection (modem at ~56kbps) was enough for us, so we started working on several projects for a north american company.
It's hard to remember on how many projects I participated during this time, but I'd guess they were about a couple dozen. I started as a developer, but soon enough I took more of a lead role. My job was basically communicating with our client, organizing/distributing all the work, and putting fires out whenever needed.
This was my real introduction to the web. Almost all applications we worked on during this period were web applications, although I remember a couple of desktop apps here and there.
Around winter of 2008, when money stopped to be a problem, I decided to leave Cuba and move to United States. My boss at the time promised me a job, and the uncertainty of leaving the country added that extra adrenaline that I needed. I touched American soil on May 2009, and then a total new chapter started on my career.
Some of the highlights for these years:
- Learned a lot about how important is to be on time, up-front with clients, proactive, and how to solve problems.
- Learned a ton about managing software projects and spliting and assigning work to different developers.
- Learned a lot about writing and reading English. (If you are reading this and you consider it bad, try to picture it 5 years ago).
- Learned how to appreciate small things, like my slow-as-crap 56kbps modem, or a microwaved lunch.
2009 - 2010
Days after coming to U.S. I started working with/for my boss. I did it by creating my own company, and although most of the work came from my boss's company, I scored a few new clients that helped me pay the bills.
This was the time when I started learning how to live on a capitalist country. The change was brutal on every aspect of my life, but it was totally worth it.
Professionally, it was the first time I used a decent Internet connection, so all of the sudden I had infinite opportunities right opened before my eyes. I learned a lot working on all the projects I had (a few dozen I'd guess). I had to code like crazy, but I spent most of my time on a management role.
The most important career-related highlights:
- Learned a lot of English. Heck, I had to living among Americans.
- The Internet opened for me a sea of possibilities and life-changing opportunities: For the first time I started following blogs, reading career-relevant stories, tweeting, using different online tools, etc.
- Worked on my first Android application after buying my first Android phone.
- Learned that getting somebody to sign a check for you is a difficult task. You have to work hard to get money out of people's pockets.
- Learned that businesses love to pay your invoices after they are overdue. (And sometimes a little later than that).
- Realized that freelancing is just not for me. I love the entrepreneurial mindset, but I'd rather work in a different environment.
- Started blogging.
- Started hating Adobe Flash. And right to its death (at least on the mobile side), I hated it.
- Worked a lot. A whole lot more that I had ever worked before in my life.
2010 - 2014
By the end of 2010, a small digital agency located in South Florida contacted me looking for help on a project with one of their biggest clients. It was Java, so I decided to go. They brought me on-site to work from their office.
Small company I remember. I think there were around 10 employees at the time. I worked on the thing, helped the team release it, and when I was done, the company asked me to come on board as a full time employee.
Hell, why not? I was a little bit tired chasing clients around, so I gave it a shot and took the offer.
The rest is history. Levatas is close to a hundred employees right now, and I'm very proud to be part of that growth. From a Senior Software Engineer position I found my way to an Engineer Manager role, and I couldn't be happier doing it (well, not true, humans can always be happier!).
During all these years I have touched literally hundreds of projects, mostly small ones, although you can throw a handful of multi-year engagements on that list. Working for big names like IBM, Cisco, HP, Dell, Avaya, Emerson, Fujitsu, and HSBC is something that you can't get everyday, and I'm very grateful to my company for that opportunity.
The most interesting events:
- Got my first paycheck as a full time employee.
- For the first time I started speaking the HTML5 lingo.
- Had the opportunity to work for several Fortune 500 companies.
- Worked on my first iOS application. (I liked Android way more but Java probably biased this assessment).
- Released on GitHub my first open source project, an Android application to check the stock market.
- Started working with Scrum, leaving behind years of Waterfall experience.
- Started working with NoSQL databases, scalable technologies, and cloud applications.
- Participated on Google I/O 2013. It was a blast and I don't remember any other time when I was able to absorb so much knowledge in just a few days.
- Participated on Google Chrome Summit 2013. It was good, although Google I/O had already spoiled the event for me.
- Was introduced to managing people (not projects). A little bit different to what I expected, and 100 times harder.
Another set of important events
Here are some other important events that happened during this time, but are hard for me to time-box under specific years:
- Became a phone-aholic.
- Learned to appreciate soft-skills on professionals, like self-organization, motivation, passion, perseverance, among others.
- Became really passionate about performance on websites.
- Realized that email can be a time-sucking machine.
- Realized that there's a lot to do for me in the next 10 years.
Looking forward to the next 10 years
Luckily for me, this is just the beginning. I feel like I've never been so much excited before about what's about to come. Hopefully, I'll be able to look back in 2024 to do the 20-year summary just like this one.
Here I come!