I’m a Middle Developer at App Masters, and have been participating in projects with remote partners, keeping the high standards for every new project we start. Each project has different requirements but within all of that, some things never change, and I’m here to tell you some of them.
Technologies that matter
The world is full of frameworks, services, and architectures that it’s hard to keep up.
We focus on working with technologies that impact our performance and the final product’s, positively, of course. After a reasonable amount of projects published, we acquired enough experience to know what helps and what doesn’t. And we try to work closely with our client to figure out what is needed for the project.
Communicating in all steps
Communication is key, even more, if we’re talking about remote work. It is more likely for the software to succeed if people communicate since the beginning of the project than to just send e-mails every month about the progress.
We can work closely with the client by interacting with the existing team designated for the project, or train them if need be. Our team is used to communicate directly with the client every day.
Doing dailies together, helping with an issue, talk about why or how things are done. Any help to make the project succeed is appreciated and if you have a team, we have no problem working together.
Manage the project however you want
You might think that since we have our team, we would want to manage the project all by ourselves. Don’t you worry, if you prefer, you can manage the entire project using the process and software that you and your team are already used to.
The repository is sacred
Our policy is to always keep the repository clean since the beginning of the project. And we expect that from our client too, when we share the same code base.
The repository is the only source of truth of all that’s being done. Keeping it concise, with explanations written in readme files, wikis that document specific use cases, making sure the code is not pushed to master with any errors is the duty of a developer. And we are pretty strict about that.
We can learn anything
Some projects we worked on required us to change our stack to something that we weren’t accustomed to. Be it a new framework or service. We can quickly learn the tool and work with it within hours depending on the technology.
We are pleased to learn what is needed and happy to add it to our list of knowledge. Evolving is important and we use this as an opportunity to make better applications. We will do the necessary work, do the research, and make sure the team is professional in most matters when interacting with the client.
Friendship and partnership
We are people after all. A joke here and there doesn’t hurt anybody. We like to laugh together, share news about our country, know our remote teammates, talk about the dev world… You name it.
Commitment with the delivery
The delivery date is important, and every decision we make is always in favor of keeping that date real.
We make sure that the client can feel confident walking away from a project and it would still get done to the best of our ability, and use sound judgment to know what is next.
In the end, we are always trying our best to make the project the best possible. After each one, we’ve evolved and learned more and more. And we can’t wait for the next one to teach us new things.