It has already been a year since my first day at Subvisual. I was no stranger to working with this team then. I made a point of joining the RubyConf Portugal organisation team ever since the idea first came up and I've been involved in all the meetups and activities that I could. Nonetheless, I thought a recap of the events, both those that led me here and those since I've been here, would be a fit way to celebrate the achievement.
Subvisual was not the first company I worked at after college, although that was the initial plan. For many reasons, it just did not happen back then.
My first job out of college was at a mid-sized international company, mostly working with Java EE. I started in the services team, putting out fires for one of their largest customers, but they soon realised I tend to over-engineer things. And, for the first time until and since then, they welcomed and nurtured that part of me. They tested me with some scripts to automate operations tasks, and after I nailed those they moved me to the engineering team, where I went about learning everything I could, from new frameworks to security mechanisms.
After little more than a year there, I got an offer to work at another company. Better pay and I would help build a team I would lead. It was just too good to refuse. I could be a lead developer by the age of 25. So I took the plunge.
It started well. I learned Elixir before version 1.0 was even out (building an aggregator service), worked on a Rails project with some fuzzy requirements, and on a cross-platform application using the Adobe Flex framework. But in the end it did not deliver my expectations, I wasn't progressing. And so I left.
I joined Subvisual soon after that but in retrospective, both companies taught me valuable lessons. I learned to accept yourself, to use my strengths to work on my weaknesses; I found my drive, and I now try to build upon it, and I learned that evolution is the one thing I should be constantly aiming for.
My first project at Subvisual was a static site for Occam Education. Sounds simple enough right? Turns out it was also my worst estimation to the date.
While I had known most of the team for a while then, I underestimated their drive for quality. Unlike me, it did not come from a place of over-engineering and pedantic look-ahead. Their methods and tools had been battle tested, had a purpose. And were all new to me.
I learned mostly about Middleman and SuitCSS, having stretched both to their limits, and had extended discussions with Bruno about all the philosophy behind how the team builds pages. And it eventually made sense. I just regret that it took more than five times the estimated time, but the truth is that I've since been more careful with the estimations I give. Underpromise and overachieve.
That site is still live, although it may have changed a little since I last touched it. You can check it out at http://occameducation.com/ .
Cadoo was an interesting one. I joined Miguel in what was to be basically a rethink of Easy Money, a previous project using Uphold's API to facilitate money transfers. Cadoo ended up being the first of multiple projects using that API to help people interact with each other using money.
The project itself was a great opportunity to tune-up my Rails skills with someone who had a lot more experience, and for both of us to learn React. We pushed the boundaries of my experience with Rails and even tried some patterns I only had had the opportunity to use in Java projects. In fact, there is a whole chain of service objects in that project just to generate the dynamic image that goes into the e-mails (I'm kinda proud of that one).
As for the frontend, we pushed the limits of CSS transitions, using React to quickly adapt the classes in the markup to the state we wanted to show. Turns out this got so cool Miguel even made some talks about it.
The project is live and running, so feel free to try it at https://cadoo.io/ .
After Cadoo I paired with Bruno once again, now to develop a platform for companies to perform easier credit analysis. The backend was Rails, but the frontend was a new combo of Angular.js and Redux.
I got to admit it took me a while to get my head around it. I was not familiar with Redux, much less with Angular.js to Bruno's proficiency level. And, as is usual when you face an expert in a technology which is new to you, I got off to a bumpy start. A file uploader, which had taken me less than a day in Cadoo, took me almost two weeks in this project, mostly due to my inexperience.
When I joined the project Bruno had already been with it for almost a year. Eventually, he ended up moving to another project, and I got to be on my own for the first time at Subvisual. I tried to step up to the responsibility and took it through the last mile. We released the first version in August.
Since then we've helped Crediflux set up its own team, and they already have some client installations coming soon. The project has already gathered some media attention, but if you haven't heard of them take a peek at https://crediflux.pt/ .
The truth is that I never made any decision about my professional path where an offer from Subvisual wasn't on the table in one way or another. It always seemed like just a matter of time until I joined these ranks. This is a team I truly admire, both collectively and every single one individually. I am ever so proud to be one of them and can't wait to find out the next thing I'm going to learn as part of this team.
Curious about this team's frame of mind? Check this post by João to know a little more about the company and the philosophies behind our work.