6 answers
Asked Viewed 254 times Translate

I spent most of my software engineering internship not programming. Will that hurt me in interviews for full-time roles?

I'm a CS major in college and I am about to finish up an internship in backend software engineering at a division of a very large tech company. Most of my time was spent reading code, reading documentation, learning to use internal tools, writing configs, writing test cases, minor bug fixes, and spending a lot of time communicating or coordinating with coworkers, and there was not an emphasis on just writing code. Most of my tasks were not coding intensive, and looking at the rest of the team it looks like at least half of the team is more involved in testing/analysis than coding. This is very different from what I'm used to in my CS coursework at my University -- where our focus is almost entirely on writing code that solves assigned problems.

My question is, will this hurt me in interviews for full-time roles as a software engineer? If so, then what can I do to address that gap?

#software-engineering #programming #software-development #python #web-development #backend-development

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you
100% of 6 Pros

6 answers

Updated Translate

Kevin’s Answer

No, it will not at a reputable company. Many other students have had the same experience as you. Ultimately, this is going to come down to how you present yourself and your skills. Ultimately, coming out of school employers realize that we will need to help you in the transition, and that can often mean helping you become comfortable with the projects and technologies we're using. In my opinion, you should focus on being able to discuss the technical concepts associated with the type of development you like to do (frontend user-interface questions are going to differ from a backend database administrator for example). With that said, the second biggest thing you can show, and sometimes it's the most important, is that you are interested in the topics and want to learn more. This comes through in interviews often by asking questions or following up about a question an interviewer asked to get feedback on your answer or solution.

Kevin recommends the following next steps:

Practice technical interview questions, such as https://www.dailycodingproblem.com/
Build a project that interests you and release it on GitHub

Updated Translate

Daniel’s Answer

I agree with the others that your internship experience won't hurt. It's not like your company booted you off of the programming team because you were bad at it, and employers should know that you got programming experience from your university classes. The important thing is that when asked about your internship during an interview, you're able to express the utility of your work and the challenges that you had to overcome, and, if needed, discuss the problems and solutions in detail if the interviewer is interested.

There are a lot of things that an employer looks for, but those are typically things that are actually under your control. There are plenty of resources for software engineering interview prep, including the posts above.

Updated Translate

Jason’s Answer

There's no reason it has to.

First of all, this is the job. You need to know how to code to do your job and if you are not a good coder it's very hard to do your job well, but most of your day will not be spent coding at most jobs. You have to solve problems and often the new code that is written is a very small part (in terms of total effort) of the solution.

Second, let's talk about interviewing. When interviewing for full time roles you can break these interviews into three types -

Behavioral interviews - these will ask you to talk about things you've done. When done well, it will give you an opportunity to talk about real problems that you had a role in solving. I hope the lack of writing code at your internship did not mean you were unable to contribute in a meaningful way to solving the company's problems. The internship you had sounds like it would give you a good leg up on these kinds of questions.

Technical screening interviews - these will usually focus on basic knowledge, or reading your resume and trying to ask questions to get at what YOU actually did.

  • An example of basic knowledge question would be to ask you to explain garbage collection. For this one, your school or self-study is probably as valuable as the small amount of practical experience you got from an internship - including if you spent that time coding.
  • An example of the second kind would be, if you said on your resume that you "automated the release process and saved the company x hours per year" you'll have to be able to explain what parts were automated, what technology was used, and most importantly, what was your role in it. For this one, just don't oversell on your resume so that you feel like you're caught in a lie if you get pressed on it. Instead think of your actual contribution - I bet you contributed to real progress on something important while you were there.

Coding interviews - You might feel like you are at a particular disadvantage here, but really, these are often theoretical in scope - things you would never tackle in real life on the job. You should be prepared for these by having a thorough understanding of analysis of algorithms and basic data structures. But I've been at this a long time and I have never been asked to solve a problem in one of these that I have actually had to also solve as part of my job.

So, in short, the kind of more broad experience you got on your internship may give you a leg up in some kinds of interviews and should be no great penalty for other types of interviews.

Jason recommends the following next steps:

Read up on sample behavioral questions and think of how you would answer them. For examples: https://www.thebalancecareers.com/behavioral-job-interview-questions-2059620
Check out these resources from Cracking the Coding Interview. http://www.crackingthecodinginterview.com/resources.html

Thank you for the answer, and the next steps!!! It's application season right now and I'm just very nervous :') Anina H.

Updated Translate

Nitai’s Answer

If you are interested in software development, I would suggest to go through some challenging questions and see different approaches to solve the problem -
1- https://www.topcoder.com/
2- https://leetcode.com/
3- https://www.geeksforgeeks.org/
4- https://www.hackerrank.com/
5- https://www.freecodecamp.org/learn/

Updated Translate

Sou’s Answer

It will not hurt you. Like Jason said, engineers don't spend most of their time writing code. A big chunk of their time is spent in breaking problems down, in solution design. and they will spend time writing tests.

Finding out how to solve problems well is actually the most difficult part. It is difficult because you need to understand many constraints (time constraints, resource constraints, performance constraints, maintenance constraints etc).

That said, to pass interviews and to do the job well, you need to brush up your CS knowledge (data structure, algorithms, etc). Leetcode is a good online resource and Elements of Programming Interviews is a very good book to practice.

Don't worry, you can do this!

Updated Translate

Niteesh’s Answer

I would say, it will not have much effect on your interviews. Most developers (even experienced ones) spend only 50 -60% of their time actually coding. A major chunk of their time is spent in brainstorming and architecting an optimised solution for the problem statement. It's important that you understand why you do, what you do. Interviewers are concerned more with your approach to a specific problem rather than the solution itself.
Since most software companies require you to code in a highly specific domain, coding experience in previous companies is not of much value to them. Of course, you need to be proficient in programming languages, what they really look for is how well you know the coding best practises, how you devise a solution to a problem statement and your ability to collaborate with others.