A Journey into Open Source Development: Insights from a Software Engineer at Jina AI, Delgermurun Purevkhuu

We had the opportunity to interview Delgermurun Purevkhuu, who was formerly erxes family member, to discuss his involvement and experiences in the open-source industry. Currently, he is working at Jina AI as a software engineer, which is a top multimodal AI platform, providing infrastructure and applications for neural search, generative AI, and creative AI.

Can you kick off the interview by telling us about your professional journey and how you got involved in open-source development?

I am currently working at Jina AI, a machine learning startup based in Germany. Prior to that, I worked at New Media Group, where I joined with a group of friends with a shared goal of becoming great software engineers, one of them actually is your previous interviewee Boldkhuu Batbaatar. During my time there, I contributed to the development of erxes. While I wasn’t there for the company’s prime, I am proud to have played a role in building its foundations.

About open source

My journey into open source began when I started working on erxes, which was built on the MeteorJS platform. At the time, MeteorJS was a relatively new platform, and I saw an opportunity to contribute by creating packages and making contributions to projects. 

Through my contributions to MeteorJS, I began to gain recognition from the open-source community, and developers from the United States and Europe who used the projects that I contributed, reached out to me to collaborate on their projects. This led to exciting opportunities to work for some big tech companies, which helped me grow as a developer in the open source community.

Over time, my contributions to open source and my experiences in the community helped me land my current position as a software engineer at Jina AI. During the hiring process, I was able to showcase my previous work and contributions on Github.

Overall, my involvement in open source has been a rewarding experience that has helped me grow as a developer and connect with other like-minded individuals in the tech community.

What do you think are the key benefits and limitations of open source space, both for developers and end-users?

Benefits 

Open source has become an essential part of the IT industry, with almost every project or company using open source in some way. The availability of vast libraries of open source code can greatly improve the efficiency of both developers and end-users. The right resources can save time and workforce, leading to increased success for businesses. Furthermore, open source can foster collaboration and innovation among developers, resulting in better quality software.

Limitations

One of the main limitations of open source is the difficulty in finding reliable projects to build upon. While there are many excellent open source projects available, not all of them have the same level of support and development. If developers choose to build on an open source project with minimal support and many bugs, they may encounter problems that could have been avoided with better research. Additionally, because open source projects are maintained by a community of developers, there is a risk that key contributors may leave the project, which can lead to disruptions or even abandonment.

However, these limitations can be addressed by carefully selecting the right open source projects to work with.

By doing proper research and choosing well-supported and reliable projects, the benefits of open source can be fully realized without any significant drawbacks.

How do you see the future of open source software evolving, and what role do you think it will play in the tech industry as a whole?

I believe that the open source market and the number of projects using open source will continue to grow in the future. However, from a developer’s perspective, monetizing their open source project and earning a sustainable income can be challenging. Often, large corporations use open source projects without providing any financial support or compensation to the developers who contributed to the project’s success.

Fortunately, there are companies emerging that provide open source models that offer developers opportunities to earn income while also contributing to the open source community. One example of this is erxes, which has made its core codes open source and available for free while offering paid products and services.

I am hopeful that more such monetization opportunities will emerge for developers, providing a sustainable income while also allowing them to continue their passion for creating and contributing to open source projects.

What recommendations and advice would you give to fellow tech professionals to maintain motivation and foster an innovative mindset? 

For individual developers, contributing to the open source projects they use or are interested in is an excellent way to grow their network and improve their skills. One can contribute by identifying and fixing small bugs, or even fixing spelling and grammatical mistakes in the documentation. Active participation in the community, such as answering questions on forums or participating in discussions, is also important.

For rookie programmers and developers, it’s important to recognize that learning is a never-ending process. Every day presents a new challenge, and there will always be new things to learn.

Overcoming obstacles is an essential part of growing, and embracing this mindset will help you develop continuously.

Keeping oneself up to date with the latest developments is also important. One can follow key stakeholders, subscribe to newsletters, and read news articles to stay informed. However, it’s essential to take action and not just observe. Trying out new things is how one grows, and having a growth mindset is crucial in achieving success in the open source community.

During our conversation, we touched upon Elon Musk’s recent call for a six-month halt to all “giant AI experiments.” 

As a software engineer working in an AI industry, I believe that we should continue developing AI while also having discussions about the direction we take with it. It’s crucial to consider ethics and address issues such as bias to create better products.

Although it’s important to have discussions and debates about the use of AI, I don’t think it’s possible or practical to stop its development. AI is being used every day, from decision-making algorithms to search engines like ChatGPT.

As with any technology, it’s important to have principles and ethics in place to guide its use, but completely halting its natural growth and development would be counterproductive.

Instead, we should focus on ensuring that AI is used responsibly and ethically, while continuing to make progress and improvements in the field.

Are there any tools or resources you find helpful for improving productivity in everyday life as a software engineer?

I use several tools and resources to improve my productivity. In addition to ChatGPT, I also use the Anki App for memorizing information.

I find it helpful to read weekly newsletters, such as Node Weekly, Hacker News, and Programmer Weekly to stay updated on the latest industry developments.

For aspiring software engineers, I recommend using English resources whenever possible, as there is a vast amount of information available in that language. Listening to podcasts during free time is also a great way to use that time more efficiently.

Even if you don’t understand everything, listening to podcasts related to your area of interest can be beneficial. Some of my favorites include ChangeLog, Practical AI, Founders Talk, and Compiler by Red Hat.

It’s important to remember that working for a company with an open source core is not just about salary. It’s also an opportunity to expand your network and increase your exposure in the open source community. So keep coding and keep grinding!

Thank you for taking the time to chat with us today. It was great hearing your insights and experiences. We are sure that our readers will find this interview informative.