Cracking the Code: Insights on Open Source from Enkhtuvshin Narmandakh

This time, we had the pleasure of interviewing Enkhtuvshin Narmandakh, one of our most talented and earliest members of the erxes family, who currently holds the position of Senior Backend Engineer. During our discussion, we delved into his unique insights and experiences in the open-source realm.

Could you please start the interview by briefly introducing yourself?

I graduated from the National University of Mongolia with a bachelor’s degree in Software engineering in 2018. I got an opportunity to gain practical, hands-on experience in a professional setting doing an internship at New Media Group in 2017 when I was in my 3rd year. A year later, New Media Group started developing a new product, “erxes,” which grew into today’s erxes Inc. Officially became a permanent employee at erxes in 2018.  

How did you get involved in open source? Could you share your experience working on open source?

My experience with open source is closely tied to my work with erxes. When I joined erxes, I had not gained prior knowledge or experience working with open source. However, as we began utilizing open-source tools and technologies, I quickly realized how beneficial it can be for developers.

Although open source is widely used globally, erxes was the one and only open-source platform based in Mongolia when we began. Therefore, my experience working on erxes has been a unique and valuable opportunity to contribute to developing open source in our region.

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

The advantages of open source are numerous, with one of the most significant being the ability to share work and updates with the public. This sharing of source code allows the public to assess and contribute to resolving any bugs, ultimately improving the overall quality of the project. Open source also provides an opportunity for people to learn from one another. For instance, developers can create projects similar to existing ones and learn from their coding.

One limitation of open source is the challenge of monetizing projects. However, there are alternative approaches, such as securing investors, working on private enterprise projects, and implementing a SaaS format. Another challenge developers face when working on open-source projects is writing their code in a way that is understandable to everyone.

Therefore, developers must possess high-quality coding skills that allow their code to be understandable to outside developers. In essence, if a code works but is not understandable, it cannot be considered a successful open-source project.

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

To maintain motivation and foster an innovative mindset, seeking support from your colleagues when you encounter obstacles is essential. If you find yourself hitting a wall, don’t hesitate to reach out to your teammates for help and collaborate to find a solution. 

It’s crucial to recognize when you’ve been stuck for too long and need to pivot your approach. Instead of persisting with a failed strategy, take a break and shift your focus to something else.

 When you return to the task, try approaching it from a fresh perspective to find a new solution.

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?

The trend towards open source in the tech industry has gained momentum in recent years. Many companies recognize the benefits of sharing their source code with the public and fostering a collaborative development environment. As you mentioned, Twitter’s decision to post the source code of its recommendation algorithm on GitHub is a significant example of this trend. I believe this trend will continue to grow, and we will see more and more tech companies opting for open source models. 

At the end of the day, open source is about growing together, creating a win-win situation for both projects and contributors.

What tools or resources do you find helpful for improving productivity in everyday life as a software engineer?

As a software engineer, I find several tools and resources helpful for improving my productivity and growing my skills. One of my favorite resources is Reddit, where I subscribe to subreddits related to my field. By doing this, I can gain insights and information, participate in discussions, and connect with others who work in the same area. It’s a great way to stay up to date with the latest trends and technologies in the industry.

In addition to these resources, practicing algorithm questions is crucial for improving as a developer. There are many online platforms and games that offer exercises for improving algorithmic thinking, and these are a great way to stay sharp and hone my skills.

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.