Hero of March 2020

iDempiere enthusiasts share many examples of how iDempiere changed people’s lives for the better. Here we present you our hero of the month for his contributions during the month of March.

Among his contributions this month, Diego developed the ability to add the search bar in the toolbar and filter records directly from the toolbar with previously saved filters without extra clicks and a change in the look and feel of windows with the new mandatory fields with a red border.

Additionally, Diego was active in the pursuit of new initiatives and participation on the marketing committee, he pushed the video tutorials initiative on the forums and created a playlist on the official YouTube channel. 

Diego Andrés Ruiz Gómez

Developer and consultant, BX Service GmbH, GermanySystems Engineer, Universidad Distrital, Bogotá, Colombia

Diego Ruiz is a systems engineer with a high sense of teamwork and experience in ERPs, software development, and DB Management. He has been involved in iDempiere since 2012. An active member of the iDempiere open source software community, sharing its knowledge to provide high-quality code to the project. He developed a plugin that implements a Kanban Board to iDempiere, easing the task of controlling processes and improving performance, a plugin that has been highly accepted by the iDempiere users.

How did you get into programming?

My father is a systems engineer, so I was exposed to this world from an early age. I developed my first lines of code when I was 12 in a programming language called Informix-4GL. When I graduated from high-school I decided to go to the university and get a degree in software engineering, where thanks to my basic programming professor, my programming interest grew to become a passion.

How long have you been part of iDempiere?

My first commit was in 2012 with a very basic change in the core to allow reversals to add a ^ at the end of the Document Number instead of consuming a serial number each time.

How and why did you get involved with iDempiere?

I contributed my first commit as a student, it was a great way of practicing what I was learning in real-world software and not just coding assignments that were never meant to be used. Then I started reading parts of the code as a way to analyze how the theory can be applied in big projects such as developing patterns. I got some freelance jobs during my studies to solve two tickets. 

I liked the idea of contributing code that was going to be used for many companies. Therefore, I decided to focus my bachelor thesis on adding new functionality to iDempiere. That’s how the Kanban Board was born, my greatest contribution to the project until now. 

Luckily for me, the Kanban Board was a great success among the community. It couldn’t have been possible without the architectural evolution that the project had compared to its predecessor. The fact that I could develop a whole new module, extend iDempiere and create functionality without getting my hands on the core removed bottlenecks, dependency on peer reviews and, gave me the freedom to work on my concept as I wanted without restrictions. 

What is your experience in other OS projects?

I was part of the Linux Group in the university, at that moment my life changed, I used to be a loyal Windows user, especially because I used to game on my PC all the time. After being part of the Linux group and discovering the world of open-source, I never looked back.

Is there something that makes you passionate about open source in general and iDempiere in particular?

Since I discovered it, I have always been a fan of open-source philosophy. I like the idea of freedom, especially free knowledge. I believe that’s the true path for growth. Society and almost every field would evolve much faster if the knowledge was open and shared with everyone. Right now we see researchers working on the same topics in different places, getting to the same conclusions because the access to information and research is hidden most of the time. I can only imagine how far we could get if findings from one team were the starting point for the others, instead of having to start from scratch or pay absurd amounts of money to have access to that information. Those resources could be much more beneficial if they were focused on improving the existing knowledge, rather than paying to access it.

Particularly, I like iDempiere for many reasons, the enterprise world is, for me, one of the most aggressive environments out there. Companies tend to ruthlessly compete against each other. That is why seeing competitors co-exist and cooperate in harmony in iDempiere is so interesting to me. 

However, I think the main reason why I am passionate about iDempiere is that I find it to be of great quality, there are many people in the community with amazing knowledge eager to help and share it. For example, every peer review from Heng Sin teaches a lot with just a few words. I also find the community, in general, respectful and calm, which I appreciate. I haven’t seen big fights or community members going against each other. I think those are the two main reasons.

What does your typical day look like?

On a typical weekday. I wake up and read the news, get ready and sit on my laptop, check my mail and read the title of the posts on the idempiere forum, if some title caught my attention I open the post and read the whole text, if I can help I reply otherwise I mark it to get a notification in my mail when somebody answers. Then I start working, my work usually consists of developing things for iDempiere, it can be a bug, a feature, a plugin … When I finish working, I usually spend between 30 to 60 minutes doing something for the marketing team, thinking about the next meeting’s agenda, adding something to the website, checking on previous initiatives, looking for interesting external resources, etc. In the night, I go to the gym or to basketball training (depending on the day), when I’m back I usually watch a movie, TV show or read a book (depending on the mood :D).

If you have your customers for whom you implement or customize iDempiere, what are they like and what do they typically want?

Usually, if there’s a bug or something is not working as they want to or expect, that’s the top priority. Make all the existing things work as they are supposed to, once no major bugs are affecting their daily operations, they usually start requesting new features, they can vary from “my business needs this” to “I would like to have this eventually”.

Answering what they are like is hard, no customer is like another. For instance, some truly share the open-source values and are willing to wait a bit longer or pay a bit extra to make something with value for the whole project. Some, for different reasons, are just focused on making things work for them, both approaches are understandable, but personally I always prefer to work with the first group.

What are some of the things you wish to improve in the iDempiere ecosystem?

Software-wise? I would like to remove some existing coupling in the code, especially the model-view layer could be much better and should be completely independent, in my opinion. However, I know this is not easy and needs a lot of work, just part of my wish-list :).

Community-wise? I wish the community was more participative, we rely on a ground community, members that are always there, who are known, who are constant, but there are many hidden members that you find when you see the stats of the website traffic or when a poll is conducted, you see many unfamiliar names among the respondents. Everyone can participate, with a question, with an answer, with a bug report… Sometimes I find or read bug reports that I can’t stop thinking: “This cannot be the first person who runs into this error”, which makes me think people could participate a lot more. 

Another example, last month the leaders asked for help to test two servers with changes meant to be part of the next release, the response was not as good as you would expect based on the number of people in the community. Contributing to tests on those servers was relatively easy: open a link and use iDempiere as normal, notify if you find any strange behaviour or say “it looks fine” if you didn’t. It is beneficial for everyone to help with those tests, if the potential problems are caught now and not right after the release, everyone is safer.

How does it feel to win a Hero of the month title?

It is really an honour, I was surprised when I saw the results. I was sure that Nikita was going to get it, I voted for him, the Telegram bot is amazing. So it was a surprise for me but I am happy about it, it actually makes me want to work harder for the project and do more.

What would you like to say to other community members? Any advice or suggestions?

I would like to encourage everyone to participate actively, every contribution counts and helps the project to get better. If iDempiere gets even better we all benefit from that.