{"id":1700,"date":"2024-08-28T14:50:08","date_gmt":"2024-08-28T14:50:08","guid":{"rendered":"https:\/\/blog.mozilla.org\/l10n\/?p=1700"},"modified":"2026-02-05T11:58:15","modified_gmt":"2026-02-05T11:58:15","slug":"engineering-the-mozilla-way-my-internship-story","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/l10n\/2024\/08\/28\/engineering-the-mozilla-way-my-internship-story\/","title":{"rendered":"Engineering the Mozilla Way: My Internship Story"},"content":{"rendered":"<p><a href=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1706 size-full\" src=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled-e1724813101295.jpg\" alt=\"\" width=\"1920\" height=\"1928\" srcset=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled-e1724813101295.jpg 1920w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled-e1724813101295-300x301.jpg 300w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled-e1724813101295-600x603.jpg 600w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled-e1724813101295-150x150.jpg 150w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled-e1724813101295-768x771.jpg 768w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled-e1724813101295-1530x1536.jpg 1530w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/moz-me-scaled-e1724813101295-1000x1004.jpg 1000w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/a>When I began my 16-month journey as a Software Engineer intern at Mozilla, I had no idea how enriching the experience would be. I had just finished my third-year as a computer science student at the University of Toronto, passionate about Artificial Intelligence (AI), Machine Learning (ML), and software engineering, with a thirst for hands-on experience. Mozilla, with its commitment to the open web and global community, was the perfect place for me to grow, learn, and contribute meaningfully.<\/p>\n<div id=\"attachment_1705\" style=\"width: 1529px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image5.jpg\"><img aria-describedby=\"caption-attachment-1705\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-1705 size-full\" src=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image5-e1724892119551.jpg\" alt=\"First meeting\" width=\"1519\" height=\"1249\" srcset=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image5-e1724892119551.jpg 1519w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image5-e1724892119551-300x247.jpg 300w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image5-e1724892119551-600x493.jpg 600w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image5-e1724892119551-768x631.jpg 768w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image5-e1724892119551-1000x822.jpg 1000w\" sizes=\"(max-width: 1519px) 100vw, 1519px\" \/><\/a><p id=\"caption-attachment-1705\" class=\"wp-caption-text\">Starting off strong on day one at Mozilla\u2014calling the shots from the big screen :)!<\/p><\/div>\n<h3>Integrating into a Global Team<\/h3>\n<p>Joining Mozilla felt like being welcomed into a global family. Mozilla&#8217;s worldwide presence meant that asynchronous communication was not just a convenience but a necessity. My team was scattered across various time zones around the world\u2014from Berlin to Helsinki, Slovenia to Seattle, and everywhere in between. Meanwhile, I was located in Toronto, where morning standups became my lifeline. The early hours of the day were crucial; I had to ensure all my questions were answered before my teammates signed off for the day. Collaborating across continents with a diverse team honed my adaptability and proficiency in asynchronous communication, ensuring smooth project progress despite time zone differences. This taught me the art of clear, concise communication and the importance of being proactive in a globally distributed team.<\/p>\n<div id=\"attachment_1703\" style=\"width: 2009px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image3.png\"><img aria-describedby=\"caption-attachment-1703\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1703\" src=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image3.png\" alt=\"Weekly team meeting\" width=\"1999\" height=\"1299\" srcset=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image3.png 1999w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image3-300x195.png 300w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image3-600x390.png 600w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image3-768x499.png 768w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image3-1536x998.png 1536w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image3-1000x650.png 1000w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><\/a><p id=\"caption-attachment-1703\" class=\"wp-caption-text\">Our weekly team meeting, connecting from all corners of the globe!<\/p><\/div>\n<p>Working on localization with such a diverse team gave me a unique perspective. I learned that while we all used the same technology, the challenges and solutions were as diverse as the locales we supported. This experience underscored the importance of creating technology that is not just globally accessible but also locally relevant.<\/p>\n<div id=\"attachment_1701\" style=\"width: 2009px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image1.jpg\"><img aria-describedby=\"caption-attachment-1701\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-1701 size-full\" src=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image1.jpg\" alt=\"Team photo\" width=\"1999\" height=\"1333\" srcset=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image1.jpg 1999w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image1-300x200.jpg 300w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image1-600x400.jpg 600w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image1-768x512.jpg 768w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image1-1536x1024.jpg 1536w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image1-1000x667.jpg 1000w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><\/a><p id=\"caption-attachment-1701\" class=\"wp-caption-text\">Who knew software engineering could be so&#8230; circus-y? Meeting the team in style at Mozilla&#8217;s All Hands event in Montr\u00e9al!<\/p><\/div>\n<h3>Building Success Through Teamwork<\/h3>\n<p>During my internship, I was treated as a full-fledged engineer, entrusted with significant responsibilities that allowed me to lead projects. This experience honed my strategic thinking and built my confidence, but it also taught me the importance of collaboration. Working closely with a team of three engineers, I quickly learned that effective communication was essential to our success. I actively participated in code reviews, feature assessments, and bug resolutions, always keeping my team informed through regular updates in standups and Slack. This open communication not only fostered strong relationships but also made me an effective team player, ensuring that our collective efforts were aligned and that we could achieve our goals together.<\/p>\n<h3>Driving Innovation<\/h3>\n<p>One of the things I quickly realized at Mozilla was that innovation isn\u2019t just about coming up with new ideas\u2014it\u2019s about identifying areas for improvement and enhancing them. My interest in AI led me to spot an opportunity to elevate the translation process in <a href=\"https:\/\/pontoon.mozilla.org\/\">Pontoon<\/a>, Mozilla\u2019s localization platform. After thorough research and discussions with my mentor and team, I proposed integrating large language models to boost the platform\u2019s capabilities. This proactive approach not only enhanced the platform but also showcased my ability to think critically and solve problems effectively.<\/p>\n<h3>Diving into the Tech Stack<\/h3>\n<p>Mozilla gave me the opportunity to dive deep into a tech stack that was both challenging and exciting. I worked extensively with Python using the Django framework, React, TypeScript, and JavaScript, along with HTML and CSS. But it wasn\u2019t just about the tools\u2014it was about applying them in ways that would have a lasting impact.<\/p>\n<p>One of my most significant projects was leading the integration of <a href=\"https:\/\/openai.com\/index\/gpt-4\/\">GPT-4<\/a> into <a href=\"https:\/\/pontoon.mozilla.org\/\">Pontoon<\/a>. This wasn\u2019t just about adding another tool to the platform; it was about enhancing the translation process in a way that captured the subtle nuances of language, something that traditional machine translation tools often missed. The result? A feature that allowed localizers to rephrase text, or make text more formal or informal as needed, ultimately ensuring that Mozilla\u2019s products resonated with users worldwide.<\/p>\n<p>This project was a full-stack adventure. From prompt engineering on the backend to crafting a seamless frontend interface, I was involved in every stage of the development process. The impact was immediate and widespread\u2014by August 2024, the feature had been used over 2,000 times across 52 distinct locales. Seeing something I worked on make such a tangible difference was incredibly rewarding. You can read more about this feature in my blog post <a href=\"https:\/\/blog.mozilla.org\/l10n\/2024\/05\/28\/transforming-translations-how-llms-can-help-improve-mozillas-pontoon\/\">here<\/a>.<\/p>\n<p>Another project that stands out is the implementation of a light theme in <a href=\"https:\/\/pontoon.mozilla.org\/\">Pontoon<\/a>, aimed at promoting accessibility and enhancing user experience. Recognizing that a single dark theme could be straining for some users, I spearheaded the development of a light theme and system theme option that adhered to accessibility standards and catered to diverse user preferences. Within the first six months of its launch, the feature was adopted by over 14% of users who logged in within the last 12 months, significantly improving usability and demonstrating Mozilla&#8217;s commitment to inclusive design.<\/p>\n<h3>Building a Stronger Community<\/h3>\n<p>Mozilla\u2019s commitment to community is one of the things that drew me to the organization, and I was thrilled to contribute to it in meaningful ways. One of my proudest achievements was initiating the introduction of gamification elements in <a href=\"https:\/\/pontoon.mozilla.org\/\">Pontoon<\/a>. The goal was to enhance community engagement by recognizing and rewarding contributions through badges. By analyzing user data and drawing inspiration from platforms like <a href=\"https:\/\/www.duolingo.com\/\">Duolingo<\/a> and <a href=\"https:\/\/github.com\">GitHub<\/a>, I helped design a system that not only motivated contributors but also enhanced the trustworthiness of translations.<\/p>\n<p>But my impact extended beyond that. I had the opportunity to interact with our global audience and participate in various virtual events focused on engaging with our localization community. For instance, I took part in the &#8220;<a href=\"https:\/\/mozilla.hosted.panopto.com\/Panopto\/Pages\/Viewer.aspx?id=9d64466a-1753-438e-ac2f-b133013a8d1a\">Three Women in Localization<\/a>&#8221; interview, where I shared my experiences as a female engineer in the tech industry. I also participated in a <a href=\"https:\/\/www.youtube.com\/watch?v=eUcHRDaaFe0\">fireside chat<\/a> with the localization tech team to discuss our work and the future of localization at Mozilla. More recently, I organized a <a href=\"https:\/\/www.youtube.com\/live\/OtBZjORdUYg\">live virtual interview<\/a> featuring the Firefox Translations team, which turned out to be our most engaging online event to date. It was an incredible opportunity to connect with Mozilla\u2019s global community, discuss important topics like privacy and AI, and facilitate real-time interaction. These experiences not only allowed me to share my insights but also deepened my understanding of the broader community that powers Mozilla\u2019s mission.<\/p>\n<div id=\"attachment_1702\" style=\"width: 2009px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image2.png\"><img aria-describedby=\"caption-attachment-1702\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1702\" src=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image2.png\" alt=\"Community event\" width=\"1999\" height=\"1076\" srcset=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image2.png 1999w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image2-300x161.png 300w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image2-600x323.png 600w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image2-768x413.png 768w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image2-1536x827.png 1536w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image2-1000x538.png 1000w\" sizes=\"(max-width: 1999px) 100vw, 1999px\" \/><\/a><p id=\"caption-attachment-1702\" class=\"wp-caption-text\">Joining forces with the inspiring women of Mozilla\u2019s localization team during the \u201c<a href=\"https:\/\/mozilla.hosted.panopto.com\/Panopto\/Pages\/Viewer.aspx?id=9d64466a-1753-438e-ac2f-b133013a8d1a\">Three Women in Localization<\/a>\u201d interview, where we shared our experiences and insights as females in the tech industry.<\/p><\/div>\n<h3>From Mentee to Mentor<\/h3>\n<p>During the last four months of my internship, I had the opportunity to mentor and onboard our new intern, Harmit Goswami, who would be taking over my role once I returned to my last semester of university. My team entrusted me with this responsibility, and I guided him through the onboarding process\u2014helping him get everything set up, introducing him to the codebase, and supporting him as he tackled his first bugs.<\/p>\n<div id=\"attachment_1704\" style=\"width: 1089px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image4-e1724787414106.jpg\"><img aria-describedby=\"caption-attachment-1704\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1704\" src=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image4-e1724787414106.jpg\" alt=\"Zoom meeting\" width=\"1079\" height=\"822\" srcset=\"https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image4-e1724787414106.jpg 1079w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image4-e1724787414106-300x229.jpg 300w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image4-e1724787414106-600x457.jpg 600w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image4-e1724787414106-768x585.jpg 768w, https:\/\/blog.mozilla.org\/l10n\/files\/2024\/08\/image4-e1724787414106-1000x762.jpg 1000w\" sizes=\"(max-width: 1079px) 100vw, 1079px\" \/><\/a><p id=\"caption-attachment-1704\" class=\"wp-caption-text\">Mentoring our new intern, Harmit, as he joins our weekly tech team call for the first time from the Toronto office\u2014welcoming him to the Mozilla family, one Zoom call at a time!<\/p><\/div>\n<p>This experience taught me the importance of clear communication, setting expectations, and creating a learning path for his growth and success. I was fortunate to have an amazing mentor, <a href=\"https:\/\/www.linkedin.com\/in\/matjazhorvat\/\">Matja\u017e Horvat<\/a>, throughout my internship, and it was incredibly rewarding to take what I had learned from him and pass it on. In the process, I also gained a deeper understanding of my own skills and how to teach and guide others effectively.<\/p>\n<h3>Learning and Growing Every Day<\/h3>\n<p>The fast-paced, collaborative environment at Mozilla pushed me to learn new technologies and skills on a tight schedule. Whether it was diving into Django for backend development or mastering the intricacies of version control with Git and GitHub, I was constantly learning and growing. More importantly, I learned the value of adaptability and how to thrive in an open-source work culture that was vastly different from my previous experiences in the financial sector.<\/p>\n<h3>Reflecting on the Journey<\/h3>\n<p>As I wrap up my internship, I can\u2019t help but reflect on how much I\u2019ve grown\u2014both as an engineer and as a person.<\/p>\n<p>As a person, I was able to step out of my comfort zone and host virtual events that were open to both the company and the public, enhancing my confidence and public speaking skills. Engaging with a diverse audience and facilitating meaningful discussions taught me the importance of effective communication and community engagement.<\/p>\n<p>As an engineer, I had the opportunity to lead my own projects from the initial idea to deployment, which allowed me to fully immerse myself in the software development lifecycle and project management. This experience sharpened my technical acumen and taught me how to provide constructive feedback during senior code reviews, ensuring code quality and adherence to best practices. Beyond technical development, I expanded my expertise by adopting a user-centric approach\u2014writing proposal documents, conducting research, analyzing user data, and drafting detailed specification documents. This comprehensive approach required me to blend technical skills with strategic thinking and user-focused design, ultimately refining my problem-solving, research, and communication abilities. These experiences made me a more versatile and well-rounded engineer.<\/p>\n<p>This journey has been about more than just writing code. It\u2019s been about building something that matters, connecting with a global community, and growing into the kind of engineer who not only solves problems but also embraces challenges with creativity and resilience. As I look ahead to the future, I\u2019m excited to continue this journey, armed with the knowledge, skills, and passion that Mozilla has helped me cultivate.<\/p>\n<h3>Acknowledgments<\/h3>\n<p>I want to extend my deepest gratitude to my manager, <a href=\"https:\/\/www.linkedin.com\/in\/flodolo\/\">Francesco Lodolo<\/a>, and my mentor, <a href=\"https:\/\/www.linkedin.com\/in\/matjazhorvat\/\">Matja\u017e Horvat<\/a>, for their unwavering support and guidance throughout my internship. To my incredible team and the entire Mozilla community, thank you for fostering an environment of learning, collaboration, and innovation. This experience has been invaluable, and I will carry these lessons and memories with me throughout my career.<\/p>\n<p>*<i>Thank you for reading about my journey! If you have any questions or would like to discuss my experiences further, feel free to reach out via <\/i><a href=\"https:\/\/www.linkedin.com\/in\/ayanaa-rahman\/\"><i>Linkedin<\/i><\/a><i>.<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When I began my 16-month journey as a Software Engineer intern at Mozilla, I had no idea how enriching the experience would be. I had just finished my third-year as &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/l10n\/2024\/08\/28\/engineering-the-mozilla-way-my-internship-story\/\">Read more<\/a><\/p>\n","protected":false},"author":1981,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[467030,12691,137,286406],"tags":[199],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/posts\/1700"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/users\/1981"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/comments?post=1700"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/posts\/1700\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/media?parent=1700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/categories?post=1700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/l10n\/wp-json\/wp\/v2\/tags?post=1700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}