Home » MEng » Advice for Preparing for a Job in Software Engineering

Advice for Preparing for a Job in Software Engineering


By: Tara Gu (MEng ’15)

I’m Tara Gu. I studied Biomedical Engineering at Duke for my undergrad, and am currently a MEng ECE student. I have failed many times at job interviews, but I started to have more and more positive results, and finally a software engineering internship offer from Google, after I started doing the following activities:


Last year, I went to my first hackathon—HackDuke, and it was one of the best experiences I’ve ever had. There were more than 500 students from colleges all over the States (University of Illinois, University of Maryland, University of Virginia, etc). I met students, mentors (software engineers from sponsoring companies such as Google, Microsoft, Facebook, EBay, etc), and even medical school students who have no experience in programming, but want to collaborate with software engineers.

There was an expo of all the sponsoring companies, which was essentially a career fair. Engineers, not recruiters, accepted resumes and answered students’ questions, and gave out their contact information. After the hackathon, I requested an informational interview with an engineer from EBay, and he gave me useful advice.

During the HackDuke weekend, I slept for 20 minutes in 30 hours. The hackathon was draining, and I needed to go right back to my projects and study for exams after taking a nap. However, it reminded me that I chose to become software engineers because I love programming. In one of my Google interviews, I asked my interviewer what was one thing he recommended current students to do. His answer was hackathons. Software engineering requires dedication, because there will always be times when we run into difficult problems we can’t solve, and we tackle them relentlessly all days and nights. Hackathons give us similar experience while in school.

You can even continue working on your hackathon project as a side project after the event, and show it to recruiters/engineers at career fairs. I was asked numerous times by recruiters and engineers about my HackDuke project. Moreover, it you develop something portable (phone app or web app), you can do a mini demo at career fairs. As a side note, a student I know developed 2 iPhone apps during summer. Even though he did not have a summer internship, he snagged 12 next-day interviews after showing his apps to companies at TechConnect.

I encourage everyone to participate in hackathons before you graduate. There are many hackathons happening every weekend (Major League Hacking). I recommend selecting hackathons that have a good number of participants and mentors, and sponsoring companies in which you have interested.


Confidence is one of the most important tools in coding interviews. Companies want to hire people that are SOLID, which entails both how well you can solve coding problems, and how well you deliver your answers. In classes, I notice that there are students who answer questions in a way that they are sure and certain, even though their answers may not be correct. Many of them are international students.

Even though they aren’t native speakers, their confidence overcomes any language barrier. This also applies in coding interviews: one should be sure of what he/she knows. Even though your answer may not be 100% correct or has the best space and time complexity, it is important to stay grounded and assertive while working with your interviewer to come up with solutions.

If you think you are not assertive or confident, I recommend talking to a professor you know about ways you’re displaying a lack of confidence, then work out a way to improve them. If you think you have always has a lack of confidence, or certain events undermined your confidence, such as Duke CAPS confidence workshops for international students, as well as weekly support groups. If you have a coding interview coming up, this video will give a quick fix.


  1. That’s a great post because every software engineering students have to learn from here and also they h ave to join in internship which also helps to buildup their career in engineering job.

  2. This is great share for fellow software engineers that are coming up in the field. My advice for anyone reading would be to fully understand the core concepts, data structures, memory allocation, OOP, etc and put them into flash cards. Always need to memorize the buzzwords for a big interview.

    Cheers and good luck!

Leave a comment

Your email address will not be published. Required fields are marked *