My name is Danyang Li, a second-year master’s degree student, majoring in Computing. In October 2015, I started to look for internship programs that would give me a platform to leverage my knowledge and skills gained in the classroom, while enabling me to work in a new and unfamiliar environment for a more holistic learning experience. I am now very excited to be a part of Instaclustr’s Software Development Intern Program, an internship that met all of my predefined criteria.
It has been close to three months since I joined the Instaclustr development team and it has been a fabulous journey with lots of fun and good learning experiences. Throughout the internship, I have gotten opportunities to perform a variety of tasks and the team members have always given me lots of help and encouragement.
Getting to know Cassandra
The first few tasks I completed were writing help articles about Cassandra and other related tools. Completing this work was a good way to start, because during the process, I could learn and investigate the new techniques that I would work with at the next stage. For each article, I was taught to do research first and find out the potential best solution to the problem that I needed to address. Then, I would test the solution to make sure it really worked. If the solution passed the test, it would then be documented in an article on the Instaclustr Support portal and reviewed by my supervisor. The most impressive part is that my supervisor is very professional and patient. He not only provided enlightening feedback on the content, but also helped me correct language errors to improve the quality of the article.
After having a taste of these new techniques, I got two more tasks that allowed me to dive deeper: implementing a tool that can remove TTL from a TTLed Cassandra table, and a random sampler on Cassandra. The first step was reading the source code, which already seemed like a mammoth task. After a few difficult weeks, I finally made it. However, the most valuable thing I gained from those weeks was not the several hundred lines of code I wrote, but the insight into how code was architected in a large context. Because of these two tasks, I was able to complement my highly theoretical knowledge that the university has given me in Computer Science concepts, with hands-on experience implementing tools and features in a large project.
Agile development
Each work day at Instaclustr begins with a scrum meeting. I love that the team members share their ideas, provide second options and actively make contributions to the team’s work. I was working in two sprints following the Scrum methodology, upgrading our console and core applications in production. My team members were always very keen to provide instructions, review my pull requests and give comments. For me, it was a wonderful opportunity to learn how production code has to be a lot more robust and efficient, and must follow company conventions. Also, it is amazing to see that I could have so much impact on the products and services that affect the company and its customers.
Leading technology
At Instaclustr, I am working with the sort of technologies that people read about on the front page of the newspaper, which makes me really excited. But the thing that impressed me more, is the people here. From the playful daily jokes, to the thoughtful birthday cake on the birthdays of team members, to the warm and relaxing atmosphere in the office, it has never failed to make me feel comfortable and supported. There are no barriers to communicate and ask for help. I can go to any senior engineers’ desk directly and ask questions whenever I am in need. Most of the time, it is these great people who come over to my desk to provide help without me asking. I have never imagined that a work place could be so much like a family.
I really enjoyed my internship and time here and I do believe this internship experience will make a great positive difference to my career. I would definitely recommend Instaclustr for an internship or a job opportunity, because it is the place where people can find the combination of a great team, mission, responsibility and fun.