I sat down with Jure Bajic, our Core Software Engineer to gain a deeper understanding of the process of changing teams, what he values at work and in Memgraph.
Hey Jure, thank you for joining us! Before we jump in, can you share more about yourself - what did you do before joining Memgraph?
Before I joined Memgraph I worked in Institut RT-RK Osijek which was my first job out of college. I learned about new technologies and it was a great experience working on big projects and seeing how projects operate with a lot of stakeholders involved. But I lacked the ability to make an impact on a single project. Often, it was really troublesome to update the existing stack or even introduce new technologies. That’s when I decided to make a change and search for something more exciting.
That’s cool. So, what inspired you to join Memgraph?
Well, probably the primary reason was the fact that Memgraph develops its own product. I wanted to see and experience the whole process of building something from scratch, developing relationships with customers and developers to finally succeed and become a brand. After a couple of initial interviews, I was sure Memgraph was a perfect opportunity for me.
Wow, that is quite a motivation. Thanks for sharing that. Can you walk me through your career path at Memgraph so far? How did you start?
I began my career in Memgraph as a software engineer working on customer projects in the Solutions team. I was responsible for incrementally communicating and developing features for one of our biggest customers. Seeing the whole end-to-end development of the custom product was an amazing experience.
As I was very close to the Core product, I was also very interested in the core product development and often talked with my manager, Buda, about the details of how Memgraph works. I remember jumping in further into research about the architecture behind database systems and was impressed by it. I really liked the research part and the ideas I’ve read about. That’s when I knew that I would also like to tackle issues in developing new features in Memgraph and so I applied for the Core team.
Nice! So, what excites you most about being on the Core Team, and why?
The most interesting thing in the Core Team, as one would expect, is developing the fundamental Memgraph features. Of course, developing features isn’t straightforward since it requires a deep understanding of Memgraph’s architecture and knowledge of database systems. And to be up to speed and acquire that knowledge, it is a constant requirement to research both the old and new concepts from database system design and evaluate them in the context of Memgraph’s current architecture.
What would you say are the main differences between working on the Solutions and Core team, or dare I ask, which team is better? :)
I would say the dynamics of the two teams are quite different. Working with customers is all about understanding the customer, finding out what is the most essential thing to do to make the project a success. What’s great about the Solutions Team is that you meet a lot of new people and get different insights into Memgraph from the customers’ point of view. That makes you the person on the ground that gets to experience what people are doing and what they want to achieve with Memgraph. I’ve also had a chance to work with different technology stacks which is a great learning experience, and I’ve also had a chance to start a project afresh without legacy code which is a refreshing experience (feel free to take a look at GQLAlchemy Library on GitHub).
On the other side, on the Core Team, we need to listen to the people using Memgraph to get an understanding of the features that we build and decide if they are useful or need further improvements. Also, the development is a bit at a slower pace since there is an existing codebase that has to be understood before you can make any big changes. In reality, both teams are working together to spread graph awareness, so I don’t want to choose between the two :).
Let’s dive deeper into the transition - how did it happen, what were the conversations with your manager like when you decided to switch teams?
It was all pretty smooth, to be honest. As soon as I expressed my desire to switch teams, my manager initiated the process and I talked to the head of the Core team. As there is different technical expertise and knowledge needed to be able to contribute to the Core Team, I had to demonstrate my knowledge in C++. I went through an interview task. After the task, we agreed on the start date and that was actually it.
Keeping it simple is always best. Tell us - what are some interesting technical and creative aspects of being on the Core Team?
Some would not agree, but I would say that the most interesting aspect of the Core Team is research and development. Memgraph is written in C++ and anyone who is enthusiastic about C++ should definitely get excited about Memgraph. The codebase is up to the newest standard and is pretty neat and well-maintained - anyone can learn a lot from it.
System design geeks may be interested in the amount of information one can learn about the design of database systems when working with one. Being enthusiastic about seeing how a high-performance database has to behave and exploring different options available to achieve that, I can definitively identify as one. :)
Final question - is there anything you would like to share with somebody thinking about working at Memgraph?
I think the most important thing to take into consideration is that Memgraph is a startup, and as such, it needs people who like to take on challenges and who want to make an impact on the company from the inside out. These people are not afraid to take initiative and propose and lead new ideas into fruition. On the other hand, what Memgraph can give you is a chance to learn a bunch of new stuff and a chance to express, test, and develop your ideas. So, if you are into that and want to get your hands dirty with C++, let me know, I’d be happy to tell you more!
Thanks, Jure! That was great and a super helpful overview of what you are working on and how your transition went from Solutions to the Core team!
If you are interested in pursuing a career at Memgraph, we have several open roles on our teams and would love for you to build your career with us!
Over the course of ten weeks, we had four interns join Memgraph. They worked directly on the Memgraph product.
Learn how to connect to a Pulsar cluster, create an Art Blocks NFT database in Memgraph and analyze streaming sales