1

Getting to Know Engineers in Safety at Lyft

 2 years ago
source link: https://eng.lyft.com/getting-to-know-engineers-in-safety-at-lyft-3409b3c67bc1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Getting to Know Engineers in Safety at Lyft

Meet Jessica, Xiaoyi, Rohan, Anisha, and Limin, a few Software Engineers on the Community Safety team. We asked them to share about their work and experience at Lyft.

Jessica Wang

Jessica is a full-time server engineer for the Community Safety team at Lyft, and a former Lyft intern. Community Safety works on developing safety features to identify, prevent, manage, and mitigate safety incidents on the platform. Recently, she helped launch the revamp of our rider safety reporting flow, which increases the accuracy/granularity of reported safety issues.

0*2_yCBfUG7GZsSorc?q=20
getting-to-know-engineers-in-safety-at-lyft-3409b3c67bc1

What’s been the most challenging part of this job? Any memorable tasks/projects which were challenging?

Overall, I think the most rewarding part of the job has been combining Lyft’s data-driven, experimentation-based approach to feature development with empathy and compassion. In the safety space, we receive reports about real safety incidents that have happened to real people. When you work with so much data every day, I can see how someone could become desensitized to these incidents and relegate them to simple statistics instead of whole experiences. I found that it’s important to approach the work with compassion in mind and really examine how we can lower the number of safety incidents in a data-driven and quantitative way, while also ensuring that the features we test don’t create friction for users when they try to get help during or after a crisis. Engineers work closely with designers, UX researchers, and product managers to ensure that we always keep the customer in mind and are balancing velocity and urgency with care and compassion.

What part of your role do you like the most?

Engineering wise, I really enjoy the tech speccing process. At the start, there are numerous ways that your implementation can fit into the existing architecture at Lyft, and it’s up to you to discern which is the best step forward while considering all trade-offs. Given that the Lyft architecture is so vast, I feel like I learn something new each time I spec out a new project. Another reason I enjoy the design process is because you get to chat with so many different individuals across different teams and roles. You learn a lot just from communicating with people, and it’s just cool to see an idea transform into something concrete and doable.

Team-wise, I really like our long-term vision planning meetings. It’s cool to wear the product hat every once in a while and approach our team’s mission from a different vantage point. Since these meetings are mostly product brainstorms and geared towards our team’s long-term vision, moonshot ideas are welcome. And since the topic of safety is so ubiquitous, I find myself pulling from my own experiences with rideshare and pitching ideas that I, as a customer, would want to see take shape.

How was your transition from being an intern to full-time? Any words of advice for future interns?

I felt very supported when transitioning from being an intern to a full-time employee. I found that I was able to hit the ground running during onboarding since I already knew how to use several of the internal tools, and on my first day was assigned a mentor to help me through my first few months at Lyft. I also kept in touch with several members from the team I interned with via virtual 1:1s. Ramp-up was comparatively not as steep for me as it was during my internship, but I still felt like I was learning a lot every day, with the addition of a slew of new processes that I wasn’t familiar with. For example, as a new grad you start shadowing on-call sessions after a few months of working, and that wasn’t something I had to do while interning. Moreover, you are assigned larger projects and are encouraged to be proactive with Keep The Lights On (tech debt/backlog) work.

I’d encourage any future interns to not be afraid to ask lots of questions and schedule coffee chats with as many team members as you can. You’re only there for a summer, so take advantage of the networking opportunities and the experiences of your colleagues!

Onboarding during a lockdown: Since you joined remotely what advice would you give other folks joining now?

Not going to lie, onboarding during a lockdown was pretty tough. The line between work and home became blurred as I would eat, sleep and code in the same spaces. However, the hardest thing for me to deal with was not being able to interact with my coworkers in real life. Questions that would usually be a shoulder-tap away turned into meticulously crafted Slack messages with all relevant context hyperlinked. It just felt a lot more formal and bothersome, even though I knew that my co-workers didn’t mind being Slacked every once in a while. Moreover, whiteboarding sessions turned into screen-sharing over Slack and Hangouts, and ideas were not as easily conveyed due to the limitations of online whiteboarding technology (I’m pretty bad at drawing things with my mouse).

It was especially tough right when I onboarded because I didn’t know my co-workers that well, and couldn’t just chat with them on our way to meetings and to lunch. So the best advice that I can give other folks joining remotely is to make sure you take the time to get to know your coworkers through frequent virtual 1:1s. I certainly felt a lot better about asking questions after some of these 1:1s, and it helps humanize their name in the Slack sidebar so you associate it with a real person and not a neutral digital entity.

What does your day to day job look like? What tools/technologies do you use the most? Any favorites?

On a normal day, the first thing that I’ll do is make some coffee, eat some cereal, and go through any Slack messages, emails, and PR reviews that I need to get done. We have team standup 3 times a week, so at 9:45 I’ll usually attend a standup where I give project updates of my own and listen to updates from other team members. The rest of my day is usually spent working through my Jira board, where I’ll code up any tickets for my current project, clarify questions with product, design, or data science, or fix any bugs that are assigned to me. I write code primarily in Python, although sometimes I’ll get the opportunity to work in Golang, which is a nice change of pace.

Occasionally I’ll have 1:1s with my manager or with other team members, where we’ll talk about a range of topics including our current project work, what we did last weekend, and whether or not a taco is taxonomically a sandwich (still an ongoing discussion). These 1:1s sometimes include live testing, brainstorming, and debugging sessions as well. I look forward to every 1:1 because it’s a good break from coding, and it’s always nice to hear what other people are up to.

Since we’re a client-facing product team, we will oftentimes have product and engineering kick-off meetings where team members present either the product or tech spec, and other team members are given the time to ask clarifying questions or present alternate solutions. It’s a great way to get to know what other people are working on and for everyone to feel aligned on how we plan on moving forward with the ideas or implementation plans presented.

I’ll usually end the day with some code review during a dedicated code review block so as to not block other people’s project work from advancing. At around 5:30 PM I’ll sign off, close my work laptop, and if I’m on call, pray that I can enjoy my evening without getting paged.

Xiaoyi Duan

Xiaoyi is a full-time backend engineer for the Community Safety team at Lyft. She works on various safety features with a focus on emergency help, trip irregularities, and safety machine learning models.

0*dJAqU5RALLNov6e6?q=20
getting-to-know-engineers-in-safety-at-lyft-3409b3c67bc1

What’s been the most challenging part of this job? Any memorable tasks/projects which were challenging?

I think we have a lot of challenging moments in our job. Sometimes, we might get project blockers because upstream calls are not ready or edge cases challenge the original design. Recently, I have been working on productionizing a safety ML model and the tricky part is to solve the disparities between model training data and real time data. I really enjoy solving the problem because I get the chance to learn how Lyft’s ML data pipeline works and also give suggestions on improving some use cases.

What part of your role do you like the most?

Definitely coding because I can put my head down and focus on delivering a feature that could improve riders’ and drivers’ experiences during the ride. It gives me a sense of accomplishment. I also enjoy chatting and discussing project complexities with my teammates together because it can reveal issues behind the design and help us to see problems from different angles.

Do you have any words of advice for future interns?

I would advise interns to not be afraid of asking questions and challenging the project if you have any concerns. I mainly worked on java before I joined Lyft, and made my transition from java programming to python programming at Lyft. The transition was quite smooth because Lyft has a very well-written onboarding guide and the labs are quite intuitive. They helped me to understand Lyft’s architecture and key python components quickly. I would advise interns to make use of these resources.

Onboarding during a lockdown: Since you joined remotely what advice would you give other folks joining now?

I joined right before lockdown so I worked in the office for about 4 weeks. To me, working remotely is completely different from working in an office. I would get distracted at home and spent a lot of my time cooking at the beginning, but after I got used to the new working environment, things got better quickly. My general suggestion to folks who join now is to create 1:1 meetings with teammates during the onboarding phase. Also, feel free to ask any questions through Slack and not hesitate to bump the question again if there is no response in a while.

What does your day to day job look like? What tools/technologies do you use the most? Any favorites?

I alway enjoy my work here. On a daily basis, I might join or lead a couple of project discussion meetings or catch up with my teammate through a 1:1. Sometimes, we will get questions from Slack channels or jira tickets that need extra time to investigate or fix based on priorities. Most of the time, I will do coding based on sprint planning, spec reviews and look into external team collaborations. We use python the most and I enjoy all the technologies here :).

Rohan Dhaimade

Rohan is a full-time iOS engineer for the Community Safety team at Lyft, and has been at Lyft for over 5 years.

0*X429Jv3oe53JrAn_?q=20
getting-to-know-engineers-in-safety-at-lyft-3409b3c67bc1

What’s been the most challenging part of this job? Any memorable tasks/projects which were challenging?

Safety encompasses a wide breadth of situations. It’s exciting to build tools that help both riders and drivers stay safe in a variety of situations.

One of the most challenging projects was Emergency Help with ADT. When a rider or driver triggers the feature, ADT provides continuous updates about the ride to emergency services, which makes providing support a lot more precise. We were careful to design the feature to minimize accidental triggers, so nobody calls emergency services unnecessarily.

What part of your role do you like the most?

The impact on real situations is probably the most important aspect of my role.

I would also say working on mobile at a company whose main production is also pretty great. It means that we have lots of resources to ensure that we have great tooling. I came from mostly startups where I had to do a lot of this myself and it’s great to have teams dedicated to helping better testing, building our project faster, and ensuring quality releases.

Do you have any words of advice for future interns?

I recommend that interns ask why things are the way they are. Since I’ve been at Lyft, I’ve seen plenty of trade-offs made between expediency and doing things “right.” That will always exist, but our processes aren’t inflexible, so never presume that you can’t improve on patterns you’ve seen.

What does your day to day job look like? What tools/technologies do you use the most? Any favorites?

Most of my day is coding, writing specs, and reviewing pull requests. I also answer questions and cover specs across projects since mobile engineers have to collaborate on multiple projects.

One of my favorite tools is Bubble. It’s a proxy app that can monitor network connections and override responses using generated code from our protobuf endpoint / model definitions. It’s incredibly useful when you want to replicate the experience of a user in production. More importantly, it lets mobile engineers write code where we assume we have a working backend.

Anisha Jain

Anisha is a full-time frontend engineer for the Community Safety team at Lyft. She works on various safety features such as share location and other internal tools

0*yH-rE8hTYYv6qTFT?q=20
getting-to-know-engineers-in-safety-at-lyft-3409b3c67bc1

What’s been the most challenging part of this job? Any memorable tasks/projects which were challenging?

The most challenging part of this job is balancing my projects with other initiatives that I’m interested in. Working on a project feature can be pretty time consuming in itself, and it is easy to focus just on the one high-impact project. However, there are certainly other day-to-day initiatives that are also important, but less time-consuming such as planning team get-togethers, presenting a new technical find, or writing this blog. I have to consistently plan out my days such that I can focus on the big tasks on some days and the small tasks on others.

What part of your role do you like the most?

I love the flexibility when it comes to exploring interests and learning new things. I’ve often tinkered with design along with frontend engineering, so I truly enjoy design opportunities along with my frontend projects. Every now and then, I am able to take a lead on less complex designs in collaboration with our designers. This allows me to learn about Lyft’s process for design on Figma and best practices for consistency. In addition to design, I always am able to find opportunities to explore other curiosities. For example, I was curious about becoming a full-stack engineer, and the backend engineers on my team were very open to letting me take on a few backend tasks and guiding me with those for learning purposes. These learning opportunities are the best part of my role.

How was your transition from being an intern to full-time? Any words of advice for future interns?

Although there is definitely a lot more responsibility and expectations as a full-time employee, I was well supported by my manager, mentor, and peers for a smooth transition. Joining the safety team, I knew the importance of each feature we launch, and thus definitely had to be very cautious with testing. With that being said, as I built confidence as a full-time employee, it was very helpful to have the support of peers for reviews and advice on approaches and technologies for best code quality and thorough tests.

I would advise future interns to ask questions and research thoroughly to understand the Lyft development process early on. The research portion pre-development helps for smooth development of the feature. It is equally important to learn which conversations and meetings are important pre-development, such as syncs with stakeholders and service owners. I would advise asking your mentors to walk you through these processes early-on.

Onboarding during a lockdown: Since you joined remotely what advice would you give other folks joining now?

As an intern, I had the experience of onboarding in-person and working in the lively workspace. Joining remotely can certainly be a bit lonely; you no longer can just reach over your shoulder and converse with other engineers and your team. However, I would advise setting up 1:1s with your team, mentors, other new grads, and joining other social events hosted by Lyft. Those meetings and 1:1s really helped make remote onboarding and remote work in general more normal for me. It also helps feel more connected to the collaborative and lively community Lyft offers.

What does your day to day job look like? What tools/technologies do you use the most? Any favorites?

I generally plan out my week so that all my meetings are concentrated in one day. This allows me to have time to focus on my projects on the other days. Generally, I focus on one large project at once, but will sometimes allocate time to help with smaller projects or bugs as they come up. Most of my work is in React, nextjs, and typescript. I often allocate time for informal presentations about my current projects, new technologies, and more for the frontend and/or engineering org and to attend other folks’ presentations as well. These are usually once a month or so. Most of my time is spent planning, coding, and testing my features.

Limin Shen

Limin is the engineering manager for the Community Safety team at Lyft. She has been at Lyft for 8 years and works on a lot, but most of her responsibilities can be categorized into 3 areas: vision & strategy setting, team health & career growth, and execution & dependency management.

1*6_Rbh0EIr5ico8Vw1RSRCQ.jpeg?q=20
getting-to-know-engineers-in-safety-at-lyft-3409b3c67bc1

What’s been the most challenging part of this job? Any memorable tasks/projects which were challenging?

As an Engineering manager, there are a lot of interesting challenges keeping me excited and motivated! For example, setting location/international strategies for your teams, finding exciting and growth opportunities for your team members, researching different industries to see what others are doing to improve safety (not only transportation, but other service and hospitality industries). All of these motivate me to learn and challenge myself everyday. From the product perspective, the most challenging part is how to design safety features that work for people who have different needs and comfort levels. As a team, we often spend a lot of effort to conduct user research, iterate and consult external safety experts. Being obsessively user centric is a must for us. From the engineering perspective, the challenges come in as delivering the smoothest user experience, and keeping the service with extremely high availability. Recently, diving into the ML mode brought another dimension of challenges to the team. From the people management perspective, the most challenging part of the last 1.5 year is managing morale through COVID + remote work. As everyone is working from home, we don’t have the opportunities to high-five with teammates or give someone support by simply being there with them. Human connection is such a key element in everyone’s life. Missing that piece was extremely difficult for me.

What part of your role do you like the most?

In addition to what I wrote above, I also want to highlight that helping others grow is the most satisfying part of being an Engineering Manager. It took me a while to realize that. The first couple years, I focused a lot on growing teams’ scope and developing URM talents. It wasn’t until many years later that URM talents came back, telling me that one day they wanted to play a role like I did in their career. Seeing a team with 50% URM rate makes me feel super proud.

How was your transition from being an intern to full-time? Any words of advice for future interns?

Ahh, I can’t recall precisely — it’s been over 15 years! To any intern, my suggestion is to immerse yourself into the industry. As an engineer, we tend to focus on how to solve a problem with the most elegant solution. But the reality is no matter how elegant the solution, if the final product is not valuable to the customer, where is the value? When you are working as an intern, learn as much about business, product, and user experience. Trust me, all these experiences will help you to be a better engineer.

What does your day to day job look like? What tools/technologies do you use the most? Any favorites?

I do a lot of thinking, prioritization, influencing, collaboration, and researching. Reading papers, researching other industries, writing code/sql to dive into data are the common things I do. :-)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK