A Summer at 蒙特卡罗: Improving Data Pipeline Observability at Scale

蒙特卡罗致力于提高数据管道的可观察性,使团队更容易在解决数据问题和消除问题上进行协作 数据停机时间. Aastha拉, 蒙特卡罗’s first software engineering intern, shares her journey to software engineering and 蒙特卡罗, and highlights her experience building a Slack integration for our platform.

I first became interested in computer science as a freshman in high school. 考虑到推荐一个正规滚球网站家有一半以上的人要么在高等教育中学习计算机科学,要么在这方面有全职工作, this seemed like the obvious route for me to take as well. But when I took my first coding class in 9th grade, I was obsessed. 我沉迷于解决编码问题所带来的挫折和毅力. From that moment on, I knew I wanted to pursue a career in software engineering. 

After taking AP Computer Science in my sophomore year, I realized that I wanted to do more than just learn—I also wanted to build. With a group of friends from school, I founded an organization called The Girl Code, where our mission was to bridge the gender gap in computer science, one line of code at a time. Together, we attended three and won all three hackathons, presented 推荐一个正规滚球网站的一个应用程序 到U.S. 国会议员罗·康纳(Ro Khanna)在苹果应用商店(Apple App Store)上发布了两款应用,甚至还被推荐了 圣何塞水星报.

当我开始上大学的时候, I was exposed to a lot of new coding languages: C, C++, Javascript, HTML, CSS, ML, 计划, 帕斯卡, Smalltalk, 甚至超级对撞机. 到目前为止,我最喜欢的课程包括计算机科学和工程学, 这只会让我更渴望继续开发项目,并真正培养我在这一领域的兴趣. 整体, 我想尝试一些新事物,走出应用开发领域,看看我在工程领域的其他选择.    

Applying for My First Internship 

作为一名大学生, 实习是必须的,它不仅提高了推荐一个正规滚球网站自己的实践技能和知识, 同时也为推荐一个正规滚球网站提供了一个独特的机会去体验学校以外的专业工作. When I was on the hunt for a summer 2020 internship, I had a few criteria in mind. Since this would be my first internship, 我想确保我学到了新的东西,并从这次经历中收获最多.

In October of 2019, I attended the Grace Hopper Celebration of Women in Computing Conference (GHC) 在奥兰多,佛罗里达. GHC was my first formal experience in networking and interviewing; whether it was in the exposition hall with hundreds of company booths, 在公司活动上, or on the plane ride back to campus, I quickly got accustomed to networking. GHC对我来说是一个很好的机会,让我在大学第一次在科技公司实习时,更好地了解我可以期待的东西. 

Aastha GHC的19所示! Image courtesy of Aastha拉.

When it came down to the final decision, I was stuck between 蒙特卡罗, a young start-up where I would be the only software engineering intern, 或者更大的公司, where I would be on a team of other college interns. While having fellow interns would have been a valuable experience in its own way, 我最终决定选择可以玩滚球的正规app,因为我被这个在快速变化的环境中规划自己的路线和从头到尾拥有一个项目的机会所吸引.

During my two-month internship at the company, my work had a significant impact on the product, and perhaps most importantly, 我可以看到客户喜欢我所构建的东西,并与之互动:Slack的集成 蒙特卡罗.

在可以玩滚球的正规app实习 

我的项目是构建推荐一个正规滚球网站产品的Slack集成:这是一个消息应用程序,可以发送关于数据问题的交互式推送通知,并动态地用事件状态更新客户的仪表盘和数据库. 这个新特性为客户提供了一个更加友好的界面来提供反馈和解决问题 数据停机时间 事件. 

Slack的集成是一个非常有用的工具,通过为交互式推送通知提供平稳的上手体验,客户可以跟踪蒙特卡罗发现的数据问题, rich with detailed information about data issues. This app also makes the workflow more efficient, 因为客户不再需要打开仪表板来更新给定事件的事件状态,而是, can just check Slack for the relevant information. 将有关数据事件的所有基本信息嵌入到Slack消息中,可以显著改善客户的工作流程.

There were a lot of moving parts to the Slack app; while the Slack API was incredibly extensive and honestly, 非常艰巨的最初, learning about Slack’s framework was probably the easiest part. 我花了前几周时间构建了一个概念验证(POC),并使用Python和Flask创建了一个交互式的Slack消息应用程序. Since Slack required a public endpoint, 我还花了一些时间学习如何使用AWS Lambda和Serverless等云架构平台. 一旦我完成了POC, the next part was figuring out how to integrate the app with our product, which involved learning the basics of PostgreSQL, 打印稿, GraphQL和Python Django. 

每天早上,我会加入工程同步,每天更新我的进展. 然后,剩下的时间通常由我自己支配——如何度过这一天以及如何分配工作完全由我自己决定. 由于蒙特卡罗是一家远程优先公司,我的团队的工作时间相对灵活. 不像大学, I wasn’t given predetermined mid-quarter deadlines or any structure to my workflow, and it was up to me to break up my project into sprints, so I divided my time in terms of weekly milestones. I worked one week at a time; so by Friday, I should have finished one aspect that I had in mind at the beginning of the week. 通常, at the end of work on Friday nights, 我也会花些时间给自己写一些笔记,记录下这周我做了什么,以及下一周我应该专注于什么.

我的项目不仅为我提供了宝贵的学习经验——从产品开发生命周期到新的编程语言, 框架, and APIs—but also had a direct and positive impact on our customers. 

Suvayan, a 产品 Manager for one of our customers, 指南针, 分享了他对Slack集成的兴奋之情:“向Slack提供的监控反馈让我感到安慰,推荐一个正规滚球网站仓库中的数据是健康的,一切都按照设计工作. And on days where something goes wrong, 我知道我的团队将是第一个知道的,推荐一个正规滚球网站将控制局势.”

蒙特卡罗’s dynamic Slack integration, above. (Image courtesy of 蒙特卡罗)

知道像Suvayan这样的客户在使用我构建的东西时有如此积极的体验,是我项目中最令人满意的部分.

关键的外卖

整体, the internship and work environment was a really great experience. I worked with a lot of new technologies, expanded my technical horizons, and learned a lot about working at a start-up. Even though my role was in software engineering, 我还从我的“进入市场”团队的同事那里获得了很多关于业务开发和市场营销及其在初创企业中的作用的见解. 

我在可以玩滚球的正规app的最大收获之一是与我的团队一起工作并从他们身上学习:这是一种鼓舞, 有趣的, 和一群充满激情的人致力于为推荐一个正规滚球网站的客户打造一个伟大的产品. With daily interactions in Slack channels and weekly Zoom team syncs, the positive work environment made it much more fun and exciting. 推荐一个正规滚球网站是否会在推荐一个正规滚球网站的“爆米花俱乐部”里非正式地见面来了解数据,或者与来自开普敦的鲨鱼专家交谈, the team guaranteed a fun work experience; I will really miss working with them! 

在我签字之前, 我想给即将开始第一次大学实习的未来工程师们一些建议: 

  • 为自己制定小目标,每周至少实现一个里程碑.
  • When learning something entirely new to you, don’t be afraid to experiment! The more you try and tinker with new tools, the better you’ll understand them.
  • And finally, don’t forget to have fun and enjoy! You know more than you think! 

Interested in joining Aastha and the rest of the 蒙特卡罗 team? 接触 for information on open roles!