My Year at: Work

The last episode in our adventures ended with me as a Team Lead at Circuit, and me calling this article “My Year in: Tech”.

From now on I will use a more encompassing “Work”. 2021 was a year of important steps towards a goal I’ve held for a few years now: to become a full-time investor in the general style of a Warren Buffett and a Ben Graham.

I started the year helping spawn a new team at Circuit, the first official team there. We were happy to welcome two engineers, Christian Kaisermann and Vitor Paladini, who truly hit the ground running. They had worked together before, and their rapport made things move from the beginning.

Around April a friend whom I admire very much, Bruno Bergher, told me about Metabase, a company he had recently joined as VP of Product. Metabase does BI and data visualization. The product seemed quite nice, the company had a good online reputation, and I could imagine that the domain was interesting. Most of all, Bruno is really one of the smartest people I’ve had the luck to meet.

Bruno asked me if I’d consider a position at Metabase. I was satisfied at Circuit: the people were really nice, the work flowed well and the company was soaring, having grown revenue 3 times last year while almost entirely bootstrapped. There were two issues for me: working with Firebase, something I touched every day, was not enjoyable, and judging by the company setup, getting a pay raise would not be trivial. I brought up both subjects, Firebase multiple times, and salary a couple of times. The outcomes of those conversations were understandable from Circuit’s point of view, but didn’t point towards a great convergence with what I preferred.

It seems to happen repeatedly in tech, at least in our long-standing economic cycle, that companies focus on recruiting but not on retaining. Although this did not happen so literally at Circuit, we often see professionals start jobs at much higher salaries than great people who had joined a company months or years before. The churn seems suboptimal from a long term perspective, for everyone involved. As it happens, from the perspective of an employee, joining a different company means you will earn much more than staying put.

Long story short, in May I joined Metabase. Again I went from leading to being an engineer.

In parallel, and I had being working on this for over a year, I kept studying for the Brazilian equivalent of the CFA. Here we call it CGA. Mid-year, I passed. This certification opens the legal doors for me to manage investment portfolios, funds and so on. Investing is something I started reading about in 2007 or 2008, and it became a serious pursuit for me. To illustrate, I have a YouTube channel where I study companies in public, and I’ve done over 730 episodes of it. I started a very informal investment partnership in 2017 that has been beating the most important Brazilian stock index since inception. It’s something that I’ve frankly been enjoying much more than software. It may be because I only have an hour or so a day to dedicate to it. The fact is, it’s going well and I love to work on a much, much wider canvas than the one I see in software.

The experience at Metabase has felt peculiar and is still hard to describe, even after 8 months. It’s a very loose organization that has grown its headcount a lot recently. I don’t get to work with Bruno directly. The codebase and processes have been a challenge for me, and I’ve worked on a few challenging codebases and processes. It feels like I still haven’t understood the company enough to be able to describe it. I am thankful to be there, but must admit I miss working with a bit more structure, and I certainly miss the more frequent human interactions and strategic work of leadership and management.

I have one very clear goal for 2022: to start a formal investment partnership. It will take the shape of an investment “Club,” a legal vehicle in Brazil that is suitable for investment funds that are still not large, between 1 and 15 million reais. I will be able to, indeed must work on it only part-time —as a shareholder in the fund, by law I can’t be paid to manage the portfolio. This will be a very important step in growing a currently informal partnership that has beaten the Brazilian stock index by 61.38% over the last 5 years into a true investment fund a few years from now. If you are reading this and would like to know more about investing with the partnership please write me at gustavo@poe.ma.

My Year in: Books

In 2021 I finished 32 books (if you are counting, 2 are not in Goodreads). This year, 15 of the books I finished were audiobooks. I ended last year realizing I had read very little in languages I am learning, and this year I made a nice correction and read 6 complete books in Italian. Another book I read in French.

Never before have I juggled so many unfinished books. I don’t even know how many I can say I am ‘reading’ at the moment. Twenty, maybe.

This year will not stand out as a great reading year in my life, although I lucked out on 4 books. I dedicated a lot of this year to studying for the Brazilian equivalent of a CFA, plus a lot of cycling. I am happy with my priorities, as I got my certification to be a professional investor and had many adventures on the bike. I suppose I was not very diligent about choosing books to read, it was a lot of trial and error. All in all, I’m satisfied with the priorities I set. Let me say a word or two about the books I liked.

I finished Robert Caro’s ‘Working: Researching, Interviewing, Writing’ just a few hours ago. Caro is considered one of the best biographers of the last many decades. He started out with a classic called ‘The Power Broker,’ about Robert Moses’ long-lasting influence over New York State. Afterwards he embarked on a multi-volume biography of Lyndon Johnson. ‘Working’ is the first book by Caro I have read. In it he remembers how he started out as a newspaper journalist, his difficult transition to writer of books, then biographer of a US president. This short book served as a great introduction, since his subjects were relevant before my time and I’m not a big politics reader. No matter: Caro’s prose is phenomenal, as is his reading on the audiobook. His trajectory, how he finds out and is shocked to learn he’s happiest reading files and archives, his own ambivalence towards his compulsion to know everything, see things firsthand and consequently live in places his subjects lived or affected, his approach to research, extracting information from interviewees and his writing habits sure can serve as inspiration and maybe consolation to others who like to dive deep.

‘Atlas of Poetic Botany,’ by Francis Hallé is a short book on curious, yes, poetic plants around our planet. They are illustrated by the author in a plain and beautiful style. Each chapter is no more than 4 pages, describing a particular species of plant, always very unique. You’ll find plants that “walk”, plants with just one gigantic leaf, the famous corpse flower and many others. This was the absolute only book I finished this year that was not in digital form, and the way it’s put together more than justifies the…plants that gave their lives for the paper to print it.

Another book I really liked was ‘50 Sábados’ (50 Saturdays), by Fernando Zogaib. It is the memoir of Zogaib’s bicyle crossing of Brazil, north to south. He ended up doing it in 50 days, which he refers to as a string of Saturdays. What struck me most about this book, beyond even the athletic and mental feat, is Zogaib’s candor. He does not hold a feeling, a memory to himself. Having read many books about great athletes, crossings and long distance adventures, this one holds up against the best in terms of emotional openness.

As a final mention, I learned interesting things from ‘Order Without Design: How Markets Shape Cities,’ by Alain Bertaud. The author’s main goal seems to be to describe the interactions between urban planning and urban change brought about by the forces of populations, day by day. The chapter about urban mobility struck me the most: Bertaud writes an interesting critique on things held true by many of us regarding public transportation, use of cars and balancing different modes in a city.

I went through a few months without finding a book I was excited about, and just a few days ago I again found luck with ‘Working’ and another one I haven’t finished quite yet. What a good feeling. Next year will be the one to start listening to audiobooks in Italian — sono pronto!

My Year in: Tech

I started out 2020 taking my first relatively prolonged vacations of the last 15 years or so: 3 weeks. Coming out of the first year of my twin children, the break was welcome.

To recap, I was working at Toptal’s core and had just finished recruiting a new team, having hired 3 new front-end engineers. I put myself in contention for a promotion to Engineering Manager. At Toptal this was a rarefied position. The company was about 600 or 700 people and only 4 EMs existed. They were opening 4 new spots. I was looking for a step forward, not necessarily associated with a title.

Almost parallel to that, a former colleague tweeted that his company, Circuit, was looking for people. I really love this guy, Filipe Alvarenga, so any company he’s working for must have virtues. I met Jack Underwood, one of Circuit’s founders and its CEO. I felt good about him and the company. It helped that Jack publishes monthly letters to the public about how the company is doing, and they seemed very candid.

Circuit provides technological infrastructure for last-mile deliveries. Think managing your daily routes if you are an individual driver, and also doing that in a team of dozens of drivers.

I was hired at the Team Lead level, same as I had been at Toptal. The idea was to expand the front-end headcount at Circuit and create a React team. When I joined, in the second half of March, the world had just been turned upside down by Covid. All plans at the company changed very quickly: despite the immense negatives of the pandemic, Circuit was in a position to help things and grow significantly, as deliveries exploded everywhere.

I operated as an engineer for the rest of the year. In my first 2 or 3 weeks I wrote an application where recipients of deliveries could track their shipments. It was relatively simple, and got shipped quite smoothly. That was the first application written in React at Circuit.

The company’s focus had shifted to really serving teams of drivers. It’s a natural progression from individual drivers, to teams, and eventually to enterprise.

Our back-end uses Firestore, a serverless product from Google, and there was work to do there after completing the recipient application. I shipped or helped ship several of these cloud functions, both for external and internal use. What was missing in our backend were tests. A colleague had just started writing unit tests in the repo. I spent weeks of off-time trying to learn how to properly test back-end functions in Firestore. The documentation is not helpful and I could not find good materials. So I pieced out the knowledge, tried things, and eventually got one version to work, then we all improved on it. I think this was our main achievement of the year, technically. Soon the tests spread out in the app, all colleagues were writing tests, and I believe we got a much more productive rest of the year with the benefits of serious test coverage.

After some work converting our internal admin panel to React, we took on the rewrite of SpeedyRoute.com, also in React. SpeedyRoute is an acquisition made by Circuit some time ago, originally written in CoffeeScript. We completely rewrote it in React, and now the UI looks a bit more contemporary too. Around then the decision was made to convert all our web applications to React, and to start the new ones in React as well, phasing out Ember.js.

At this point, we were in the last quarter of 2020 and we were ready to go back to the original plan for my joining Circuit. Jack invited me to lead the recruiting of 4 front-end engineers. It was great to be back doing interpersonal-focused work. The internal recommendations of engineers were very strong and this helped the process move quite quickly. We now have 3 hires and may close out the 4th soon.

The newcomers will start in the first few weeks of January, and we will spawn a team to rewrite our most important web client, Circuit for Teams.

The year was challenging, of course, but at work it did not feel proportional to a global pandemic. The culture at Circuit is driven but very balanced, the founders are sensible, very intelligent, and rational. They are always present, designing and coding along, so it feels they get a much more realistic sense of how things are progressing than if they were only doing management. And because they are working with everyone, it is just natural that we can talk frequently and issues get resolved quickly.

The company more than tripled its annual recurring revenue from US$3M to just over US$10M this year. There were next to no major bugs or incidents, and a lot got done during the year. Interactions with everyone were unfailingly pleasant and constructive.

I was the 8th person in the company when I joined, we are now 12 and, with the new team, will be at least 16 in the first quarter of 2021. It will be fun to help grow the company, help keep the good things that can be kept of the current structure, and also help add good things for it to scale nicely. We have reasons to be optimistic that Circuit will accomplish this.

My Year in: Books

My reading year was as strange as this year was.

In 2020 I finished 38 books. For the first time the majority of the books I consumed was in audio form: 22 audiobooks. None of them was in languages I have been studying, like Italian, German or Russian.

The most meaningful books of the year for me were books I have not finished yet. I have been reading Goethe’s Italian Journey in German since 2017, at a snail’s pace. That’s because all the German I know I am learning in this very book. For a few months, in the first half so far of the pandemic, I read a good few dozen pages of the book. Goethe’s still in Venice in my reading, which means that at this rate it’s a coin toss whether I will finish the book or die first. But it’s been a wonderful read, and coming into contact with a new language is magical, we see hidden structures of humanness reveal themselves in very touching ways.

In early March I went to Portugal once again after some 15 years. The country felt a lot happier now. I bought a copy of Os Lusíadas by Luís de Camões with the original text from 1572. Os Lusíadas is probably the most famous book in the Portuguese language of all time, and its title plays off the Iliad. As the pandemic shut the world down just about a week after this trip to Portugal, I slowly read about a third of Os Lusíadas. The book is as dense with references as can be, each verse carries one or more allusions to mythology and Portuguese history. There are books that help navigate Os Lusíadas, and I followed one of those. It helped a lot. This effort felt worthwhile — it’s so beautiful to witness our native language at a different state, and at the highest level. I feel no big hurry to finish this book.

Another important book I read some of, at no hurry, and haven’t yet finished, is Lacan’s Seminar number 3: The Psychoses. I have no special interest in psychoses, I just tried to follow the numbering of the books as I’ve already read the first two. It is a challenging read for me in the original manuscript, in French. But when it hits you it hits you hard.

There came a point in the pandemic when all these serious reads felt like too much. It became clear I needed to exercise more after several months stuck inside. I took to my bycicle and, when riding in the mountains, listening to audiobooks took over completely. Almost all of these were forgettable, entertainment material, many were about cycling feats which yielded only-passable literature.

Of the books I finished in 2020, I mention Psychoanalytic Listening — Methods, Limits and Innovations by Salman Akhtar as the most memorable. The topic of high-level listening interests me a lot these days. Salman Akhtar does a great job of breaking down and explaining the most fundamental act of a psychoanalyst. I feel this book is applicable outside psychoanalysis and, if you undergo phychoanalysis, even more so.

These were the books I read this year. Please friend me on Goodreads if you’d like.

My Year in: Tech

I started the year of 2019 as a front-end developer at Toptal’s core team. Just a few days later, I was invited to be Team Lead for a brand new team.

My emphasis turned, again, to working with people. That was a delight and I fully embraced the opportunity to help build a team. We had a few company veterans enlisted to start the new team, all of whom I had not worked with before, and we needed to hire two more front-end engineers.

The first recruitment process was for an excellent React engineer. It was done very deliberately and unhurriedly, to make sure we raised the overall level of the team on the React stack. It took us a little over 2 months until we found a great guy, who has contributed a lot this year.

The second engineer was a gift to us, as he was initially hired for another team. Happy to say he’s also doing tremendously well.

We quickly became a real team. It seems we did a few things that helped: communicating a lot, admitting mistakes and ignorance openly and quickly, and being real human beings.

One teammate brought along the Personal Questions call from his previous team. This call has a simple structure: one team member asks one or two questions, personal as the name says, to everyone on the team.

The questions are as simple as “What was the best trip you ever took?”, or “What is your favorite dish?”. It’s up to the team to let this call become just a little window on who they are, or a huge gateway to people’s souls. Yes, it’s possible to cry while listening to someone tell you about their favorite food once they tell you the story behind it. The bond I felt with the team was immense.

Dedicating at least one or two hours per week of each team member’s time to building rapport makes a big difference, particularly in new teams. Next year I will work to learn more ways of doing that.

I made my share of mistakes. The one that comes strongest to mind is about having patience before giving feedback to people you may like personally but don’t think are doing a good job — especially when they are not reporting to you. Convincing people to change is hard enough as it is, doing it without mutual trust and knowing their motivations is likely to backfire.

Another lesson I was reminded of by a mistake of mine is the “no surprises rule”. It’s often hard to know, in advance, how sensitive some task or decision may turn out to be. Next time something I do starts to deviate too much from what was agreed-upon, I should remember to share that early on, and avoid surprises, because the surprise itself may make people react negatively to something fundamentally desirable, or I may have the wrong assumptions or decisions and other points of view will help me see that.

I stayed with the team for a total of 9 months, we launched a good chunk of the new application we were developing, and then I was enlisted to start a new team from scratch: to recruit every single engineer, and help recruit designer and product manager.

It was painful to say goodbye to a team I loved so much.

Soon it was back to recruiting, this time a few weeks of full-time effort, and we are still at it. We seem to be close to hiring two people, and have one more front-end and one more QA person to bring onboard on the engineering side.

This recent team switch gave me time to study programming after a several-month hiatus. I am focusing on new React APIs, from Hooks to Context and Suspense, as well as testing, TypeScript and, soon, Apollo.

I did continue to study the Elixir language source, something I’ve done for maybe 3 years now. This year I did relatively little of it. I love Elixir just as much as always, and am thankful for having learned so much from its community.

I plan to go multi-team as soon as I have a chance, be it in an Engineering Manager or CTO role. Thus I dedicated more time than ever to reading about leadership, management and communication, often with a big emphasis on tech. Especially for people who are new to management, I recommend The Making of a Manager by Julie Zhou.

My Year in: Books

Any year in which you read Grande Sertão: Veredas is automatically excellent.

This year I read 32 books. I may have broken my record of rereads at 4. I continued reading in Italian, 2 books this year. Or should I start saying “consumed” books? Thirteen out of the 32 were audiobooks.

It may be hard for a non-Brazilian to understand what about Grande Sertão: Veredas makes it the best book of all time. It is probably as difficult as can be to translate. It is very hard to understand at first, even for solid, native readers. Suffice it to say that it is on par with the Iliad, the best Goethe or Shakespeare. Ranking works of art is nonsense. Still, Grande Sertão is number one for me.

If not for Grande Sertão, 2019 would have left a lot to be desired in terms of my reading. I am happy to put in a good word for Crucial Conversations, a book I listened to and immediately repeated. I seem to have reached that age when any meaningful personal growth is to do with interpersonal skills.

Crucial Conversations was one of several books I read around communication and management, the one big topic for me in 2019. It always feels like most of these books could have been fine as shorter blog posts, but you never know which ones should truly be books and I end up reading them whole. Also, a single good idea may easily be worth the dozen hours we spend on a given book, and that makes me think of The Culture Code, a serious candidate for a future reread as it may contain 2 or 3 really good ideas.

But then there is Grande Sertão: a book where every line, every phrase and word explodes with meaning, with angles on life, a love story to make Romeo and Juliet robotic and numb by comparison.

Maybe I’m ripe for some fiction after a long hiatus.

I log my reading, done or intended, on Goodreads. Please friend me there if you’d like and let’s find the next amazing book.

My Year In: Books

In 2018 I read 28 books. The number means little but this is probably the lowest for me in many years.

I’ve noticed a trend this year of enthusiastic book readers becoming less so, and praising blogs and other media instead. That was not really the case for me: this year my family and I spent another two months in Italy, and again, why read books if you’re living inside one. More importantly, my wife had twins.

This year I continued to read in Italian, and I was able to read much more advanced texts like Diario Minimo by Umberto Eco, Mark Twain’s Following the Equator and Elisabeth Roudinesco’s biography of Jacques Lacan. Out of the 28 books, 5 were in Italian.

Last year I mentioned I had taken up audiobooks, and this year I continued to listen to them, 11 in total. I think I have gotten better as a listener of books, and the main thing I’ve been doing more often is re-listening to sections of books. This seems to compensate for the lower rate of absorption I seem to be capable of in audio form.

The book I liked reading the most this year was “Don’t Sleep, There Are Snakes”, by Daniel Everett. In it, Everett recounts his experiences living with the Piraha tribe in the Amazon jungle. His initial mission was to translate the Bible to their language as a Christian missionary. What he comes across, however, changes his own life. It’s a profound encounter of two cultures that could not be more different from one another, in the midst of another culture, that of Northern Brazil. On top of it all, Everett, also a linguist, discovers a language unlike any other in the world, and picks a fight with Noam Chomsky about what even constitutes human language. It’s all so amazing you wonder how much of it is really true. Incidentally, this one was in audio book format and it was great to hear the author reading it, warts, emotion and all.

This year I doubled down on a practice I had started, but not mentioned, last year: that of translating/transcribing books. In 2017 I went to Berlin while living in Italy and really loved it. It was my first time in Germany, and it made me want to learn some German. While in Rome I had learned of Goethe’s experience living there, and of a book recounting his life in Italy. So I started translating “Italienische Reise” from German to Portuguese, and that has been my introduction to German. One year and a half later, I’m still in page 20 of the book. I may go entire weeks without doing it, but I have fun when I translate a paragraph or two. And the links between the German language and the others I know are always deeply touching. Languages are among my favorite things in the world.

So by doubling down I meant I started doing something similar with another book. This time I am not translating but transcribing Security Analysis, by Benjamin Graham and David Dodd. It’s one of the most important books about investing of all time, I had read it before but it’s such a dense book that I thought I should do this to slow it down and spend more time with each paragraph. Almost every weekday I dedicate 10 minutes to it. At the current pace I will need several more years to complete the book. I have no idea if I want to do the whole thing, but I can say it’s been a great experience so far.

If you’d like to see all the books I’ve read in 2018, please take a look at my Goodreads year list and do friend me there if you wish.

My Year in: Software Development

The year of 2018 has been a wild ride for me. It started at EmCasa.com, the startup I described a year ago. We were in the process of putting out a successful MVP, engaging clients, becoming accelerated by Harvard University and closing out an excellent seed round with important investors. All this in just a few months.

Very quickly my job morphed from do-it-all (think product and CTO duties, plus co-founder responsibilities) to team-building. This was a highlight as I was lucky to bring in great people like Gabriela Seabra, Nathan Queija and Rodrigo Nonose, each respectively owning mobile, web frontend and backend. On the design side, Plau.co did great work.

For the first time I felt fully ready to create a digital company in style. The Elixir-React stack worked beautifully, we rolled out features fast and the development team became a cohesive unit very quickly.

Towards the middle of the year, as the company reached 14 people, it had become clear to me that there wasn’t a good cultural fit among the founders. It was one of those very painful decisions but ultimately not difficult to make when visions don’t intersect well enough: we parted ways amicably at the end of July and I went looking for a new job.

That month was tense for me. I knew I had a deadline to basically stop getting paid, my wife was 6 months pregnant with twins and I had nothing lined up as far as work.

I am part of Toptal’s network of freelancers and that was one of the main ways I tried to find the next thing. I found something that really interested me: they had posted an opening to join their Core Team. I applied, passed, and joined the team as a freelancer in August. 

The first few weeks were hard in a sense: I and two other developers coming from Toptal’s talent network had a kind of secondary status, without access to many tools. Luckily our teammates were extremely helpful and welcoming. In a few weeks we became official team members and got access to what the other engineers see.

My team works on Toptal’s public pages, from home to skill pages, basically everything a logged out user can access in the website. 

It’s been a tremendous experience for me so far, as it’s the largest organization I’ve been a part of in technology. Toptal is in fact the largest fully distributed company in the world today. As such, I work with people from all over the world, and that’s the part I like best. To do it from home is the cherry on the cake as my children are very young and being close to the family is priceless at this moment.

At my team I’ve experienced the most well-developed set of processes I’ve ever come across. The firm has reached a level of maturity that allows for very well written task tickets, a proper retrospective at the end of each sprint, interesting strategic discussions among executives, and work that has large-scale, immediate impact. On the other hand, I am very far from top strategic decisions and information, and this feels weird to me having run my own company for so many years.

To a very large extent, this was the year when, for me, technical concerns became secondary to human concerns. Sure, if you’re starting a product alongside just one other person, what tech stack exactly to choose is of paramount importance. In a team of 200 that’s much less important, as each person can focus on a narrower part of the work, and the human interactions can catalyze or hinder progress.

Thus, I gave myself the chance of observing all the teams in the organization: dialogs, processes and rituals. Whatever was visible to me, I tried to learn from. It wasn’t long before I got the opportunity to onboard newcomers, help interview candidates, conduct daily standups and interface with other companies. That’s not to say I didn’t study programming this year: I continued my deep-dive into the Elixir codebase, studied GraphQL, some more Elm, algorithms, some Python and a little bit of Natural Language Processing.

It’s much easier to paste some code or links to a framework and illustrate what goes on as a programmer. Human interactions seem to me much harder to communicate. A book that does a great job of explaining management applied to software is The Manager’s Path, by Camille Fournier. I read it this year and it very neatly sums up many things we learn the hard way, plus many others I simply did not know.

So this year was one in which I started out as CTO and ended-up as an individual contributor. But each experience has taught me a lot about management and leadership, which will be my way forward in technology.

 

My Year in: Software Development

2017 ends for me, at least in terms of software development, on a much higher note than it started.

From January till October I worked on a financial startup through Toptal. I was part of a team of between 5 and 15 people over the period, and my duties were far more restricted than what I’m used to: mostly markup and styling.

I did the work inside Ember but never warmed to the framework. I’m sure it was not because of technical matters per se, rather mostly because I perceived the framework as not picking up traction, therefore not deserving of much investment. It was hard to flow with it since auto-reloads were quite slow and the style of getting and setting values always felt strange to me.

There’s a lot I learned in this project in terms of organizing teams and the main lesson was: if you hire remote team members, embrace that fact full-heartedly. This is not to say that you either do it remotely or locally, but if you have even one team member that is working remotely, you should do everything as if the whole team was remote, otherwise the interactions will break down fast. I’d go further and say that dev teams should work as if remotely even if the team is local, persisting all relevant decisions in writing, avoiding one-to-one communication in favor of groups to save on recommunication and following the basic protocols of remote collaboration.

All the while, I kept spending some time on Elixir, and was always happy doing so even though the language has all but become hugely popular thus far.

Another significant change in my process was my move from Atom to Vim. Yes, the entry barrier is significant, and a bit more so since I use the Colemak keyboard layout, but I am very glad I did it. After a while you’re much more productive in Vim, and it’s a more direct connection between thought and writing. It took about 3 months for me to feel as productive in Vim as I had been in Atom.

Sometime in the middle of the year, a couple of fellows got in touch about starting a company in the real estate sector. After much talk we decided to join forces and we started EmCasa.com.

At EmCasa.com I was free to choose the stack for a greenfield project, and so I chose Postgres, Elixir/Phoenix and React for the web client. Postgres is the dependable relational database, with (I trust) more native support for geolocation, so I didn’t hesitate there. Elixir and Phoenix wasn’t much more of a difficult decision either: I trusted the language entirely, felt the tools are at a very reasonable point, enjoy using it a lot, and thought we could attract good developers to use it. So far it’s worked out that way, and as I get ready to hand over most of the Elixir side to a new team member, we talked to a number of pretty great developers that are fond of the language and excellent at it.

Finally, the React decision was a bit more difficult, and even though I consider myself a frontend developer, has been more fraught with difficulties. It’s hard to say I’d choose React again. I probably would, but I really don’t know if we’d been doing better with Vue.js or maybe even Elm.

EmCasa needs a lot of good SEO, so it needs server-side-rendering and very controllable html headers. It took me a while to sift through a few of the available possibilities, that being the main con of polylyths. Finally I made progress using Next.js, which has been a pleasure to use. I ended up throwing out Redux and I haven’t regretted it. I think Next.js has a good path ahead of itself.

We have a long list of ideas to implement at EmCasa, our backlog is public, and so are our backend and our frontend. If you’re reading this and would like to chat with us about joining the team, check out www.emcasa.com/jobs or write me at gustavo.saiani [at] emcasa.com.

My Year In: Books

It’s been a strange lap around the sun for me in terms of books, of which I read 32 in 2017. The number 32 is right around my average in recent years, but the books themselves have deviated from my recent patterns and the reason is clear: I spent 4 ½ months in Italy. In the summer. Why read at all if you’re there?

What kept my number from dropping precipitously is that I took up audiobooks. After a couple of failed attempts at listening to books in past years, this year I tried my luck with one that seemed ideal to listen to while running: Phil Knight’s “Shoe Dog”. And this may well have been my favorite book this year: I was blown away to learn that Mr. Knight initially didn’t like the name of the company he founded, Nike. I was just as stunned to learn that the author wasn’t fond of advertising and even seriously considered dropping Michael Jordan from the brand. There are enough twists and turns to his memoir for me to feel ok giving away a few spoilers.

I noticed that listening to books is a learning process, just like learning to read books when we’re kids, and decided to stay with biographies and lighter books when listening, which did the trick and of the 32 books I consumed, 15 were audiobooks. I myself am amazed to realize this as I write.

Another book in the sports vein I liked was Roland Lazenby’s Michael Jordan biography. A pivotal figure in my early teens — I dreamed of being a basketball player and he really ended up becoming better than my idol Magic Johnson -, his life story is far more complex than I had thought and this book is great at telling you all about it at a high level of prose.

My family’s Italian trip had a profound effect on my reading. I knew next to no Italian before going there but as this year ends, I read 4 books in Italian. My favorite one was “Roma” by Alberto Angela, a kind of pop-history writer who recounts life in Imperial Rome, death in Pompei and the like. “Roma” was quite fascinating and transformed my understanding of humankind, destroying many of my preconceptions about how people lived just 2 thousand years ago – it was a lot more like we live now than I had assumed.

I end the year feeling like this wasn’t a particularly good one in terms of books, but the mere fact that it’s been instrumental in learning a new language has made it outstanding and auspicious.

If you’d like to see all the books I read in 2017, check out my Goodreads annual summary. And do friend me there if you please.