Developer Experience (DX) at Moravio

#development

What is developer experience and why it is important?

17 Jul 2022
7 min read

cover.png
Developer experience

What is developer experience?

DX (Developer Experience), is how developers as user experience a product or a tool that they use.

Normally, it refers to software. Software DX can be seen with IDEs like VSCode, or system management like Jira.

How a developer manages and has good and bad feelings about this software is what creates the whole of a DX.

A good dev experience allows users (in this case developers) to have good feelings while using the software, and as a consequence be more productive.

A set of tools and programs with good DX means developers are:

  • less frustrated;
  • have fewer repetitive tasks
  • and are more likely to stay in a team in the long term.

However, we can expand the concept of DX bringing it to the whole company as a process. Indeed, the satisfaction of a developer in a tech company depends on many factors:

  • the software used (and its DX);
  • the hiring process, the management;
  • the processes in place;
  • the work environment,
  • and many others.
Slide 4_3 - 1.svg

Starting in Moravio

The DX of a company starts from the very beginning, from the hiring process and onboarding. Having a good feeling between the candidate and his or her interviewers is something that helps carry out good relationships throughout a developer's career within the company.

As a matter of fact, the interviewing process is slightly different. The first, and not the last, interview is the cultural fit. Having the feeling of a good connection between the company and the candidate is the most important thing. Then, comes the technical part and its review. For each step of the interviews, the answers are given within a few days. This way, the candidates won't feel ghosted.

Moravio is also looking more at quality over quantity in people. Everything should make a good fit with the people working here, so once a software engineer is hired, they'll know they will enter a good work environment.

Once there is a mutual agreement on how the developer will start in the company, the onboarding process can initiate.

The first good thing to have is a checklist of all the hardware and software needed to have. The transition to a new laptop with all the needed annexed hardware (for example, MacBook USB-c adapters) is made as smooth and quick as possible.

As in many companies, there's some bureaucracy to sign for the equipment. The difference with Moravio? A really short line of contacts to customize your workstation with all you need to work productively. A monitor? A multi-port to attach to the MacBook? A standing desk? It's not up to you to buy them if this will help your work. And some swag helps with a good onboarding experience.

What now? A real Agile experience. But not just that.

You have been onboarded, so what will you be working on? Moravio has many projects. It uses different tools. Mostly you'll be following an industry-standard Scrum methodology, to begin with, but with much more direct contacts than a big corporation.

To begin with, teams are very small. Communication is easy, there are few managers in the whole company and the point is not micro-manage people but let them do their work.

The main used work-tracking system is Jira. It is well-known, full of plugins to facilitate the life of developers, it's stable and powerful. Jira is used across the company in many projects. Having said so, the management is always trying to find ways to make life easier for their colleagues, whether finding better ways to use some tool, or testing and implementing some new one.

We follow an agile methodology, but without making it an excuse to overload the workers because they "have to be flexible". If you work with some client, Moravio is backing you up in not having not wanted overtime, or continuing change of requirements. Flexibility is good, but not at the cost of ruining a life.

An Agile methodology experience meets the demands of having improvements and changing priorities according to the needs. Processes are documented in Confluence, and they are not so many, so they're easily accessible.

Normally, in a team, there are the well know Scrum meetings like refinement or grooming, Sprint planning and retrospective, and others, but keeping them at bay. The point is not to have half of the working week in meetings.

Another interesting aspect is that not everyone works on the same project, and therefore uses the same tools. Sometimes clients have different internal systems to work with. For example, a different tracking hours system; another CI/CD toolset, or even a ticketing system.

All this brings a wider perspective on what Moravio can use for itself. This shared knowledge (not touching, of course, the private and sensitive client data) helps contribute to having a better, easier way to handle tools in the company.

It doesn't stop there

Every project allows a developer to gain experience. But the knowledge can't stop there. There are two main ways to deepen - or widen, depending on the case - a developer horizon. Both ways are important for a good dev experience in a company.

The first one is nowadays a classic within IT companies: offer a budget to spend for education, whether through books, courses, or conferences.

The second one is more peculiar. Offer a 1-hour meeting (called Level-up) every Friday to let somebody inside the company present a topic of interest.

That means discussing various topics:

  • presenting what we do inside a project,
  • explaining unit tests,
  • focusing on some aspects of programming
  • or user testing some applications.

Not only it's useful to learn a little about all these aspects, but it also helps each one who is presenting to develop soft skills for making a good -hopefully, not boring - and accurate presentation for the colleagues. And it incentivizes discussion and knowing what each other is doing in a normal working day life.

agile methodology experience

Relationships: how to get the best developer experience

A good company culture, and therefore a good developer experience, is also reflected by how the relations between developers and managers work.

As considered before, the management in Moravio doesn't interfere too much in the normal work. Managers help achieve a balanced way of working each week. They help communicate with the client to set reasonable goals, and workloads that are not too heavy on the developers' shoulders and see that everybody meets the set requirements.

This way, developers don't have to put too much on their plate, or too little.

Dialog and communication are always the most relevant aspects of this field. Transparency on both sides (developers and management) surely helps a lot. In Moravio these qualities are important, as one has to feel free to express themself without concerns.

From a mental health side, a manager who has your back during the negotiations or discussion with the client has many more advantages than having to fight back all the time and meet impossible requirements.

Depending on the project, there can be weekly or more/less often meetings with the managers, but they're always open to hearing the developer's voices.

Every couple of months, too, there's general feedback towards the company, in which one can express their needs in a more official and general way.

Twice a year, there's employee feedback. It's called 360" because it is multidirectional. Normally, a developer writes a self-evaluation, and then they're evaluated by their superiors, whether managers or tech leads.

Instead, 360 feedback means that in the first place you'll evaluate your colleagues and managers. And they will evaluate you. This will give a unique perspective on the person. And it will help find the factors that will help improve his or her developer experience.

custom software development company

Conclusion: the dev experience

Having the best developer experience is very important and it’s taken seriously in Moravio. Being a small company, it's very easy to know each other and get to know what each and everyone is working on. It's not complicated to reach people for any need, and this brings satisfaction to work with.

Good work and collaborations are rewarded. Everything that brings value to the company, or to the people, is appreciated and put into action. From onboarding to everyday working life, all aspects bring a more relaxed and interesting way to work, with no issues in communicating and expressing each point of view.

In Moravio you won't feel to work in a small team within a company. You will feel to work all in the same team.