This is part of our interview series with the different members of our scrum teams. In this post, we interview Tanner Yorgason and Carlos Amador, Software Engineers, and Alyssa Stringham, an Engineering Manager.
What is life like as a software engineer at Lucid?
Tanner: I pursued software engineering largely because I enjoy solving interesting and difficult problems. It’s not just the challenge that draws me, but also the thrill of being able to create something new and useful seemingly by magic. During my time in college, one of my professors referred to software engineering as a superpower. At Lucid, I get to use that superpower every day. One of Lucid’s core values is “Individual empowerment, initiative and ownership.” As a developer, I’m not just allowed to come up with interesting and creative solutions to problems that I see—I’m encouraged to. My favorite part of the job is when I’m able to see a project that I helped champion being used out in the wild. Looking forward to that payoff, and having real ownership of my work, is what gets me excited every day to come and use my superpower.
Carlos: It is a journey full of learning experiences. Working on a production level application used worldwide comes with many challenges, which cannot be solved by technical skills alone. They involve communication, coordination, and planning skills too.
Nevertheless, people in Lucid are genuinely interested in your success and integral development as a software professional. Our core value “Teamwork over ego” is not taken lightly in the company and is part of every day. This was the main reason I came back as a full-time employee after my internship, and it has played an important role in my fast career progression in Lucid.
What is life like as a software engineering manager at Lucid?
Alyssa: A lot of my day to day varies. I coordinate projects across teams and departments, collaborate with product on strategy and future work, lead various engineering or company initiatives (Diversity and Inclusion, Team Lead Trainings, etc.) and most importantly enable my teams and the people on them to be successful.
I get a lot of fulfillment from focusing on the people within my teams, building relationships of trust, and coaching and mentoring. It’s been very rewarding to mentor individuals, help them discover what they are passionate about, work with them to grow, and see them be successful in ways they didn’t imagine when they first started.
At Lucid one of our core values is “Individual Empowerment and Initiative.” To coach individuals to not only recognize problems, but also take initiative to think through solutions and drive them to completion, has been really incredible.
What advice would you give to an aspiring engineer?
Tanner: As a software engineer, you’re going to come up against things that you don’t know how to do. It may be Git, WebSockets, or even centering elements on a webpage. It can be easy to feel like everyone but you has a completely firm grasp on how to do something, which tends to be a bit discouraging. However, the secret is that they don’t. Many of the talented, experienced people that you work with don’t know how to center webpage items. Those who do may have a deficiency in some other area. Maybe they don’t know how to insert into a SQL table. Or they never quite understood the different methods of sorting a list.
The point is, no one knows everything. When they see a gap in their knowledge, the best programmers are willing to ask for help. It can be uncomfortable to admit you don’t understand something, but it’s a lot harder to continue on without help.
Carlos: Have an open mind. It is hard to be an expert in every area, and recognizing that allows you to look for support and rely on other people’s expertise when needed.
Learn to accept feedback. People don’t usually give you feedback to make you feel bad. It is true that not everyone knows how to communicate it in the proper way. But learn to see it through an objective lens, there is a lot of knowledge you can absorb from more experienced engineers. It is also ok to let people know if their comments made you feel uncomfortable.
Finally, never stop learning. Being a software engineer involves staying up-to-date with design patterns, security issues, technologies… Cultivate your ability to research and become an expert in topics.
Alyssa: We’ve all been where you are today. I entered software engineering in college and felt overwhelmed by all of the people who had been coding since they were 12. Don’t be too hard on yourself when things are hard, everyone goes through that and you can figure this out.
Be willing to ask questions. It’s easy to feel intimidated or like you should already know something. Some of the best engineers I’ve worked with are ones who frequently and regularly ask questions so they have a solid understanding of a system.
Take ownership of problems you come across. This goes in line with Lucid’s core value of “Individual Empowerment and Initiative.” When you come across a problem, don’t wait for someone else to solve it. Learning how to think through a problem, weigh pros and cons, try out a solution, and learn from it is a really important skill to develop. The sooner you start practicing it the better.
What’s coming next in this series?
The next post in this series will feature members of our UX team!