Explore Computer Science
Don't stop your education when class ends. There are opportunities all around you to not only further your education and develop your technical.
—Ryan Zoeller, CSci ’18Computer and information technology impacts many areas of our daily lives from downloading a song to driving a car. Because many of our daily tasks involve the use of technology, computer scientists can be found in nearly all professional sectors, including big technology firms, government agencies, startups, nonprofits, and local businesses, both large and small.
Computer scientists conceive, design, and test logical structures for solving problems and find ways to do so—by designing applications and writing software to make computers do new things or accomplish tasks more efficiently. This may include, creating applications for mobile devices, writing web-based applications to power e-commerce and social networking sites, developing large enterprise systems for financial institutions, creating software to control robots, programming the next blockbuster video game, or identifying genes for the next biotech breakthrough.
Computer scientists often work on a more abstract level than other computer professionals. Positions are not limited to traditional technology fields either. More and more computer science is becoming necessary in every job category, while the computer technology industry is emerging as a new creative field.
*Salary and Career Outcomes gathered from the 2018-2019 CSE Graduation Survey. Post-graduation outcomes reflect the percentage of students who were employed full-time in their field or were enrolled in a graduate program at 6 months post-graduation.

What can I do with a major in Computer Science?
- Aerospace
- Automotive manufacturing
- Communication
- Computer-aided design
- Consulting
- Digital communications
- Electrical hardware
- Environmental agencies
- Factory automation
- Federal safety agencies
- Finance
- Hardware design
- Healthcare
- High speed computing
- Industrial/food products
- Information management
- Insurance
- Manufacturing
- Medical technology
- Product development
- Software development
- Systems consulting
- Technology
- Telecommunications
- Amazon
- Apple, Inc.
- Best Buy
- Cognizant Technology Solutions
- Cray
- Epic Systems
- Fast Enterprises
- General Dynamics Mission Systems
- IBM
- Infinite Campus
- Medtronic
- Microsoft
- National Instruments
- Open Systems International
- Target Corporation
- Thomson Reuters
- TripAdvisor
- Unisys
- UnitedHealth Group/Optum
- Wells Fargo
- Agile
- C#
- C++
- CSS
- Eclipse
- Excel
- GUI
- GWT
- HTML
- Java
- JBehave
- Linux
- Mac OS
- Mathematica
- MATLAB
- Microsoft SQL
- MotionLab
- NetBeans
- Scheme
- Scrum
- Server
- SQL
- Subversion
- Test Driven Development
- UML
- Unix
- Visual Basic
- Windows
- Application developer: Develop, create, and modify general computer applications software or specialized utility programs. Design software or customize software for client use with the aim of optimizing operational efficiency.
- Computer programmer: Write and test code that allows computer applications and software programs to function and turn program designs created by software developers into instructions a computer can follow.
- Computer support specialist: Provides technical assistance to computer system users in person, via phone or from remote location. They provide assistance concerning the use of computer hardware and software.
- Computer systems analyst: Study an organization’s current computer systems and procedures and design information systems solutions to help the organization operate more efficiently and effectively. They bring business and information technology (IT) together by understanding the needs and limitations of both.
- Database administrator (DBAs): Use specialized software to store and organize data, such as financial information and customer shipping records. Ensure that data are available to users and are secure from unauthorized access.
- Information security analyst: Plan and carry out security measures to protect an organization’s computer networks and systems. Their responsibilities are continually expanding as the number of cyberattacks increases.
- Software developer: Develop computer program and applications that allow people to do specific tasks on a computer or another device. Others develop the underlying systems that run the devices or that control networks.
- Web developer/engineer: Design, create, and modify Web sites. Analyze user needs to implement Web site content, graphics, performance, and capacity. May integrate Web sites with other computer applications.
**Some of these positions may require an advanced degree.
- Active Energy Club
- Association for Computing Machinery
- Association for Computing Machinery for Women
- CSE K-12 Outreach
- CSE Ambassadors
- CSE International Ambassadors
- Engineers Without Borders
- Girls Who Code Volunteers
- National Society of Black Engineers
- Plumb Bob Honorary Leadership Society
- Science and Engineering Student Board
- Society of Asian Scientists and Engineers
- Society of Hispanic Professional Engineers
- Society of Women Engineers
- Solar Vehicle Project
- Tau Beta Pi
- TeslaWorks
- Theta Tau
Get a PDF of this information here.
Q&A with Ryan Zoeller, National Instruments, Software Engineer
My responsibilities include:
- Maintaining and improving support for hardware-in-the-loop test software, including developing real-time software targeting Linux RT
- Application software development for Windows using C# and WPF
- Improving automated testing for existing software targeting Linux RT and other real-time operating systems
What’s a typical work day?
I work independently on software development and testing projects in areas being newly explored by the company. I collaborate with other engineers for code-reviews and brainstorming improvements to existing solutions. Plus, I periodically sync up with project managers on development status and feedback from marketing and systems engineers on customer needs.
What qualities are important for this position?
- Ability to work both independently and collaboratively, especially in areas where little existing knowledge exists among team-members.
- Critical thinking and willingness to find root-cause of problems.
- Willingness to interact with people across multiple divisions of the company and outside your area of expertise.
What about technical skills?
- Multilingual knowledge of programming languages, especially including a willingness to learn new languages and the paradigms considered idiomatic to them.
- Ability to critically evaluate your own work and the code delivered by others.
- High-level understanding of different operating-systems and digital hardware.
What training were you offered for your position?
New employees are all given a week-long training on National Instruments’ (NI) software and hardware. Beyond that, NI pushes continuous learning and training including an annual R&D-wide multi-day conference where engineers can present to their peers on topics of their choice. We are encouraged to participate in learning through book-clubs where teams read and discuss topical books such as CLR through C# and Clean Code.
What part of your job is most satisfying?
Working in areas being newly explored by the company where I can make tangible change and directly impact customers.
Most challenging?
The area I am working in is relatively new and generally not well established. I am sometimes the first person in the team to work on a problem, and I am responsible for becoming the subject matter expert so that I can share that knowledge with others.
What are your possible career paths now?
Software engineers typically move upwards along a track, which keeps them programming, meaning that employees do not have to take on management responsibilities if they would prefer not to. Opportunities are available however for developers to take on roles as scrum masters, project managers, and product support engineers who interface more directly with customers.
Don't stop your education when class ends. There are opportunities all around you to not only further your education and develop your technical skills, but also to network and meet contacts who will help you post-academia.
Any other advice you’d like to share?
Internships are an excellent opportunity to try something you might not normally do. I moved to Austin, Texas (it’s really hot and doesn’t snow, if you're in to that) following my sophomore year for an internship with NI, and ultimately ended up at the company full-time. If you don’t end up enjoying an internship, you have an easy exit strategy. So, take advantage of that and be adventurous.