[go: up one dir, main page]

0% found this document useful (0 votes)
34 views4 pages

Written Interview

The document details the author's growth in technical and soft skills over the past year, particularly in web development technologies and project management. It highlights their experience in building large systems, contributions to open-source projects, and leadership roles during their education. The author expresses enthusiasm for Canonical's mission and a desire to enhance community engagement within the company.

Uploaded by

Asmamaw Kassahun
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views4 pages

Written Interview

The document details the author's growth in technical and soft skills over the past year, particularly in web development technologies and project management. It highlights their experience in building large systems, contributions to open-source projects, and leadership roles during their education. The author expresses enthusiasm for Canonical's mission and a desire to enhance community engagement within the company.

Uploaded by

Asmamaw Kassahun
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

1.

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?
Over the past year, I’ve gained both technical and soft skills that have been critical to my growth.
Technically, I advanced in TypeScript, JavaScript, React, Next.js, Node.js, and Flutter, while also
strengthening my understanding of networking and foundational AI concepts like neural networks.
These were driven by the demands of building complex systems, such as my final-year legal tech
platform with real-time chat, file uploads, and role-based access.
On the soft skills side, I developed stronger time management, communication, and teamwork, which
helped me deliver solutions that are more consistent, maintainable, and scalable.

2. Describe your experience of web programming – JavaScript, TypeScript, React, CSS and
Python in particular.

I have strong experience in full-stack web development using JavaScript, TypeScript, React, and
Next.js 15, gained through building real-world applications like EQUILEX. The project included role-
based authentication, real-time messaging (Pusher), payment integration (Chapa), and file handling. I
work confidently with React hooks, server components, and React Query for data and state
management. For styling, I use Tailwind CSS and utility-first design to build responsive, accessible
UIs. On the backend, I develop RESTful APIs using Node.js, with Prisma and PostgreSQL for database
operations. I also have fundamental knowledge of Python, mainly for scripting and general-purpose
programming.

3. 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?

• Frontend: Next.js, TypeScript, JavaScript and Tailwind CSS


• Backend: REST API with Prisma and PostgreSQL
• Real-time services: Pusher integration for live messaging
• Authentication: NextAuth
• Payments: Chapa integration
• File storage: Local and cloud-based uploads
• Role-based routing and authorization
Key architectural considerations include:
• Separation of concerns: Clear boundaries between UI, API logic, and data
• Modularity: Building reusable components and route handlers
• Reliability: Background retries, rate limiting, and proper error logging
• Maintainability: Consistent use of TypeScript, folder structures, and thorough documentation
• Observability: Monitoring performance and errors using tools like Vercel Analytics and Sentry

4. What kinds of software projects have you worked on before? Which operating
systems, development environments, languages, databases and frameworks?
I’ve worked on:
• Legal Tech Web App (EQUILEX): Next.js, PostgreSQL, Prisma, TypeScript, NextAuth,
Tailwind.
• Flutter Mobile Apps: Authentication, API integration, and UI for Android devices.
Tools and platforms I’ve used include:
• OS: Fedora Linux, Ubuntu, Windows
• Languages: JavaScript, TypeScript, Dart, Python, Java, SQL
• Frameworks: Next.js, Flutter, Django, Express
• Databases: PostgreSQL, MySQL, MongoDB
I use VS Code and Git extensively for development, and I’m comfortable debugging, testing, and
deploying applications to production environments like Vercel.

5. Outline your thoughts on open-source software development. Have you been an


open-source maintainer, and can you describe the scope of your contributions to
those projects?
I strongly believe in the mission of open-source: democratizing software development, fostering
collaboration, and driving innovation. While I have not maintained a major open-source project, I
regularly contribute to and use open-source libraries.
In my personal and academic projects, I’ve contributed bug fixes, improved documentation, and helped
troubleshoot issues in communities for packages like Prisma and Pusher. I am working to become a
more consistent contributor in the React ecosystem, especially in accessibility and developer tooling.

6. What is your proudest success as an engineer, or leader?


One of my proudest moments was leading the architecture and development of EQUILEX, a full-stack
legal tech platform that included real-time messaging, case workflows, and lawyer-client interactions.
As a final-year project, it went beyond academic expectations and functioned as a near-production-
ready SaaS tool.
I handled the database schema, user experience, and real-time integrations and I mentored teammates
on Git workflows and component design. It was a moment where I saw myself not just as a developer,
but as a system thinker and team enabler.

7. Outline your thoughts on quality in software development. What practices are


most effective in software teams to drive improvements in quality?
Quality starts with clarity in both design and communication. Practices I believe in include:
• Type Safety: Catches issues at compile time.
• Code Reviews: Encourages knowledge sharing and error catching.
• Testing: Unit and integration tests for APIs and components.
• Continuous Integration: Automated checks for formatting, linting, and tests.
• Documentation: Reduces onboarding time and errors in usage.
• Modular Design: Easier to test and maintain individual parts.
Good team culture and alignment on coding standards can dramatically elevate the quality of output.

8. How did you fare in high school mathematics, physical sciences and computing?
Which were your strengths and which were most enjoyable? How did you rank,
competitively, in these subjects?
In high school, I ranked among the top in my class in Mathematics and Computing. I consistently
scored A grades and received awards for academic excellence. These were my strongest and most
enjoyable subjects because they combined logic, problem-solving, and creativity. My passion for
computers started early, and I spent time building simple apps and experimenting with code outside the
classroom.

9. In high school, what leadership roles did you take on?


I served as ICT Club Leader, mentoring fellow students in basic programming and organizing coding
bootcamps. I also represented my class in student discussions and helped bridge the gap between
students and administration in terms of access to computer lab resources.

10. Which degree and university did you choose, and why?
I chose a Bachelor of Science in Computer Science at a top university in Ethiopia, known for its
emphasis on practical learning and strong computing faculty. I selected this path because it combined
my technical passion with the foundation to build scalable, impactful systems. The program challenged
me to think critically and code robustly.
11. What did you achieve at university that you consider exceptional?
I developed and deployed multiple real-world projects while maintaining top academic standing.
Beyond that, I became known for helping others succeed leading group studies, mentoring juniors in
coding, and participating in innovation competitions. My most exceptional achievement was delivering
a production-ready legal tech system as a capstone project, complete with real-time features, file
handling, and authentication.

12. 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 bring open-source software to the world at scale deeply resonates with me. I
believe access to robust, secure, and open platforms like Ubuntu has empowered developers across the
globe, including myself. The emphasis on quality engineering and global impact is inspiring.
A potential challenge is balancing open-source ideals with commercial goals, but Canonical appears to
navigate this wel through services like Ubuntu Pro and Landscape.
One area I’d like to understand better is the roadmap for Canonical's AI and LLM integration and how
it's being applied to cloud or desktop tooling.

13. What would you most want to change about Canonical?


From the outside, Canonical seems engineering-driven but sometimes less visible in developer outreach
compared to other open-source giants. I'd love to help Canonical build stronger community-facing web
platforms and showcase the work of its developers and maintainers more directly.

14. What gets you most excited about this role?


The chance to build and improve tools that millions of people rely on daily and to work with engineers
who care about open-source, quality, and performance is what excites me the most. I’m particularly
drawn to Canonical’s emphasis on productivity, automation, and minimalism, which aligns with how I
write code and design systems.

You might also like