Your name: Julia Li
Your title: Software Engineer II
How long have you been at your company? A little over 2 years
Tell us about your career journey: How did you end up working as a software engineer?
In college, I took an app project class where we were in teams of 10 and assigned different roles that would comprise a project team at a tech company, such as project manager, QA engineer, software engineer, etc. Seeing the process from end-to-end over the course of a semester was really inspiring and made me want to be a part of a process like that in my career. I also love problem-solving and figuring out how to solve software problems through code, so software engineering was definitely a calling for me!
What attracted you to work at Audible? How did you know it would be a good fit?
I always wanted to work on an app that had a huge customer impact and Audible is a life-changing app for a lot of people. I knew it would be a good fit during the recruiting and interview process because my recruiter was professional and punctual, and made sure I was ready for my interview. The people who interviewed me were also super friendly and we had great conversations about my experience and background in tech. I knew I would enjoy coming to work every day.
What are you responsible for as a mobile software engineer at Audible?
I’m part of the Core iOS team here, which works on Audible’s iOS App. Our main goal with each release is to create an exceptional user experience. Our tasks can be smaller like fixing bugs, making enhancements in performance, and implementing design changes, or larger like creating new components to be used throughout the app, implementing a brand-new architecture, and overseeing a new feature from end-to-end. We are given a lot of leadership opportunities and can oversee our own projects. These are fun because you get to take ownership of something you care a lot about and ensure that it gets completed on time. Outside of the dev process, you work with other teams to gather the requirements for the project and plan for each sprint. It really is a fulfilling role.
What does a normal day in your job look like?
We use agile development at Audible. Every morning, I have a standup, a meeting where we give our update on what we did yesterday, the status of what we are working on, and what we plan on doing today. This sort of jump starts my day and allows me to have a clear plan and prioritization. From there, I work on tasks assigned to me and collaborate with my teammates if needed. Everyone is helpful and supportive at Audible. My teammates and I pull each other into impromptu meetings or chats sometimes, which has been great for keeping in touch while working remotely. Someone making themselves available for a five-minute sync-up can save me an hour or more of work and keep me sane, especially during this quarantine period.
Audible encourages us to respect the Meet-free Lunch period, so I always make sure I take a break for lunch. We are encouraged to set our status to “do not disturb” so we can really take time to refuel and recharge for the afternoon. This has been really good for my day-to-day mental health. When I’m not on calls, I’m working on development and coding, which is my favorite part of my job!
What are the primary technologies that you use for tooling and development?
In a typical day, I have XCode open and work with the Swift language (sometimes Objective-C legacy code) to write my code. I push my code to Github, and I update the status of the ticket I worked on in JIRA.
How is the mobile development engineering team structured?
For the Core iOS team, we have different scrum teams so as to not overwhelm our scrum process. However, this doesn’t mean that we always work separately and oftentimes we need to collaborate with each other when working on our tasks. Both iOS and Android have teams in Boston and we work with them like any other team members. Right now, in quarantine, we especially don’t have the concept of a “separate remote team” because all of us are remote, which I think will make working together even easier when we get back in the office.
What is the mobile software development process at your company?
Every quarter, we are assigned projects that we want to complete as a team. A lot of these projects are new features for customers, which is always something we look forward to. I know a lot of engineers, QA, product managers, and upper management pay attention to online forums where customers discuss Audible and the iOS app so we really get a sense of what the customer wants us to prioritize.
Once we get those features at the beginning of the quarter, we are assigned as owners for one or more projects on a first-come, first-serve basis. As owners, our job is to get the feature completed in the allotted time it was planned for, which a lot of times means that we do a lot of the dev work, but can also mean that we do a lot of delegating and ensuring that requirements are understood and are met. In the process of requirement gathering, we work a lot with the product managers, service teams (if there are any assigned), Android and Web (if they have the parallel projects), and QA (who sometimes tests alongside development). Once the feature is “dev-complete”, we have QA do an extensive testing phase. The feature might have to go back into development if there are bugs reported or missing requirements. Once that is done and we get sign-off from the product manager, QA team, etc., we are able to ship!
What skills are essential to succeeding as a software engineer at your company?
It’s good to be resourceful. It’s not always about knowing the answer right away, but knowing how to find it and oftentimes, you need to apply a similar solution to a similar problem later. Don’t get me wrong, there is a lot of innovating, but not everything has to be reinventing the wheel.
What other teams or types of people do you interact with on a regular basis?
I interact and collaborate with service, QA, and, depending on the project, the Android team on a daily basis. It’s essential that services know what the clients need to complete their work, for QA to know requirement changes/status updates to update test cases or close/open bugs, and Android (and sometimes web) to know updates and issues that could affect all clients that we could tackle with the same solution.
What do you value most about Audible’s company culture?
This is my first job out of college. I've had an opportunity to experience flexibility that I didn't know existed in the “real world.” At Audible, people see you as a person and not just an employee. They respect work/life integration and want you to have a life outside of work, so you can draw inspiration from those experiences and bring them back to work.
I also love that I get to work with people who trust me. They trust you to get your work done and will help you get there if you need guidance. Your teammates will build you up and help you without judgement and your managers will help you reach your career goals. I simultaneously feel like part of a family, while also feeling like an independent spirit. Audible really values work-life balance and taking mental health breaks. We have goals and policies in place to ensure we cut down on online meeting fatigue. It really highlights how great the work culture is when employee feedback on our mental health is taken seriously.
What advice do you have for software engineers applying to jobs at Audible?
If you do get an interview (good job!), remember that we want you to succeed! Use your interviewer as a resource if you’re stuck and make sure you always explain your process. We're committed to making sure applicants have a quality experience that meets their expectations.