André Figueira

Systems engineer - I write apps, I make websites, opinions are my own...

My dev evolution and personal losses

I've been wanting to write an article about how I've grown to the kind of developer I am now hence the title dev evolution, not to say I am perfect, I don't beleive in the idea of a perfect developer, developers are human, and we humans are imperfect.

We always have room to improve, this article was originally only intended to describe how my career has progressed over the years, however it turned a bit more personal as my personal losses in life have very much influenced me in my professional life, and served as a driving force for me to strive to learn more and always try and do better.

I've been a developer now for over 10 years, I started young! In the time I've been a developer I've changed an awful lot!

I first got into programming with PHP, I used to be into aviation, I wanted to do it as a career so I applied to be a pilot in the Portuguese air force.

I received an acceptance letter, a few days after I met my now wife!

Needless to say, I turned it down, my love and enthusiasm for aviation didn't wither. I got super into flight simulators, and accumulated over 2000 hours! This was in light aircraft and some jet aircraft, my favourite light aircraft to fly was the Cessna 182, and the Airbus 320 for jet aircraft.

It was lots of fun! During this time, I found out about these things called virtual airlines. The basic idea is that, they are websites that kind of clone real world airline sites. The main difference was that instead of registering as a customer you register as a pilot instead.

A Virtual Airline (VA) is a member-driven group which aims to simulate the flights and operations of an airline, charter operation or flying club. Some may be based on real world companies while others are fictional. The route structure of virtual airlines may be regional, national, continental, or global.

You can search for flights, then pick one, fly it in the simulator and then log that you flew that flight on the website.

The more hours you booked, the higher your rank became, and the more flight options and aircraft you had available to you.

I was hooked... I decided I wanted to build my own. I asked around the forum I used called Flight Sim World and found out that there were some white label applications that you could use to make your own.

Looking back, these applications were far from what we consider best practice, but I was new to this world of programming, I had no idea what was right or wrong, let alone the sizeable communities around programming.

I got the source code, and began hacking away. The system I was using, I forget the name... was built in PHP, it was completely procedural, and basically resembled what we've probably all seen.

You know, a sizeable functions.php file, views mixed with logic, that is, perhaps the complete lack of a view concept.

I began to really get into this programming thing! Every time I'd hit a roadblock I'd check out W3Schools, learn more about it from there, and I kind of snowballed.

I went from not knowing a single thing about programming to being able to actually build crud applications by hacking away at this little white label app.

I started to notice something, people of the forums, were really into what I was doing, so I decided to start advertising "I can make you websites!".

I got tons of bites, I sold my own virtual airline "Europa Airways" at the time for £400.00! Not bad for a kid dabbling in something they barely understand!

I got into design, photoshop, tried making UIs on my torrented software! (Don't worry, I assure you I pay for it all now ^_^). I started posting advertisements on Gumtree, I did a couple of freelance projects and made a couple of grand. I was feeling great!

Then I got a very peculiar call, It was a company that had seen my advertisements on Gumtree! They called me in for an interview, I went in and I got the job.

They do hardware and stuff and they didn't have a proper team dedicated to their website, just some thing, someone the owner knew put together for him one weekend.

Believe it or not, I took my little hacked away virtual airline white label app and I modded it to fit into the needs of a category website. Believe it or not the website is STILL going!

This is the design I originally did

I was laid off after about 4-5 months due to cut backs, as they weren't making enough money, but I started to see this web design thing as a real career option.

I was still in College, I didn't care too much about losing my job, I had a place to live and food on the table, so nothing to worry about.

A couple of months past, I kept advertising myself on Gumtree, not knowing the proper way to apply for jobs. I received an email this time, from a Company called MintTwist.

I was invited in for an interview, luckily I got the job! I was working part-time to begin with to work around my college.

About a year into my job, and with about 6 months left of college to finish, I decided to drop out and work full time! I was really enjoying my work, and bored of college! Plus I wanted to make more money :)

I started working full time, It was at this point my knowledge started growing exponentially, I learnt about OOP, started writing OOP and was loving it.

MintTwist was still a startup at the time, So I was able to grow with them! we had a wide variety of clients, and my colleagues were awesome, My bosses were so down to Earth and easy to work and talk to. I was loving it, a couple more years passed and then something happened.

It was a Friday the 19th of November 2010, My grandma had passed away, my mom was obviously devastated, we booked a ticket for myself and her to go to the funeral in Portugal.

Whilst we're waiting to board the plane, my mom gets a call, It was one of my dad's friends, my dad had just suffered a stroke.

Shit really hit the fan, we were in Gatwick airport about to get on a plane to go to my grandmothers funeral. We didn't know what to do. My mom ended up deciding that we would go quickly for the funeral, and come back straight away to see my dad.

We arrived at Portugal, my mom received another call... this time from a doctor. My dad had suffered another stroke, he was paralysed on one side of his body.

We didn't leave Lisbon Airport, we immediately booked an emergency flight back, Air Portugal were extremely courteous and helpful, can't thank them enough!

We had a flight to go early in the morning, we stayed at a friends house in Almada, she drove us back to the airport after we tried to get a little sleep and made our way back to the UK.

We arrived, my dad had been transferred to Addenbrooke hospital in Cambridge, they specialise in trauma regarding the brain.

We went straight from the airport to Cambridge, where we learned that my dad suffered 3 more massive strokes causing internal haemorrhaging in his brain. He was in a persistent vegetative state.

My dad was gone, I sat by him for hours with my brother and mom, holding his still warm hand...

The doctor came and explained everything to us. He made it clear that my dad wasn't coming back, we made the decision to let him go.

Then we left the hospital, I was with my Girlfriend, who I'm now married to. I was driving in my dad's car on our way home, my mom was in her car. I started crying, I started crying uncontrollably, to the point I was basically having a panic attack.

My wife told me to pull over, I didn't want to, If I did, I wouldn't get moving again.

Fast forward home, My work gave me compassionate leave for some time, I can't remember exactly how long... Anyway, fast forward even more, I've decided I want to move to our family house in Portugal. In retrospect it was a terrible Idea to leave my grieving mom and brother alone. But I was depressed, and if any of you know how depression is, you'll know that you don't always make the best or most logical decisions.

Thankfully, my brother and mom would visit regularly, my brother would spend his summer holidays with my wife and I, and my mom would come over now and then.

I was working remotely for MintTwist, I did this for some time, but I hit a wall, I stopped learning as much, the projects were getting pretty similar for me, so I wanted a change.

I took an offer from another startup which was going to settle in San Jose, California, and they offered to support my application, this was pretty much a dream come true!

We developed the system for a while, it was a social network, yes I know, a social network... regardless the work was really fun, the challenges were really interesting.

Unfortunately, a year and a bit passed, I was still in Portugal, and the startup had stalled on raising funding, they had raised a couple of hundred grand to pay for the development of the website, the API I developed and also the iOS and Android apps.

Despite the fact I had little hope for what I was working on, I loved the work, I got to learn so many more things and found out about Composer, boy how I loved composer the moment I found out about it.

But the project was stalling, I noticed this, and before the ship sunk, I jumped ships, I rewrote my CV and moved back the UK.

When I got back I joined a company called Prism DM, I was hired as a Senior Systems Engineer, I was in charge of one of their clients websites, Agent Provocateur.

So it was one of my largest ever projects so to speak, The codebase was horrible, resembling code that I had written at the very start of my journey.

However I had a nag for working with these legacy systems, in my time working and creating bad code, I really got to know how the decisions are made, and why they are made.

How to modernise it, and what steps to take to ensure the modernisation of the systems I worked in, didn't affect the business's bottom line.

I implemented many modern practices, which they still use to this day, including a proper git workflow using Git-flow, semantic versioning.

Everything used to be roll your own, I was able to get them to pick a framework, it was decided on a vote between all of the developers, we chose Zend Framework 2. We implemented Capistrano for deployment. Any many more things.

Eventually I moved on for a variety of reasons, but I carried on and continued learning and doing freelance work in my free time.

I could go on and boast about the other cool jobs I've landed, but that's not the point of this article. I wanted to share my story, of how I went from basically some kid who was into aviation into a developer.

I've had many motivations to keep me going over the years, money, fun, the fact I love programming, I love architecting systems, solving problems.

I look up to a lot of developers, and use them for my inspiration, people like:

And non "celebrity devs" too whom I've had the pleasure of working with

... The list could go on ...

Edit: It occured to me that I had no female developers on my list I look up to, and that just isn't right to only credit male developers - There are just as many female devs I look up to whom in many cases work much harder than any male devs I know, fighting pre-conceptions in our society and fighting for equality, and my list has been updated to reflect that.

But one of the main things for me at least is to try and make my dad proud, he'd always boast to his friends, whilst he was at his alotment about me. He was very proud of me. And I want to make sure I earn that distinction.

And I want to achieve as much as I can, in honour of him.

I love you dad, I miss you every day.

My family

I'm the dude in the back :) This is my brother, mom and dad