Where Our Grads Go

Master's study in ECE at Duke prepares students to work with some of the world's most important tech companies and to develop their own entrepreneurial ideas.

Companies that have hired our students in recent years include:

  • Amazon
  • Apple
  • Cisco
  • Google
  • IBM
  • Microsoft
  • NVIDIA
  • Oracle
  • Qualcomm

Meet Our Students

Wankun Zhu - Google

Wankun ZhuSoftware Engineer
Mountain View, CA USA

MS, Electrical and Computer Engineering, 2016
Undergraduate Degree: Biomedical Engineering, Shanghai Jiaotong University
ECE Master's Program Path: Coursework MS

What work do you do?

I work as a software engineer at Google, on a service area business team within Google Ads. We provide an advertiser platform for small and medium home service providers that helps them connect with consumers with different needs. The team on which I work was founded just last year, but it’s grown quickly (doubling in size!) and we’ve already launched many products. I work specifically on backend development for communication channels between service providers and consumers. Being a new employee at Google and a member of a newly founded team has been very challenging. All of the projects are new, we ship new features very quickly, and a large company like Google has a very complex system of internal tools. It took some time to learn this system, and it is very different than being at school. However, my graduate studies at Duke made the transition much easier.
 
How did your time at Duke prepare you for your current job?

I had a great time at Duke, and it was a valuable learning experience. The many cross-departmental courses between ECE and CS provided me with fundamental computer skills. I took courses that focused on learning how to write code, on algorithms to make that faster, and on operating systems and distributed systems. These skills gave me broader options with my career choices. And the career fairs gave me a good chance to talk to recruiters and engineers face-to-face to ask questions about their companies, and more importantly they gave me a chance to share my resume and get interviews.
 
What was the most valuable part of your Duke experience?

The most valuable experience I had at Duke was getting to know all of the friends that I did. With them, life is always inspiring and enjoyable. I met one of my best friends (who later became my roommate) working on a project for a computer science course. I still remember the days we stayed late in the library working on projects! I also loved the E-Socials on Fridays during the semester – what a lovely break from a week of busy study.
 
What were the most useful classes that you took?

There is no "most" useful, every class was useful! But, I definitely recommend ECE 551 – Programming, Data Structures, and Algorithms in C++ for incoming students. ECE 551 made me familiar with a language. The point of learning a programming language is that we can easily pick up any other language after entering industry.
 
What advice would you give to someone considering a master’s degree in ECE at Duke?

From my learning experience: projects, projects, projects! Projects are the most important part of learning, always be sure to get your course projects down seriously, they help you more than you expect. If you have done a lot of great projects, your portfolio will look great when applying for jobs (don't forget to put them on your resume!). The large number of projects that we did was something that was particularly good and important about the program at Duke. And enjoy the beautiful campus at Duke!

 

John McCrone - IBM

John McCroneSoftware Engineer
Durham, NC USA

MS, Electrical and Computer Engineering, 2015
Undergraduate Degree: Physics, US Military Academy at West Point
ECE Master's Program Path: Project MS

What work do you do?

I work in Websphere Datapower Level 3 Support.  Primarily, I identify and fix bugs in the network appliance firmware source code in areas of stability, performance, functionality, and usability based on support requests from both domestic and global enterprise customers and work closely with those customers to ensure product satisfaction. I write software fixes mostly in C++ running in a Linux environment. In addition, I examine network packet captures, error reports, logs, and backtraces for clues about the root cause of failures and write programs to assist with examining the data. I also develop complex recreate scenarios including simulating the responses of other devices on the network, and I assist with development of new product features designed to provide more information in troubleshooting and improve the reliability, availability, and serviceability of the product.

How did your time at Duke prepare you for your current job?

While a Duke, I was able to gain exposure to a lot of different areas of computer engineering. It gave me the time to realize that I actually enjoyed the software side of the field more than the hardware side, which was surprising to me given my background in physics. I also felt like most of the classes that I took had an application driven project rather than necessarily being fully focused on research, which I thought was very helpful, given that I wanted to work in industry.

What was the most valuable part of your Duke experience?

The professors and their willingness to work on projects outside the scope of class were the most valuable parts of my educational experience. Particularly, my master's project exposed me to a lot of different things in a project of much larger depth than I would have been exposed to if all I had done was normal course work. Although it was very frustrating at times, I thought it was a great experience and would recommend it as a good option to get even more knowledge and practice out of the degree. 

Tell us about your master's project.

I worked on a project with Dr. Drew Hilton which involved taking an open source, pipelined processor core (OR1200) and modifying the source Verilog to make the core superscalar (able to execute more than one instruction per clock cycle).  I also was able to install the design on an FPGA, boot Linux, and run some of the SPEC CPU2006 benchmarks to measure the performance increase. The project took almost a year to complete, but I felt that going through the whole process helped greatly prepare me for the workforce. Even though it was a hardware project, I was able to learn a lot of skills that I am current using as a software engineer including a much stronger understanding of Linux and Linux administration, Bash scripting, using Git as source control, working within the open source community, examining assembly to determine exactly what is failing when working in C/C++, debugging hard to understand problems, and computer architecture concepts. 

What were the most useful classes that you took?

To me, the most useful classes were the ones that gave me programming experience, particularly ECE 551 and 550. I had almost no programming experience prior to 551, and that class brought me to significant level of understanding of C and C++ in particular, as well as programming in general including object-oriented programming. The other classes that I took gave me a broader understanding of a computer all the way from the semiconductor level to the systems level, and taught me a lot as well.

What advice would you give to someone considering master's study in ECE at Duke?

Duke is a great place to get your master's degree in computer engineering, especially if you are in a similar situation to me where your undergraduate degree is in a field other than ECE. The program is setup to accommodate this.  Even if you do have that background, Duke has a great set of faculty which will allow you to quickly expand your knowledge in your particular ECE focus area. Either way, I think you should strongly consider the program.

Jonathan Buie - Class of 2017

Jonathan BuieMS, Electrical and Computer Engineering, 2017
Durham, NC USA

Undergraduate Degree: Electrical Engineering, University of Illinois-Champaign, 2014
ECE Master's Program Path: Project MS

Why did you choose Duke for your graduate study?

I chose Duke because of its commitment to each one of its graduate students, and because of Duke's commitment to increase the presence of students of color. In addition, my research as an undergraduate student had medical applications, and that led me to look at Duke for graduate study due to its excellent reputation in biomedical engineering.

Duke has provided me the opportunity to mature not only personally, but also in technical knowledge. Studying for a master's degree have given me more confidence in my technical skills, while providing me with the freedom to explore outside interests in the form of start-up ventures and professional development opportunities.

What has been the most valuable part of your educational experience at Duke?

The most valuable part of my educational experience has been close interaction with faculty. As a graduate student, I've had the chance not only to take focused classes, but also to get more one-on-one insight into technical expertise and how to tackle tough problems. At the same time, I've been inspired and motivated by being surrounded by other talented and creative students.

Which classes have been the most useful?

Courses I've found useful have been ECE 551 for teaching the fundamentals to professional programming and essential programming skills, ECE 651 for introducing professional software engineering practices and understanding the importance of documenting and recording software solutions, and ECE 590.04 (Team Design Challenge) for providing an opportunity to take on real-world problems and develop creative, innovative and hands-on solutions.

Tell us about your research project:

My masters project is part in my involvement with the Shell Ocean Discovery XPRIZE competition. The project began as part of the ECE 590.04 Team Design Challenge Course taught by Martin Brooke and Tyler Bletsch. The goal of this competition is to create a system to accurately map our oceans. My role is creating a portion of a synthetic aperture sonar diving pod. I am creating a system that combines sensors to record the precise location of the diving pods as they drift through the ocean.

What advice would you give to someone considering applying to the Duke ECE master's degree program?

The Duke experience is what you make it.  The university has resources invested in just about any field of interest that a student might have. As a graduate student, you have more access to distinguished professors. If they are conducting research you are interested in, you can reach out and potentially join their group.  Take advantage of resources outside of class, such as the DUHatch student start-up incubator or the Deep Sea Start-Up Challenge, to get your ideas out into the world.

Karl Tao - Apple Inc.

ASIC/IP Design Engineer
Cupertino, CA USA
MS, Electrical and Computer Engineering, 2015

Undergraduate Degree: Information and Communication Engineering, Zhejiang University, 2013
ECE Master's Program Path: Project MS

What work do you do?

I work principally in imaging subsystem design/integration. My responsibilities include feasibility micro-architecture, RTL, physical implementation and post-silicon system bring-up.

How did your time at Duke prepare you for your current job?

I took some great courses from some amazing computer engineering professors at Duke, which helped me improve my skill set based, which I had learned during my undergraduate studies. Before graduation, I received very good advice from the Duke Career Center, which helped me obtain a position with Apple.

Tell us about your project:

The project centered on In-order Continual Flow Pipelines
, implementing the iCFP structure based on an OpenRISC Core in ORPSoC environment using Verilog
. Functional correctness (boot Linux, run SPEC, etc.) was demonstrated, as well as performance and power analysis.