Allison is a full-time software engineer for the Data Platform team at Lyft and is also a former intern. She primarily works on Amundsen, an open-source data discovery and metadata engine.
What’s been the most challenging part of this job? Any memorable tasks/projects which were challenging?
I would say the hardest part of my role is organizing my work in terms of priority. The impact on end users internal to Lyft is not the only factor our team must consider in order to determine how important an issue or feature is, but we also have to take into account how the Amundsen community will be impacted, and how we can prioritize our work internally to align with external asks as well. There is so much interesting work to do in both spaces, so it is difficult to strike a balance sometimes.
What part of your role do you like the most?
I really enjoy how collaborative my work is, and how the culture at Lyft really encourages engineers to work together in solving problems. If I have looked at a problem long enough and I am unable to fix it, I’ll message another person in my team or jump on a quick call to brainstorm and come to a solution. Given that we are working remotely, this has become really similar to just going over to someone and asking them to help you think through something as you write ideas on a whiteboard, which helps maintain some sense of closeness and trust with my coworkers.
Since I work on Lyft data discovery platform Amundsen, which is open source, collaboration is not confined to my teams and other internal teams. Given that Amundsen has been adopted by 29 companies so far, my role allows me to collaborate with talented engineers from our community of 1,000+ people. I love being able to present ideas or problems to my coworkers internally, and also being able to get extra support from the community slack channel. This is also a unique opportunity for us to learn how other companies use the Amundsen product to serve their needs, which are often different to those at Lyft. This challenges us to consider not only how we can build a great product for internal use, but how new features and changes we make could potentially impact the diverse use cases of all adopters of the product.
How was your transition from being an intern to full-time? Any words of advice for future interns?
Although I joined a different team than the one I interned with, the transition was very smooth. We have a lot of practices that are used by pretty much all engineering teams at Lyft, so onboarding was not as daunting as it was the first time around. It also helped that as soon as I joined my new team, all of my more senior peers made sure I got onboarded at a pace that aligned with my level of familiarity with Lyft’s processes and the technology we used. I went from a backend role in the ETA team writing Go code to a full-stack role in the Amundsen team using TypeScript, React, and Python. I would say my assigned mentor and other engineers in my team made it really easy for me to get familiar with the services and technology we use every day.
My best advice for interns or new grads joining Lyft is to rely on everyone around you. The reality of our industry is that people often change teams and move around within the company, so you never know how long you will be working with these amazingly talented people. Set up 1:1 meetings with them, ask them to help you problem solve and review your work, ask for help with short and long term goal setting for your career. Everyone I have ever met at Lyft is willing to help you grow, and in my opinion that is the best part about Lyft’s work culture.
Onboarding during a lockdown: Since you joined remotely what advice would you give other folks joining now?
When I onboarded as an intern, I was in-person, and comparing that to my remote onboarding experience, I would say it was not all that different, other than the fact that I was doing all of the process at home. The one thing that can be really hard when you are remote is feeling comfortable with asking questions. As weird as it feels to “bother” people on Slack with your questions, this is an irrational fear you have to get over. You probably would not hesitate to raise your hand or tap someone on the shoulder in real life to ask them a question or ask for help if you are stuck, so just think of a Slack message as the work from home equivalent.
What does your day to day job look like? What tools/technologies do you use the most? Any favorites?
It feels like there is never a boring day at work. When I am not addressing Lyft internal tickets for Amundsen, I can always pick up an issue from our public github repository, or look at the community slack to see who needs support and how I can help. On an average day I’ll start by looking at Slack to see if I have been mentioned on anything urgent, and going through emails. Next I’ll look at any PRs I have open or that I was asked to review and figure out what’s left to do on those. If I have no work in progress currently I will look at Jira to see what tasks I have queued or look at our backlog and pick up a ticket that needs to be done. Through the day I am also constantly monitoring the Lyft and Amundsen slack channels for questions or urgent issues. My team has four services we work on so in a week I can jump from working with React and TypeScript to Python. I also spend a lot of time investigating the root cause of issues in the backend, which many times requires collaboration with other teams that own data resources we surface in Amundsen.
As far as meetings go, we do stand-ups three times a week, and sprint planning every two weeks. If we are collaborating with designers on a feature we will have design sync ups once a week to track the design process and give them feedback. We also have external community meetings once a month where we get to hear from other companies and how they use Amundsen and we also announce breaking changes and new features.
Temo is a full-time software engineer for the Data Platform team at Lyft and also a former intern. During his time at Lyft, he has worked on a host of different things.
What’s been the most challenging part of this job? Any memorable tasks/projects that were challenging?
For me it’s finding that balance between being proactive and waiting. Sometimes with larger projects or ambiguous problems, it’s hard to balance when to try and do what you have in mind, and when to discuss and follow a different approach. Especially, when you are new to an area, or are surrounded by experts in the field, it’s hard to listen to your own voice. This balance between taking initiative and following guidance is still a challenge for me, especially with time and others’ priorities involved.
As for memorable projects, the Data Governance and Data Security tasks were pretty challenging but pretty memorable. There were many unknowns, different ways to tackle them, and pivots such as understanding the data that we have, determining what or who owned it, understanding the lineage, working with legacy systems, and ensuring we did not break our current pipelines. It was great seeing how not only the Data org but the company came together to get it rolling.
What part of your role do you like the most?
I’ve always been interested in understanding how our data workflows work end to end. Something I really like about my role is how you can get involved in the different parts of the data pipeline, and understand it at our scale. From how we emit a datapoint to the systems we use to process it to how data customers use such data, you can learn and get involved in different projects along the pipeline. I really value having the opportunity to not only understand this holistically, but how we can keep improving it.
One thing you wished you knew before joining Lyft and the Data Org?
Someone recently told me that you’d be surprised how supportive folks are for you to follow what excites you. Whether it’s a new proposal, different area, or new team, don’t be afraid to say it and try it. You never know what doors open. Without having prior knowledge of this, I’ve been fortunate enough to have experienced this. I’ve been able to contribute to projects close and far to my main area that I was curious about, and currently I’m exploring the streaming data side after working on batch processing.
How are you managing collaborating with team members while working remotely? Any advice to someone starting out remotely?
Honestly it’s been a challenge, I started on a different project when everyone was remote. For me, two of the hardest collaboration problems to tackle are communicating progress and getting to know your team. I’m working on improving my written communication in JIRAs, resolution notes, and documentation. Being remote, this helps with transparency, and understanding the progress or blockers folks have. And a second challenge is getting to know your team, and how they work. It’s not as easy to do this as over lunch or a coffee walk in the office. I really recommend scheduling time with your teammates, and folks you really wanna meet sooner rather than later. Some of the most fulfilling conversations and learnings I’ve had are during these chats. It’s always awesome hearing people’s stories, their paths and life outside of work, and to just check in with them outside of stand-up. It’s great — not only to interact with others during these isolating times — but also build rapport and work better with your team.
As always, Lyft is hiring! If you’re passionate about developing state of the art machine learning/optimization models or building the infrastructure that powers them, read more about them on our blog and join our team.