How I got a return offer from my first software engineering internship

kat excellence · How I Got a Return Offer From My First Software Engineering Internship

In the summer of 2021, I completed a remote internship with Intuit, the company I dreamed of working with when starting my tech career.

As part of Intuit's security team, I designed and built an aggregation system to increase the efficiency and savings costs of their security data pipeline. Then, I translated that data into a user-friendly SQL view to help the team identify malicious actors.

During this three-month period, I was fortunate to learn exciting tools including:

It was an intense experience, but full of fun, rewarding, and - most importantly - impactful work.

And, best of all, I received a return offer with the comment from my recruiter that, "[Your manager] thinks the world of you..."


Click to expand

So, wanna know how I did it? Keep reading...

But first, some background info

Don't worry, I'll give you the juicy bits that you came for!

But, before you read my strategies, I think it's important to understand my background so you have some context as to why I succeeded in the way that I did.

First, I'm not your typical intern. Yes, I'm a computer science student. But I have a previous bachelor's degree in economics and nearly a decade of experience as a marketing professional.

As a professional communicator, I've led meetings and projects, worked with C-suite executives, and guided junior employees. This means that, when it came down to asking questions, communicating my needs, and setting and achieving goals - I did so with confidence, even though I was a complete newbie. And this confidence is what set me apart from my peers.

So, what does this mean for you, as a traditional 20-something intern? It means you'll have to get comfortable with taking charge and being polite, yet aggressive. Do not be afraid to be clear with what you want, and speak up when you're not getting your needs met. It's your career - take control.

What does this mean for you, as an older, nontraditional intern? It means you will need to get comfortable leaning in to your previous experience. Your age and prior career is not a hindrance - it's a unique advantage. I repeat -

Your age and prior career is not a hindrance - it's a unique advantage.

Do not be ashamed of being different! Use the professional skills you've already learned to stand out and make an impact.

Okay, now that you have some context - let's go over my strategies.

Strategy #1: Pick a great team

Look, I'll be honest. When it came to my mentor and manager, I was super lucky. My mentor was incredibly smart and personable - which, oddly enough, is not a combo that's celebrated in this industry. As for my manager, he always set high expectations, because he cared about my success.

Side note: I'll never forget the hilariously direct Slack conversation I had with my manager:

Me: Can I push back our presentation rehearsal to next week? I don't think I'm ready to present yet.

Manager: No.

Get you a manager that requires 100% accountability!!!

(NOTE: This seems very hard-ass, but we had a good laugh about it, and in the end I appreciated him for keeping me accountable to the goals I set for myself.)

You get to choose who you work for

As an intern, you probably won't be able to choose your mentor or manager. But you can choose the company you work for, and you often have a say in the type of work that you do.

Know yourself, research your companies, and scope the vibes.

As a beginner in this field, I knew it was important to work with a team that emphasized learning and collaboration - in addition to productivity. No shade to my fellow interns that worked at some of the more prestigious companies, but it's no secret that a handful of brand-name companies are also notorious for being unwelcoming and non-supportive to interns. That kind of cutthroat work culture is not the ideal workplace for your first internship.

So, be honest with yourself about what you need -

Figure out your needs, then get in touch with current or former interns to get a sense of the working culture. Ask deliberate questions to determine if this candidate company is a match for your needs. And don't just ask the peppy, positive interns on the company-sponsored Come Meet Our Team! sessions. Reach out to fellow students or make new connections through LinkedIn.

Choose interesting work.

When I asked to be matched with a security team - I had no plans whatsoever of being a security engineer. But, I knew two things -

You may have no clue as to the type of work you want to do as a full-time engineer. And that's okay! I still haven't chosen a path. But, you'll be more likely to kick ass if you find the work interesting.

Again, you won't be able to choose your direct team, but interns often have a say in the type of work they do - usually through some combination of a survey, plus a team matching process. Get to know the teams, ask questions, and make your intentions known.

If you have to be a little aggressive to get what you want, so be it. Again, this is your career.

Strategy #2: Set clear goals

If you're lucky, your internship program will be an organized, well-oiled machine and your manager will present you with an internship project that's clearly defined with milestones and expectations.

Unfortunately, many interns aren't that lucky.

This makes more sense if you look at the situation from your team's perspective. Even though the company has a clear incentive in providing a stellar internship experience - meaning, they get to test-drive candidates at low costs - many mentors and managers do not have an incentive to support you. In other words, when it comes down to the work that gets promotions, bonuses, and pay raises, your happiness as an intern is a very low priority.

So, you may get stuck with a team that's unorganized, or - worst case scenario - completely uninterested in your professional development. It sucks, but it does happen.

Meet with your manager

Regardless if your team is organized or unstructured, set a meeting with your manager prior to the internship to get a sense of expectations. Don't be afraid to be upfront about what you want.

Example: My goal is to get a return offer. What steps would I need to take to get there?

When I met with my manager, I straight up asked, What would I need to do to get the Best Intern Ever award? Some people think this direct style of communication is cringey, but - in my opinion - as long as you're polite and friendly, being direct is totally fine. Look, closed mouths don't get fed, okay?

Here are some notes from that conversation with my manager:



Click to expand

Some directions for the directionless

If your manager has vague ideas of what success looks like or doesn't have a clear vision for your internship project, you'll have to take matters into your own hands.

Create a list of possible project ideas, set your own target dates and milestones, and present these items to your manager. Sure, as an intern, you won't have any clue as to what a suitable project looks like, but at the very least, you will show initiative and get the conversation started so your manager can point you in the right direction.

Here are some general resources you can use when setting goals:

Finally, the nuclear option

If nothing works, and your manager and mentor clearly do not care to support you, then talk to your recruiting manager. They can give your team a firm nudge, or - if necessary - transfer you to another team. This option is not ideal, but it's a last resort if everything else fails.

Don't forget to stay accountable

Goals are great.

But you know what's better than goals?

Accomplishments.

Because at the end of the day, if you don't have a set of tangible work that provides value for the team, you're not getting that return offer. So, get to work.

Attend the daily scrum meetings, set goals, and report your progress. Make sure you have standing meetings with your mentor and manager so you can provide updates and get regular feedback.

Strategy #3: Communicate clearly, and with ontention

As mentioned earlier, I've had a lot of prior experience in leading meetings and working with leadership. And during my internship, I leveraged this experience to ensure all my meetings and conversations were productive.

Because although your focus will be on developing your technical skills, soft skills are what set you apart and make you a great person to work with.

Here are some tips I recommend for standing out as a great communicator -

Create unofficial agendas for every meeting

No one likes wasting time.

So, with that in mind, you'd think managers would come prepared to every 1:1 meeting with an agenda in hand. But, you would wrong. Managers are very busy people, and preparing organized meetings for interns isn't a top priority.

Lucky for you, this is a great opportunity to shine as a go-getter.

Before you meet with a manager, mentor or any teammate, take the time to create your own objectives for the conversation and have a list of topics or questions to discuss. Don't be afraid to direct the conversation - remember, you're there to advance your career.

And, if you have nothing to talk about (but it's better if you do), you can always ping them and let them know upfront. Again, no one likes wasting time.

Ask for help the right way

Okay, this one is huge.

Asking for help is a necessary and important process in becoming a productive engineer. But the way you ask for help can either make or break your chances of getting a return offer.

Luckily for you, I have a neat framework I use, as taught by Codepath.org:

Example:


Click to expand

Framing your questions this way is great for a couple reasons:

That kind of professional communication is what will put you on the path to return offer.

Exhaust your resources before you ask for help.

Asking for help without attempting a solution beforehand is like asking someone to help you find a pair of glasses that's already sitting on your face.

Don't be that person.

The intern that can't do a basic Google search before asking for help will not get a return offer. It's just that simple.

But, you must ask for help if you need it.

The other extreme is the intern that spends days or weeks on a problem - wasting precious time that could have been spent building a valuable feature.

Don't be that person either.

Time box, or set a hard time limit for, your problem. This can be a few hours, but it should be no more than a full day.

Strategy #4: Promote your accomplishments

If a tree falls in a forest and no one is around to hear it, does it make a sound?

As an intern, I was lucky. Intuit's security team had a meticulously planned schedule and final event for interns to present their projects and demonstrate their value to the company.

If you're not as lucky, don't fret. You can find other ways to gain visibility. For example, you can record or present a demo to your internal clients (the people and teams you help with your newly-built features). Or, you can just schedule a meeting with your manager and team, just to present your work and findings.

But, the important part is that you must present your work. I wish I could say that being a hard worker was enough. But, it's not. People won't know your accomplishments until they see them, and they won't see them unless you shove it in their face.

You've already done the work - now show it off!

Last bits of advice

In sum, those four strategies helped me have a successful internship at a Fortune 50 company. As a brand new intern, I didn't have a lot of technical experience - but my communication skills and eagerness to achieve tangible goals set me apart from the crowd.

Some other bits of advice:

I hope this post was helpful for you! Do you have any other advice for interns or new engineers? Feel free to reach out to me at @katexcellence on Bluesky or Mastodon.