You are here

Computer Science Engineering Success Stories

About me:
Anna Baker
B.S. Computer Science and Engineering (2015)
Red Hat, New York, NY

Describe your overall duties/responsibilities as a Middleware Consultant: 
In summary, I am a client-facing software engineer.  I work with different clients on short-term or long-term projects building middleware applications for DevOps, Continuous Integration, or Cloud-based development projects.  The work changes based on the project, which is a huge reason why I love my job.  Many of our consultants travel non-stop, but since I'm located in NYC, most of our projects are local and don't require a ton of travel.

Explain the skills/abilities that are required for being successful in your role: 
Having a thorough understanding of Java is pretty important.  In addition, the projects are always changing and so are the technologies.  It's imperative that you are willing to study and keep your knowledge up-to-date.  Most importantly, since this is a client-facing role, excellent soft skills are a must.

What advice would you give to students who are considering majoring in Computer Science and Engineering:
Be realistic when you enroll in classes.  CSE is very hard (although I'm sure other students have had differing experiences).  You can be the most intelligent person in the class, but it still requires a pretty hefty amount of (wo)man-hours.  Also, I wish I had followed this advice myself, but GO TO YOUR PROFESSOR'S OFFICE HOURS!  They are here to help (even the ones who pretend like they have no interest).


About me:
Winnie Li
B.S. in Computer Science and Engineering (2017)
Microsoft, San Francisco, CA

Describe your overall duties/responsibilities as a Product Manager:
I'm working as a Product Manager on the Microsoft's Mobile Center team, which is a suite of mobile development tools aimed at streamlining the DevOps cycle for developers to build, distribute, test and analyze mobile apps. Overall my role is to set vision, strategy, and define "what" needs to be built. I'm also responsible for advocating for our users and translating their needs into product features and specifications.

Explain the skills/abilities that are required for being successful in your role:
Being a PM is a highly collaborative role so having soft/interpersonal skills is definitely important. On a day-to-day basis, I'm working with engineers, designers, sales, and marketing staff, so I need to be able to work and communicate effectively with people from different backgrounds. This also means having strong leadership skills and the ability to lead a team without authority. It's important to be able to earn the respect and rally a team behind an idea by having research and data to back it up and by influencing with a strategic vision.

Another important skill is having a strong design and product sense. It is the PM's job to define "what" needs to be built and what features need to be prioritized. This means understanding how to talk to our users and understand their pain points. It's crucial to be empathetically focused on the user when thinking about design but also being able to balance those needs with the company's internal strategy and engineering constraints as well.
   
Finally, having a strong technical background is not always required for a PM role but working in a tech company on developer products, it's very important to understand the product on an implementation level. Understanding "how" things are built (not just "what" needs to be built) helps you understand various technical constraints and helps establish a stronger and more productive relationship with the engineering team.

What advice would you give to students who are considering majoring in Computer Science and Engineering?
Explore different opportunities and options within computer science and get involved! Join a student organization, participate in research, attend hackathons, work on side projects, etc. All these activities enhance your classroom experience and allow you to learn different skills and build relationships that can help you grow and advance your goals. Computer science is such a versatile field where you can work in practically any industry so make sure you try new things - even things that might make you uncomfortable.
   
Also don’t be afraid to ask questions. It can be very intimidating when a lot of people in the field seem like they have years and years of experience in programming but it's important to understand that people are here to help you learn. Go to office hours, ask questions in class, and take advantage of all the resources here on campus.


About me:
Tyler Moore
B.S. in Computer Science and Engineering (2016)
Amazon, Seattle, WA

Describe your overall duties/responsibilities as a Software Development Engineer:
Broadly speaking, our team is responsible for the availability and uptime of the Amazon retail website. When there is an outage, our team is often one of the first ones to detect it and respond. We build large scale systems to detect, notify, and mitigate outages during all stages of development. Within the team, I'm a software engineer responsible for developing and maintaining one of our team's tools which specifically tracks and relates fatals across thousands of real-time service logs.

Explain the skills/abilities that are required for being successful in your role:
Speaking specifically to my team within Amazon, strong back end development skills are a must. Amazon runs on a micro-services architecture and interaction with other backend services is incorporated in most development efforts. We are also entirely built on top of AWS services. While you can pick up many of these on the go, knowing how to use AWS EC2, Lambda, DynamoDB, IAM, S3, CloudWatch, and ElasticSearch is a plus. We also do a variety of front end development, mostly around the AngularJS framework. Beyond technical skills, Amazon has a strong culture of ownership and having a bias for action. There is plenty of support to help you learn along the way, but you're expected to be able to dive deep into your role and continuously improve your ability to operate independently and to provide the best customer experience possible.

What advice would you give to students who are considering majoring in Computer Science and Engineering?
Never hold yourself back because you think you need to learn more before you're ready to build something or to go after an internship. It never hurts to give it a try! There are plenty of wonderful resources to help you get hands on experience with new languages, frameworks, or anything development related. Consider online academies like Treehouse, CodeSchool, or Lynda, or even a summer coding bootcamp like Horizons or Hack Reactor. If you're applying for computer science internships, do some research into technical interviews (Cracking the Coding Interview is a great introduction). I walked into one after switching from another major terribly unprepared because I didn't realize how much different they would be from the traditional behavioral interview. Lastly, have fun! The computer science curriculum is demanding, but it's important that you enjoy your college experience outside of the classroom as well. Take time to step away from difficult assignments and refresh your mind. It'll help get them done in the long run and it'll be a better overall experience for you too.


About me:
Ayush Kalani
B.S. in Computer Science and Engineering (2016)
JP Morgan Chase, Columbus, OH

Describe your overall duties/responsibilities as an Application Developer: 
As a developer, I will work in application design and development. Facilitate development, support to the QA team and peer/code reviews, incorporate security requirements into design/development, and provide input to information/data flow. Comply with project life cycle methodology and adhere to IT control policies and guidelines. Incorporate corporate architectural standards into application design specifications. 

Explain the skills/abilities that are required for being successful in your role:

Hands-on experience with RDBMS, shell scripting, SDLC and web services is required. You need to possess strong programming skills in java, javascript, xml ,and sql. Also, it’s important to display strong communication and problem solving skills.

What advice would you give to students who are considering majoring in Computer Science and Engineering?
Take part in hackathons and join CSE related clubs like ACM-W or Open Source Club to gain more knowledge and understanding of CSE field. Begin early on in your first year and look for companies which target freshmen like Microsoft's Explore Internship Program. Go to career fairs and register with ECS to network with different companies. 


About me:
Mark Vlcek
B.S. in Computer Science and Engineering (2012)
Cisco Systems, Inc. , San Jose, CA

Describe your overall duties/responsibilities as an Information Security Engineer/Investigator:
As a member of the Computer Security Incident Response Team (CSIRT) within the Information Security (InfoSec) organization, I partake in monitoring and investigations of any cybersecurity incidents that occur on Cisco networks or devices. I also write tools & scripts that help improve our security posture in the cloud (AWS, OpenStack, etc.).

Explain the skills/abilities that are required for being successful in your role:
The ability to work well with others across all regions around the globe, programming/scripting, cloud platform familiarity, and an understanding of the cybersecurity threat landscape as it evolves each and every day are all necessary for being successful.

What advice would you give to students who are considering majoring in Computer Science and Engineering?
To students considering majoring in Computer Science & Engineering (or similar), I would suggest that you look into the many different career paths that the field offers and try to pick one or a few that would interest you the most (programming, DevOps, program/project management, management, networking, SysAdmin, security, etc.). Then, focus on the skills that that/those specific job(s) require(s). There are tons of fields and focus areas within the broader scope of the tech industry and each requires different areas of expertise. Don't overwhelm yourself thinking that you need to master everything from low-level firmware development to enterprise platform architecture, just focus on what you love with goals to always be learning something new and relevant!


About me:
Samarth Savanur
M.S. in Computer Science and Engineering (2016)
Intel Corp., Hillsboro, OR

Describe your overall duties/responsibilities as a Software Development Engineer:
I currently work as a Software Engineer in the Department of Automated Manufacturing Operations and Execution Controls inside the Logic Technology Development Division. My responsibilities include automating the tools by owning few on them for the next generation Intel chips.

Explain the skills/abilities that are required for being successful in your role:
Software Development Engineering, Object Oriented Design/Development, Data Structure Techniques, Algorithm Design/Development, Rational Database Design (SQL), Software Quality/Debug/Test/Validation, and Data Mining Algorithms.

What advice would you give to students who are considering majoring in Computer Science and Engineering?
Be well versed with the basics of Data Structures and Programming. Also, be sure to possess a solid understanding of algorithms. You will need to be able to come up with the right algorithm, given a problem. It’s important to have OOPS, JAVA, and Python skills.