Java developer by day, software enthusiast by night
Nacho from the Dynatrace Barcelona Lab eats, drinks, and breathes software development.
What’s your name and what do you do at Dynatrace?
My name is Nacho Cougil Jares, and I joined Dynatrace in November 2019 as a Senior Software Engineer.
How did you start at Dynatrace?
I was working at a consulting company, and I was a bit tired of what I was doing, so it was a lucky chance when Dynatrace recruiter Alex reached out to me for non-Dynatrace related things. After spending some time talking, we came to the topic of Dynatrace and I got interested. The idea of building software that watches at what’s happening in another software was very interesting. I had never done that before, and I wanted to learn about this new domain. So I met the Lab Lead Peter and my Team Captain Marco and did an interview. I either did something wrong or something right, because here I am now! 😉
What was your career like?
I’ve worked in the software industry for more than 25 years. To give you an idea of how long that is: I started programming with java 1.2 😅
I’ve worked in companies in many sectors: energy, e-commerce, startups (some unicorn) and technology consultancy companies. My focus has always been to build software, good software. I am always concerned with questions like “how does it work?” and “how can we make it better?”, and I always try to instill these kind of concerns to my colleagues.
I was awarded with the title of Java Champion in February 2022, which is an awesome achievement for me after so many years of working with Java.
I heard that you also have a “second job”? What does that mean?
Outside of Dynatrace, I’m also the founder of the Barcelona Java Users Group (JUG). It’s my second job because there’s a lot of work involved in organizing a community.
A long time ago I noticed that there was a need for a space for Java developers to learn from each other. You can always learn on the internet, but it’s better to just sit down with somebody and share how you did things and have conversations. Sharing the pain with others, so to say 😅. We started, (as all good things do 😉) in a bar, talking about work and other things. Then we started organizing talks regularly (sometimes we have even had more than one event per month) with other people. Now, more than 10 years later, we have 1800 members. A lot of people know about us, and people even come from outside Barcelona to share talks in the JUG. We have been doing it remotely as well, but we are trying to get back to in-person events. We also organized a course for kids to teach them how to start with coding and programming.
In which team are you working in at Dynatrace?
I’m in Team Altair as a senior software engineer. We develop the backend of Session Replay, which is the feature that captures the things that you are doing when you are browsing or using an app. We recall the data and our Dynatrace clients can replay the end user’s actions, so they hey can see if they clicked on something or went to another page.
I’m also involved in various activities like the Code Quality initiative. We meet to discuss things, share articles, and try to get people engaged to improve the way we do things and write code.
How does your team organize the work?
We are not extremely structured; we want to encourage people to work in the best way that works for them. We are agile, we prioritize the stories based on the conversation with our PM and then we refine them before implementing them. The goal is to find an agreement on what the story means and how we will proceed when building the next feature. We write down all the questions we have and try to minimize complexity as soon as we can. Once we have that, we add it to the two-week sprint. We are open to communication and sharing with others.
We normally try to do pair or even mob programming, which may seem strange, especially in remote times. But it’s already been proven that by having two people look at the same problem, you can get better ideas, have immediate feedback and get better results. I think pair programming is one of the best practices we as engineers should practice. For us, it’s working well because in the end there are other benefits, like knowledge sharing. It doesn’t matter if somebody leaves or joins the team, more people will have more knowledge. We are proud of this.
I’m also very passionate about using TDD (test-driven development) and refactoring code in my everyday work.
What is your team working on at the moment?
We are finishing a new feature called “User Session Custom Metrics” that will help clients extract KPI metrics from their user session data and retain these metrics for longer periods. Based on the info collected in these metrics customers will be able to create their own charts and alerts. The feature is already being tested by some customers, we have been collecting feedback and improving the functionality based on that feedback and it will be live really soon 😉
What’s your favorite thing about working at Dynatrace?
Trust, transparency and responsibility are the things I like the most. And work-life balance.
Right now, it’s easy for me to manage my personal and work life. Nobody’s worried about it if I have to leave the laptop for a longer amount of time.
This may be happening because my team is a bit different from others 😃 : nobody is looking at what you are doing every single day. We are more focused on responsibilities. We just check if we did what we said we would do in the sprint, and if we didn’t do it, we analyze why it was not possible without any judgment just to improve and try to adjust better to the unpredictable things that came up.
What do you like to do in your free time?
A lot of things. 😉
Does organizing a conference count? I am also the co-founder and organizer of the JBCNConf — The Java and JVM Barcelona Conference , the conference that has become the biggest event in Spain related with Java and JVM technologies. We organize this yearly, and it takes up a lot of my free time (but a lot) along with the organization of the Java community.
I also like to go to the mountains (I used to run mountain marathons in the past) and calm down after a week of work. Of course, I like to learn: starting crazy ideas or projects from scratch, trying new technologies and understanding how they work or just trying to solve problems in different ways to improve my knowledge in different areas and improve my skills related to Extreme Programming (XP).