Heitor Gouvêa
menu

The challenge of developing a digital product with global reach in 15 days

Today I no longer work in the area of software development, but I have spent two years working directly in this area, where I went through projects from private, public companies, from small startups to multinational companies and in no moment a challenge as great as this was me tax...

June 29, 2018

In December of 2017, I wrote a publication titled “Almost two years away from home”, where I tell a little of the experience of leaving my parents’ house in the interior of MG, and moving to SP to work as a Developer. I remember when I finished the same, the following thought crossed my mind: “Man, what a life experience fuck!”.

I could barely know that soon in December even of the same year, another experience even more incredible and frightening battery on my doorstep: the challenge of developing in just 15 days a digital product - a sales management platform - whose same had an international reach.

Today I no longer work in the area of software development, but I have spent two years working directly in this area, where I went through projects from private, public companies, from small startups to multinational companies and in no moment a challenge as great as this was me tax.

At first, everyone thought it was crazy, an impossible mission. But soon in the early days, this thought disappeared. We were presented with the strategy and plan of action to successfully complete this mission. For this challenge was used a lot of Javascript, from end to end. The Front End was made with ReactJS and ReduxJS, the Backend with NodeJS using the HapiJS framework, our database was entirely in MongoDB, and our infrastructure was hosted on AWS in Docker containers, we used Kubernetes to orchestrate the same ones . We can say that the project followed the architecture based on micro services and totally distributed.

Our team was formed by employees from 3 companies. The entire tech team had 16 people coding over those 15 days, and at certain times we had “reinforcements” of about 4 other people, counting a total of 20 participants in the coding part of the project - I will not go into details about the part of business, because I was not present in any of the stages of it.

Since 4 of these people were not fixed on our team, I would “disregard” them from our training, so our team was in the following structure: we had 6 people taking care of the Front End part, 3 in the Infrastructure part, 1 Designer/UX, 1 Product Owner and 5 Back-end Developers.

The main development stack was JavaScript, the collaborators of two of the companies present in the project had an excellent command of it, however, the team from the third emrepsa were not yet familiar with such technology, and this was not a problem, Erick Wendel, our CTO at the time, was able to quickly think of a solution: an Apis Developmental Immersion bootcamp with Node.js lasting 16 hours, enough to put all project developers on the same page.

Once we had all the project developers leveled on the technology side, it was time to understand the root of the problem. We are immersed for 1 day in the sales area of a company which we consider as stakeholder closely following the whole process, to feel the difficulties in the skin, and thus to be able to visualize the best ways to solve such pains.

From there, we spent about 2 to 3 days to draw - in even papers - all screens of the system that was to be developed. Before all this, the whole scope of the project had already been done by the business team, the technology team only made some minor adjustments.

Image

Soon after this stage, we began codifying the entire platform, the dynamic was that of “continuous deliveries”, however, in a much shorter period than normal. We made the deliveries every 2 days at the beginning, and later we started to make 2 deliveries a day, one in the middle of the day, and another at the end. On many of these days it took some extra hours to get the message across.

All the tasks were categorized by priority, and divided for each of the team members through Trello, and since our production time was small, we did two “daily meetings”, one at 9 a.m. in the morning and one at the end of the file.

Through the experiences and the day-to-day of this project, I was able to evolve my interpersonal relationship side, to share some of my experience and knowledge, often even debating with each other about the best way to do X thing, after all this is also necessary.

But I can assure you that it was an extremely aggregating, challenging and successful experiment in the end. The product has already replaced the previous version of the customer and is now ready to be released to the world!


Heitor Gouvêa: with more than 3 years of experience in the field of information security offensive, today he acts independently as an Information Security Researcher, as well as being the main developer of the Nipe project, a tool responsible for guaranteeing the anonymity of its users, present in several Linux distributions like: Black Arch, Weak Net and LionSec Linux.


If you think the writer of this text has some potential, take a look at the other things I create. I have a weekly newsletter on possibly interesting things and I even think about creating a youtube channel in the future. But seriously, subscribe to the newsletter that is very legal and this is the way we can continue to exchange ideas.