Vinta's Playbook

Plans and practices

contact us

" I am convinced that nothing we do is more important than hiring and developing people. At the end of the day, you bet on people not on strategies." We agree with Lawrence Bossidy regarding the importance of hiring and the effort that should be put into it. Here are some of the traits we look for in candidates for different levels of seniority and how someone might apply to Vinta.

Open spots and requirements

Here is an overview of what positions we hire. The requirements, work-routine, work-benefits and everything else is described (in Portuguese) in the career section of our website.

  • Developer: Works to create technical solutions to our clients in the best way possible. All developers here are full-stack and have full ownership of the code-base. Discussing architecture, developing in Python/JS and defending processes that implement quality are the central tasks for this spot.

  • Senior Developer: Beyond what the regular developer works, this spot is also responsible for the technical growth of the team, the ever-lasting search for processual and architectural improvements in the project, and the product concerns of the project.

  • UX designer: Works to guarantee that value is delivered the best way possible to the end user of our client. Discussing, mocking interfaces and conducting research are the main directives for this spot.

  • Intern: This spot's only concern is to learn and be available and fit for hire in the shortest time possible. Our training process described below in this section ensure that happens within six months.

How to become a junior at Vinta

We know it’s tough to start working at the tech industry. At Vinta, we developed our process to prepare anyone for a full-stack job using Python and Javascript. We've compiled all the courses, relevant content, philosophy, activities, and tips from our interns to help you go all the way through our tech stack.

Philosophy behind the whole process

We always hire interns with a clear goal (we also make that goal clear to them from day one), that is to hire them as juniors in a year time. The whole process is designed to maximize learning opportunities, knowledge sharing, and professional development. In order to do that, we believe three things are essential:

  • Code best practices and development process should be a concern from day one;
  • The person’s only focus should be on learning and growing professionally, so books, online courses, and more experienced developers should always be available;
  • Knowledge should be demonstrated and consolidated through building things. Reading is awesome and necessary, but true growth is achieved through projects.

Steps of the process

First, every intern here develops a toy project. Then the person is integrated into a project (with full access to production environment) working non-billable hours for the client and finally, the person is hired as a junior and starts working billably for the client. This whole process lasts on the maximum 12 months, but eight months is usually more than enough.

What you’ll learn

  • General
    • APIs
    • Object Relational Model (ORM)
  • Python
    • Django
    • Django Rest Framework
    • Celery
    • Celery Beat (to schedule tasks)
  • JavaScript
    • React
    • Jest (frontend tests)
    • Redux
    • Redux Thunk
    • Normalizr

Internship project on Trello

We try to avoid overwhelming people that are beginning to learn a stack. So the first thing every intern does here is to receive this Trello board. The cards are already separated and ordered to maximize learning. The idea is to start with a Django app and then to rewrite the front using React. The lists are ordered according to the priority of deliveries, it’s important to follow the order and develop every feature without parallelization so that you’ll learn faster. Remember to read the card named Project Specs first to get an overview of the project! You can check it below:

https://trello.com/b/oRHqnioo/template-pokebattle

To copy the board, press W and click on More > Copy Board.

First step: become an intern

If you've read it until here and enjoyed our way of thinking, come forward and join us!

Interesting courses

Useful links

Some of these links were taken from our Lessons Learned page. They helped us to learn the dos and don'ts of tools we use daily.

Hiring Process

The hiring process for developers is divided into three steps aimed at measuring technical prowess, communication skills, and management abilities. The designer hiring process works slightly different, if you want to know more about that, please send an email to contact@vinta.com.br The steps are as following:

  • Interview: here we have an open conversation with the candidate, that's the best way we found so far to evaluate culture-fitness and professional experience;

  • Pairing: This step focuses on the ability to explain your technical process and problems and common difficulties and problems that happen along the way;

  • Project: in this step, we send the specs for a project that needs to be delivered in a fortnight. Our point here is to evaluate good practices and expectation-management on the client side.

Go straight to the code

You can implement a project and get a head-start on everyone else!

Explaining: knowing how to choose a good programmer is a very difficult task. There is not a single way that works for most companies and there is a lot of talk about why one way is better than the other. For us, the process is divided into three parts, the third being a small project. When the project is given to a candidate, we also state that it’s to evaluate good software practices, testing, and problem-solving skills. In order to mimic our open-scope environment, we set an initial deadline that can be rescheduled if more time is needed (when correctly reported, this saves both the candidate and us a lot of stress).

What you need to do?

  • Read carefully every requirement on the specification;
  • Make sure you understood what is a necessary requirement and what is optional;
  • Setup a github/bitbucket repository for your code;
  • Deploy your project on a host service (we recommend heroku);
  • When you finish the project and feel it's ready, apply here!

Specifications for the project

Here you can check the requirements of the project. It's in Portuguese cause we don't want the candidate to misunderstand anything (that could lead to a final delivery that doesn't match the expectations and we'd miss the candidate only because of a misunderstanding).

Back to the Playbook

We’d love to work with you.

We've worked with a rich variety of clients. Building from simple to complex architectures. Each one with its own problems and challenges.

Let's Build Something Together

Do you need more information about Vinta?

Please contact us at: contact@vinta.com.br and follow us on Twitter.

This work is licensed under a Creative Commons License.Creative Commons License