Canonical (Written Interview)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Canonical (Written interview)

Arsh Guleria

Web engineering experience

What skill or knowledge have you acquired in the past year that has been particularly
helpful? What motivated you to learn it? What has the impact been for you and your
team?

In the past year, I've embarked on a journey of continuous learning, acquiring valuable skills
and knowledge that have greatly benefited both myself and my team. Motivated by my
passion for technology, particularly in the realm of AI and ML, I delved deeper into various
aspects of these fields. During my university days, my specialization was in AI and ML,
where I honed my skills in Python and frameworks like Pandas, NumPy, and Matplotlib. This
foundational knowledge paved the way for my exploration into advanced topics such as
TensorFlow, OpenCV, and image processing.

My internship experience at GoalBegin Technology provided me with invaluable real-world


exposure, where I developed an Asset Management tool for Equinix utilizing my AI and ML
expertise. This opportunity not only allowed me to apply my skills in a practical setting but
also taught me the importance of effective project management and collaboration.

During my tenure at Cogoport, I transitioned into the realm of web development, learning
JavaScript, TypeScript, and React while working on various projects under the guidance of
experienced mentors. It was here that I gained hands-on experience with tools like Docker,
AWS, and Jenkins, as well as delving into concepts like CI/CD and microservices
architecture.

One project that stands out during my time at Cogoport is YAAS, where I led the integration
of an independent authentication microservice. This initiative resulted in a significant
reduction in login/signup times, showcasing the direct impact of my contributions on our
platform's performance by reducing the login/signup time by 5ms.

Despite facing challenges, such as the unexpected layoff from my previous role, I swiftly
adapted and embraced new opportunities. Joining a startup in its ideation phase allowed me
to leverage my diverse skill set, from frontend development using React and Vue to building
core products with Flask, Python, and OpenCV.

Overall, my journey over the past year has been characterized by a relentless pursuit of
knowledge and skills, driven by a genuine passion for technology. Each experience has not
only enriched my own professional growth but also contributed positively to the teams and
projects I've been a part of.

Describe your experience of web programming - JavaScript, Typescript, React, CSS


and Python in particular.

My journey into web programming began during my third year of University, where I worked
on the project Scripto where I used React to make a website where directors and producers
can connect with script writers to find scripts for their movies, web series, etc.,during my final
year I had the opportunity to intern at Cogoport. Here, I immersed myself in JavaScript,
TypeScript, React, and CSS, undertaking various projects that significantly expanded my
skill set. Notable and impactful among these was the creation of the shipper/consignee page
for Cogoport's CRM dashboard, a project that allowed me to apply my knowledge in building
user-friendly interfaces and enhancing workflow efficiency.

Another pivotal project during my internship was the development of the login/signup page
for Cogoport's web app using JavaScript. This project was particularly significant as it served
as the user's first interaction with our platform, emphasizing the importance of creating a
seamless and intuitive experience for users.

Upon transitioning to a full-time role at Cogoport, I took on the challenge of leading the
integration of an independent authentication microservice, known as YAAS. This endeavor
resulted in a significant reduction in login/signup times, showcasing the direct impact of my
contributions on our platform's performance. By leveraging my skills in JavaScript and
TypeScript, I was able to implement innovative solutions that optimized our authentication
process and enhanced user experience.

My journey continued at Neonimble, where I further expanded my expertise in web


programming. Initially, I developed the company's landing page using React, demonstrating
my proficiency in creating visually appealing and responsive web interfaces. Additionally,
while working on Neonimble's core product, I utilized Python to develop the backend logic
and collaborated with the team to create a user interface using the Streamlit library. This
experience provided me with a comprehensive understanding of web development, from
frontend design to backend implementation, and reinforced the importance of leveraging the
right tools and technologies to deliver robust and efficient solutions.
Describe your experience building large systems with many services - web front ends,
REST APIs, data stores, event processing and other kinds of integration between
components. What are the key things to think about in regard to architecture,
maintainability, and reliability in these large systems?

During my tenure at Cogoport, I had the privilege of contributing to the development of


large-scale systems encompassing various components such as web front ends, REST
APIs, data stores, and event processing mechanisms. One of the key projects I was involved
in was the integration of an authentication micro-service, where I spearheaded the
implementation of a JWT token system. This initiative not only enhanced user experience by
providing seamless authentication but also significantly reduced server-side session storage
overhead, contributing to overall system efficiency.

I believe In designing large systems, architecture must prioritize modularity, scalability, and
fault tolerance. This entails adopting a microservices approach for flexibility, employing
horizontal scaling techniques for scalability, and implementing redundancy and failover
mechanisms for reliability. Maintainability is ensured through clean, modular code,
comprehensive documentation, and automated testing, enabling efficient updates and
troubleshooting. Proactive monitoring and alerting further enhance reliability by detecting
and addressing issues promptly, ensuring uninterrupted service delivery.

Describe any experience you have with Flutter.

While my primary focus has been on web development technologies like, React and Vue, at
my current company, Neonimble.AI, I've embarked on a journey to explore Flutter due to
project demands. While I haven't had the opportunity to work extensively with Flutter at an
industry level yet, I'm eager to delve into its potential in cross-platform app development.
Given its versatility and growing adoption in the industry, I see Flutter as a valuable addition
to my skill set.

Software engineering experience


What kinds of software projects have you worked on before? Which operating
systems, development environments, languages, databases and frameworks?

On a professional level, my projects included the following:

Project: Neonimble’s Core Product Development


Description: Developing a B2B product aiming to revolutionize the physical wellness industry
through AI vision-based tools, alongside designing and developing a responsive website for
Neonimble to enhance its online presence and user experience.

Operating Systems: Linux macOS

Development Environments: Visual Studio Code

Languages: Python, JavaScript

Frameworks: TensorFlow, Flask

Databases: Postgres

Other: Docker, Heroku, BitBucket

Project: Neonimble’s webpage

Description: Designed and developed a responsive, user-friendly website for Neonimble,


enhancing the company’s online presence and user experience

Operating Systems: macOS

Development Environments: Visual Studio Code

Languages: JavaScript, CSS

Frameworks: ReactJS

Other: Firebase

Project: YAAS - Yet another auth scope

Description: Led the front-end integration of an independent authentication micro-service


(YAAS), implementing a JWT token system and enhancing user experience.

Operating Systems: macOS

Development Environments: Visual Studio Code

Languages: JavaScript, TypeScript

Frameworks: React

Other: JWT, Authentication microservice


Project: Cogoport’s App Login-SignUp Page

Description: Created the Login and SignUp page for Cogoport's web app from scratch,
including flows like forgot password, OTP login, etc., and contributed to the frontend
development of a consignee assignment tool within the CRM system.

Operating Systems: macOS

Development Environments: Visual Studio Code

Languages: JavaScript

Frameworks: React

Project: Shipper/Consignee Page

Description: Frontend development of a consignee assignment tool within the


CRM(Customer relationship management ) system, empowering sales agents to efficiently
manage shipments and streamline the consignee allocation process.

Operating Systems: macOS

Development Environments: Visual Studio Code

Languages: JavaScript

Frameworks: React

Project: Asset management tool for Equinix

Description: Developed an Asset Management tool from scratch for Equinix, facilitating
efficient management of assets and properties for audits.

Operating Systems: Linux, Windows

Development Environments: Jupyter Notebook, PyCharm

Languages: Python

Frameworks: TensorFlow
Outline your thoughts on open-source software development. Have you been an
open-source maintainer, can you describe the scope of your contributions to those
projects?

I've engaged with several open-source softwares such as MediaPipe by Google, React, Vue,
and more. While I haven't had an open-source maintainer, I'm eager to contribute in that
capacity and have a good understanding of the processes involved. During my summer
internship at GoalBegins Technology, I made a modest contribution to an open-source
software development project. Although it wasn't extensive, it sparked my interest in
becoming a more active open-source contributor. I believe in the importance of giving back
to the community and I am keen to further my involvement in open-source initiatives.

What software products have you yourself led which shipped many releases to
multiple customers? What was your role?

Throughout my professional journey, the majority of my work has been focused within
collaborative teams, I've had the opportunity to lead two significant projects. At Cogoport, I
took charge of spearheading the integration of an independent authentication microservice
called YAAS. Leading the project, I actively contributed to planning, development, and
deployment phases. Leveraging my expertise in JavaScript and TypeScript, I introduced
innovative solutions that notably reduced login/signup times, resulting in a substantial
enhancement of our platform's performance.

Additionally, at Neonimble, I spearheadedly developed the company's webpage, focusing on


creating a responsive and user-friendly interface. By overseeing the design and
development process,I ensured the company had an effective and creative online presence
and improved the overall user experience.

What is your most senior role in a software engineering organisation? Describe your
span of control and the diversity of products, functions and teams you led.

My most senior position so far is in my current role as a Product Engineer at Neonimble. As


the lead of the frontend department, I oversee the development of the company's website
and the user interfaces for our products under development. My span of control includes
managing a team of two frontend engineers who work alongside me on various projects. In
addition to leading the frontend efforts, I actively contribute to core product development,
where I collaborate with cross-functional teams to design and implement solutions that
address the business needs. This role requires me to not only provide writing functional code
but also to strategize and plan the development process to ensure timely delivery and
alignment with company objectives.
Outline your views on the role of an engineering manager in shaping a
high-functioning team.

In my opinion the role of an engineering manager is pivotal in shaping a high-functioning


team. They serve as the bridge between leadership vision and team execution, fostering an
environment where every member feels empowered, motivated, and valued. An effective
engineering manager not only sets clear goals and expectations but also provides
mentorship, guidance, and support to help team members grow both professionally and
personally. By nurturing talent, promoting continuous learning, and fostering a sense of
ownership and belonging, an engineering manager plays a crucial role in driving team
success and achieving organizational objectives.

Outline your thoughts on performance in software engineering. How do you ensure


that your product is fast?

Ensuring optimal performance in software engineering is paramount for meeting user


expectations. Drawing from my experience, I employ several strategies to achieve this goal.
Firstly, I conduct rigorous performance testing and profiling to detect any potential
bottlenecks at an early stage of development. Secondly, I prioritize code and algorithm
optimization to enhance efficiency and minimize resource consumption, thereby maximizing
responsiveness. Additionally, fostering a culture of continuous learning, interaction, and
communication among team members, colleagues, and leaders is crucial. This collaborative
environment ensures clarity throughout the product deployment and delivery process,
facilitating smoother and more successful outcomes.

Outline your thoughts on quality in software development. What practices are most
effective in software teams to drive improvements in quality?

Quality in software development is paramount for delivering reliable, user-friendly products.


To drive improvements in quality, software teams should prioritize several effective practices.
Firstly, adopting a test-driven development (TDD) approach ensures that code is thoroughly
tested from the outset, reducing the likelihood of bugs and defects. Additionally,
implementing continuous integration and continuous deployment (CI/CD) pipelines enables
automated testing and deployment, facilitating rapid iteration and feedback loops. Moreover,
fostering a culture of code reviews and pair programming promotes collaboration and
knowledge sharing, leading to higher code quality and fewer errors. Furthermore, investing
in robust documentation and knowledge management systems enhances transparency and
facilitates smoother onboarding and maintenance processes. By incorporating Agile
methodologies into their workflow, software teams can effectively collaborate, adapt to
changing requirements, and iterate quickly to deliver high-quality products that meet user
expectations and drive customer satisfaction.

Education
How did you rank in your final year of high school in mathematics? Were you a top
student? On what basis would you say that?

In my final year of high school, that is the 12th grade due to some health condition I could
not perform to the best of my ability in my mathematics examination.Meanwhile, during my
10th grade, I performed fairly well in mathematics, scoring 82 out of 100. According to our
school report, I ranked in the top 12% of students during the overall 10th board results.

How did you rank in your final year of high school, in your home language? Were you
a top student? On what basis would you say that?

During my high school years, I made a strategic decision to prioritize English over my home
language, recognizing its importance for my future career prospects. I have maintained a
strong proficiency in my home language and demonstrated this by scoring 93 out of 100 in
Hindi (home language) during my 10th grade. While I may not have specific ranking data for
this particular subject, according to our school report, I ranked in the top 12% of students
overall during the 10th board results.

Please state your high school graduation results or university entrance results, and
explain the grading system used. For example, in the US, you might give your SAT or
ACT scores. In Germany, you might give your scores out of a grading system of 1-5,
with 1 being the best.

In my high school graduation results, I achieved an overall score of 89.8 percent.


Additionally, I secured Category 1 in my university entrance exams, which enabled me to
pursue Computer Science and Engineering (CSE) branch with a specialization in Artificial
Intelligence and Machine Learning (AI and ML). It was the top branch at my campus during
that period. The grading system for my university entrance exams classifies scores into
different tiers, with Category 1 representing the highest level.
Can you make a case that you are in the top 5% in your academic year, or top 1%, or
even higher? If so please outline that case. Make reference where possible to
standardised testing results at regional or national level, or university entrance
results. Please explain any specific grading system used.

In my academic journey, I achieved a GPA of 9.02 out of 10, which positioned me at 11th out
of 120 students in my branch. While this places me in the top 9% of my academic year, it
does not meet the criteria for being in the top 5%

What sort of high school student were you? Outside of class, what were your
interests and hobbies? What would your high school peers remember you for?

During my high school years, I tended to be more introverted, focusing on my studies while
also pursuing my passion for football. I enjoyed both playing and watching football, which
served as a source of relaxation and enjoyment outside of academic commitments. Among
my peers, I believe I may be remembered for my knowledge and enthusiasm for the sport,
often engaging in conversations and discussions about football matches, players, and
strategies.

Which university and degree did you choose? What other universities did you
consider, and why did you select that one?

I chose to pursue Computer Science and Engineering with a specialization in Artificial


Intelligence and Machine Learning at VIT Bhopal University. This decision stemmed from my
strong interest in becoming a software engineer and my fascination with the emerging field
of AI. While considering my options, I also explored opportunities at NIT Hamirpur and VIT
Vellore. However, I opted against these universities as I was being offered programs in Civil
and Electronic Engineering, which did not align with my career aspirations in computer
science. Ultimately, I selected VIT Bhopal University for its CSE program and the opportunity
to specialize in AI and ML, due to my passion and career goals in the field of technology.

Overall, what was your degree result and how did that reflect on your ability? Please
help us understand the grading system for your results.

Throughout my academic journey, I attained a GPA of 9.02 out of 10, positioning me as the
11th ranked student out of 120 in my branch. The grading system employed was relative,
where students were graded in comparison to their peers rather than against a fixed
standard. For instance, the top 2 to 3 students in each class received an A+ grade,
representing a score of 10/10 in the respective subject. Following this, subsequent groups of
students received A grades, and so forth. These individual subject grades were then
combined to calculate the semester GPA, which contributed to the overall cumulative GPA
over the course of the four-year program.

During all of your education years, from high school to university, can you describe
any achievements that were truly exceptional?

Throughout my educational journey, I have had the privilege of achieving several


accomplishments. Among these, winning numerous hackathons and technical competitions
during my university days stands out prominently. However, one of the most significant
milestones was being recognized as a Top 70 Competitive E-School Leader for the year
2023 by Unstop across the entire nation.

What leadership roles did you take on during your education? Did you conceive of,
and drive to completion, any initiatives outside of your required classwork?

During my university years, I actively pursued leadership roles and spearheaded initiatives
beyond my required coursework. As the President of our university Dramatics Society, I
orchestrated both online and offline theatre events, engaging and impacting over 500
students. These events were widely successful, enhancing the cultural fabric of our
institution and fostering a sense of community among participants. Additionally, as the Data
Science Lead at the AI Club in VIT Bhopal, I collaborated with my team to organize events
and deliver workshops, reaching and enriching the knowledge of over 3000 developers.

Context

Outline your thoughts on the mission of Canonical. What is it about the company's
purpose and goals which is most appealing to you? What is risky or unappealing?
Are there any elements of the company goals that you are unsure about?

Canonical's mission to advance open-source software and foster innovation is compelling to


me. I'm drawn to the company's dedication to making technology accessible and
collaborative, which aligns well with my values and beliefs.Additionally, Canonical's focus on
providing reliable, secure, and scalable solutions resonates with my dedication to delivering
high-quality products and services. However, at this point, I don't see any specific elements
of Canonical's goals that I perceive as risky or unappealing. While there may be challenges
inherent in any ambitious mission, I believe that Canonical's commitment to open-source
principles and its track record of success position it well for continued growth and impact in
the technology industry.

Who are competitors to Canonical, and what does Canonical need to change to be a
more effective competitor?

According to my research canonical's primary competitors include Azure, Oracle, AWS, and
Red Hat. According to me to bolster its competitive edge, Canonical should prioritize two key
strategies: investing in marketing and awareness and enhancing its product offerings. By
strategically promoting the benefits of its solutions through targeted marketing campaigns
and educational initiatives, Canonical can increase its visibility and attract more customers.
Additionally, continuously improving its products to better integrate with emerging
technologies and platforms will allow Canonical to stay ahead of the curve and differentiate
itself from competitors. These efforts will position Canonical as a more effective player in the
highly competitive technology landscape.

What would you most want to change about Canonical?

If I were to suggest a change for Canonical, it would be to focus on fostering even stronger
community engagement and collaboration as we have in case of its competitors.

What gets you most excited about this role?

What excites me most about the web engineering position at Canonical is the opportunity to
contribute to a company that is at the forefront of open-source technology and innovation.
Working with a talented team of professionals to develop cutting-edge web solutions and
platforms aligns perfectly with my passion for leveraging technology to solve complex
problems and drive positive change. Additionally, the chance to work on projects that have a
global impact and are used by millions of users worldwide is incredibly motivating. I'm eager
to collaborate with like-minded individuals, push the boundaries of web engineering, and
play a part in shaping the future of open-source software at Canonical.

You might also like