Are you about to start an engineering internship and are wondering how you can optimize your time there? Or maybe you’re starting your first full-time job and want to get started on the right foot. Throughout my internship at Shift and other past internship, I have learned many invaluable lessons that helped me grow as an engineer and perform well at my internships. Here are some of the lessons and tips that I find most important to optimize your internship!
Be customer focused
Whether you’re building a new consumer-facing feature or internal tool, you should always be thinking about your users and customers.
Who are the users of your project? Are they engineers, data scientists, or car buyers? Are they technical? What is going to bring the best user experience to them? Understanding your users will help drive the direction and vision of your finished product.
Why are they using it? Are they using the product to buy/sell a car, for entertainment, or something else entirely? This is a question to address early because if you can’t think of any reason why they would use what you’re building, you should hold off on writing code. Instead, talk to your manager, designers, and even customers to get a better understanding of why people would want your feature. This step will also help you understand the leverage and impact of your project! Continue reading “How to make the most of your engineering internship”
When I received my first code review as a fresh new engineering intern, I was horrified. How could I have received 87 comments on a 50 line code change? After getting A’s in all my CS classes, how could I be so unprepared for programming in the real world? After taking a deeper look at the comments, I realized that my fundamentals were fine, I simply didn’t know any of the industry style guidelines or best practices. The code review comments were extremely helpful in teaching me the industry standards for programming in Go. To help any future engineering interns, this blog post is a list of the three Go styles and best practices I wish I had known before I started my internship.
Continue reading “Getting Started with Go: 3 Tips for Engineering Interns”
Andrew Carman is a software engineer at Shift.
At the core of any market is pricing. If you get pricing wrong, your marketplace doesn’t work. Our success at Shift—as a marketplace that makes it easy for anyone to buy and sell used cars—hinges on accurately and competitively pricing cars.
Dealerships traditionally have a team of experts that price trade-ins for customers and manage the prices of their vehicles. They haggle over those prices with buyers that come to their dealerships, and often take advantage of consumers who have less access to car price data.
Our goal is to make selling and buying a car a fun, fair, and accessible experience by using technology to disintermediate what car dealerships do poorly. So we build software instead of back-office sales teams to price our cars, which increases efficiency, levels the playing field for our customers, and lets us systematically improve the accuracy of our pricing over time.
Read on to see exactly how we did it, and pass this along to the folks who might be interested in our approach.
Continue reading “How I Used Machine Learning To Price Used Cars”
Kate Heddleston is an Engineering Manager at Shift.
When I was first learning to play water polo, a coach told me something I’ve never forgotten. He said, “Great players make everyone around them look like great players.” A great player can catch any pass, anticipating imperfect throws and getting into position. When they make a return pass, they throw the ball so that the other person can make the catch easily.
Here at Shift HQ, software engineering is a team sport. Like water polo, you can’t build incredible software systems alone. So when I first heard the concept of the 10x engineer, I was confused. How could someone be so talented that it overshadows the power of teamwork? In my experience, individual excellence is necessary, but not sufficient, for greatness. Focusing purely on individual achievement misses the larger picture that teams are required to build great software. So I decided to change the definition of a 10x engineer to this:
A 10x engineer isn’t someone who is 10x better than those around them, but someone who makes those around them 10x better.
Over the years I’ve combined my personal experience with research about building and growing effective teams and turned that into a list of 10 ways to be a better teammate, regardless of position or experience level. While many things on this list are general pieces of advice for how to be a good teammate, there is an emphasis on how to be a good teammate to people from diverse backgrounds. Read on, and pass this along to the people you work and collaborate with on the daily!
Continue reading “10 Tips For Becoming A Better Teammate”
By: Emily Nguyen
Should I intern at a startup or a large company? With so many companies to choose from, picking a place to intern at is a difficult decision. It may be tempting to choose a large tech company, because of its well-known brand and perks. I used to be hesitant about startups too. In the past, I’ve interned at some of the big tech giants…and it was a great experience. However, for my next internship, I wanted the opportunity to work at a small startup where I would be able to build software from scratch, learn how a company operates early on, and make a significant impact.
I ended up interning at Shift, with their Buyer Experience team. What attracted me to this startup was the people, mentorship opportunities, interesting engineering challenges, and the chance to make a huge impact at a high-momentum startup. In the 12 weeks of my time at Shift, I’ve learned more than I have in all my past internships.
Continue reading “SHIFT-ing Perspectives: What I Learned From My First Startup Internship”