Can you brief us about your scope of work during this internship?
During my internship at ANB Systems, I worked on architecting a full-stack API service and front-end Data Lake infrastructure for our internal Machine Learning projects. I also engineered several Machine Learning use-cases for our services, generalizing and optimizing our internal Artificial Intelligence operations and developing a tool that tracks the data more meticulously for better business insights and data collection. My work was primarily software development using NodeJs, Flask, VueJs, AWS, and MongoDB, but I used and developed several independent libraries throughout my internship. I also completed tasks in deployment operations and automated QA integration testing.
What were your key roles & responsibilities and how did you work towards achieving them?
Throughout the internship, my roles and responsibilities remained primarily on the software development side, but my tasks varied tremendously. Some weeks, I worked on developing Machine Learning algorithms for Data Security, Randomization, and Document Recognition. Other weeks, I was developing the API Service that becomes our internal Data Lake Architecture. I also did a substantial amount of front-end development for the User Interface of this architecture. To achieve these responsibilities, I worked tirelessly to research, learn, read documentation, and view use-cases of these services since many of them were new to me.
Among your many tasks, what is the one that you liked working on the most?
I most enjoyed working on the backend development in Flask and NodeJs for our API Services. Developing Rest APIs gave me a newfound perspective on the communication between internal services. Getting to develop an API that serves complex functions, stores relevant data, extracts insights and analytics from that data, and then sends information back and forth to other services taught me a lot about the elegance of enterprise software and data transfer.
What was the biggest challenge you came across and how did you overcome it?
Among my biggest challenges at ANB Systems, Integrating Machine Learning into our services was one of the most challenging. Because of the variety of algorithms and use-cases of those algorithms, producing the most productive ML model for specific business problems was a difficult feat. I overcame this issue by approaching leaders in AI, both in and outside of ANB Systems, and this mentorship taught me much about the importance of data-centric Machine Learning in Artificial Intelligence and Performance Analysis. For example, the same Text-Classification Algorithm that I developed for labeling certain stand-alone text could also be used to labeling image-extracted text if the input data supports this and is properly vectorized into the ML training. This challenge helped me grow as a Computer Scientist and reminded me how much I have to learn about the beauty of AI and ML operations and the significance of data in these operations.
What new skillsets and/or knowledge did you gain during your time with ANB?
There are several specific frameworks and technologies that I learned how to use during my internship. The most impactful knowledge I gained was in the inner workings of enterprise software mechanics and lifecycles. I learned at ANB Systems that there are dynamic considerations and integrations that need to be planned and documented before software development can begin. From architectural support to large-scale CI/CD and deployment pipelines, the considerations that need to be made and integrated into software as it is developed are endless and fascinating. As a Computer Science student in my undergrad, I feel that I rarely get a chance to learn insights like this as applicable to software engineering in practice.
What do you feel are the highlights of working at a ‘smaller’ tech company?
A substantial benefit to developing software for a smaller tech company is added responsibility and coverage of your work. I felt like I was doing work that affected real-time progress in our business endeavors, and people relied on me to complete tasks. This was an incredibly valuable experience for me, coming into my internship expecting a smaller role and less client-facing, challenging projects. Another added benefit is a more defined support system. A smaller team means less confusion about whom to reach out to when facing roadblocks, and I found that the learning curve was much quicker because of the resources and support that ANB Systems provided me as an intern in the form of real help, guidance, and mentorship.
What are the key takeaways from your exposure to the energy efficiency industry?
Working at ANB Systems reminded me that every industry, regardless of where and when it started, can be supported and improved by integrating software into its processes. Using valuable data insights and ML Operations, ANB Systems is leveraging the power of software to add value to the energy efficiency industry and our clients.
How did you find our company culture and the support you received from your colleagues?
Working primarily independently in a small team was a great experience for me because I always knew where I could reach out if I had questions or roadblocks. The engineers and managers at ANB Systems are incredibly knowledgeable and equally helpful in answering questions and guiding me to understand the software mechanisms behind the bug or roadblock I faced, helping me avoid getting the same problem in the future.
How easy/challenging was it to collaborate remotely with COVID-19 restrictions in place?
The short time that I worked in person during this internship gave me a valuable experience in relationship-building, mentorship, communication, and support. But in terms of the software-related work I did, my managers and co-workers do a fantastic job being efficient with online work and being available. At the end of the day, a remote experience is what you make of it, and after this internship, I feel more prepared to be productive in any format in the future.
How much did the internship match your expectations?
This internship more than matched my expectations. I never expected to be thrown into the deep end so quickly with such valuable and challenging work. Thus, the level of growth I feel I faced during my four months at ANB Systems is astronomical, and it excites me to know that I can now raise my expectations about what software internships can provide for eager students of the software and technology industry like myself.
How much do you feel your internship will help you in your career going forward?
Besides the specific technologies I learned, my internship at ANB Systems taught me how to ask the right questions and find the relevant information or documentation to build something spectacular using software. My internship also taught me that when the answers run out, the answer is to be creative and solve the problem first! I believe these are vital traits for a qualified software engineer in the industry. I hope that these characteristics will help me become a more efficient, effective, and innovative engineer moving forward.