What Can I Do With A Computer Science Degree?

From CompSciWiki
Revision as of 23:23, 6 December 2010 by JacobF (Talk | contribs)

Jump to: navigation, search

COMP 1010 Home > Comp Sci and U


Introduction

Do not take any of this information as fact, it is a work in progress.

A recent Computer Science Graduate

Software Developer for a Tech Company

Applications Style of Programming


Applications developers generally make software that provides services to the end user (e.g. web processing software). This is the most common type of programming in the IT world. The most common areas are listed below, keep in mind the categories are not fixed there can be mixing in them. For example a programmer analyst, which is a combination of software developer and software analyst.

General Application Software Developer

Usually referred to as Software Developer or Software Engineer. This encompasses anyone who works on applications and is not primarily concerned with Web Development or analyzing the application.

Software developers spend most of their time designing and programming non-web applications (that may eventually be converted to web apps), the rest of the time they analyze requirements and write documentation for the application. The steps a software developer follows are (the 3 last steps can be iterative):

  • Gathering Requirements: involves making an outline of how the application should work and the number of features it will have, based on potential users requirements. For some companies software developers will have to interact with potential users directly to make requirements.
  • Designing the application: involves developing a plan to fulfill all application requirements in a set of programming languages, this is where design patterns come into play.
  • Programming the application: making the code for the application then testing and debugging it.
  • Writing Documentation: Describing how the application works outside of the code.

Software Developer Average salary: $48,153-$74,325
Senior Developer Average salary: $68,714-$94,189

Web Developer

Web Development involves developing software that governs how a page functions and looks. There is 3 main tiers to Web Development:

  • Client Side: Code that is run inside a clients browser which mainly involves the appearance and navigation of a website. Some languages used for this are HTML,CSS,and JavaScript
  • Server Side: Code that is run on a website server which mainly involves the functionality of a website. Some languages used for this are PHP,Java,and .Net Languages (e.g. C#)
  • Database to Server Side: Code that governs how data that is read from some form of database is transferred to server side code. Some languages used for this are C++, SQL, and ...

Depending on the organization a web developer may specialize in 1 tier or work in any number of tiers. Generally as the size of the company decreases the amount of areas a web developer is responsible for increases, so it is possible in some small companies for web developers to handle database management. In the first tier web developers usually work with designers to make sure the website looks good. In the second tier web developers usually work with other web developers and sometimes with non-web applications programmers to ensure all needed functionality is present. In the third tier web developers usually work with Database Administrators and systems programmers to make sure code is efficient and correct.

Web Developer average salary:$38,277-$61,518
Senior Web Developer average salary:$52,776-$73,578

Software Analyst

Software analysts act as a bridge between potential users and software developers.

Software analysts primarily review software specifications, test applications, and provide documentation for the software. The software specifications are usually derived from a Business Analysts interaction with potential users. Using this knowledge the software analyst then reviews and refines the specifications for software developers. After that Software analysts spend a lot of time testing the application to make sure it works. Also in some companies Software analysts will be involved in the process of developing code. Finally once the application is developed to a sufficient degree the analyst writes documentation about the application. This usually involves writing about how it functions, training required, tests performed, changes they made to the program and so on.

Software Analyst average salary:$42,415-$61,112
Software Analyst average salary:$58,391-$80,485

Systems Style of Programming


Wrote this to see how the formatting looks

Database Administrator

One viable and high-paying career path you can take with a Computer Science degree is to become a database administrator (DBA). DBAs are responsible for the implementation and design of an organization’s databases. They must consider installation, storage, and security when designing and implementing database systems.

DBAs are responsible for the installation of database software. They also have the task of configuring and maintaining the software. Systems Administrators will usually work closely with DBAs, as the organization’s hardware dictates which software is the most efficient. Planning how much storage is necessary for a database system is left to the DBA. The DBA must closely monitor the available disk space and make changes to the database system as necessary. The DBA is also responsible for backing up the database server.

Databases are attractive to hackers, as they store an organization’s data in one place. It is up to the DBA to address and prevent security threats that may arise. The DBA is responsible for managing user accounts, this includes creating accounts, managing permissions, and auditing.

DBAs make between $48,145-74,097 annually, with senior DBAs making $69,585-$88,078. If you have strong organization and logic skills, then a career as a DBA may be right for you. DBAs design, implement, and manage database systems for organizations and are paid well for doing so.

System Administrator

With a computer science degree, you also have the choice of becoming a Systems Administrator (SA). The SAs job is to keep an organization's computer systems running efficiently. SAs are responsible for installing and supporting computer systems for organizations. There is a demand for SAs, as computers have become prevalent in the workplace. SAs perform a variety of tasks everyday, and any coding they do is generally limited to scripting languages.

It is the SA's job to install computer hardware including servers, PCs, and network equipment. This means the SA must be acquainted with a variety of computer technologies. The SA must also look after software installation on company computers. While installation is very important, the SA must also maintain and upgrade the company's hardware and software.

In addition to the technical skills above, the SA needs good communication skills. Whenever other employees have a problem they call for the SA. The SA is responsible for training staff on how to use technological equipment properly. The SA is also responsible for supporting staff whenever they have a technological problem.

The average salary of a SA is $42,872-$60,166 annually, and $57,457-$74,079 annually for senior SAs. Becoming an SA is requires good communication and problem solving skills. It also require a lot of technological knowledge. If this sounds interesting, then you should consider this career path.

A recent Computer Science Graduate

Research

Generally getting a paid research position with a Computer Science bachelors degree is quite hard because the number of jobs available is limited and a masters degree or higher is usually required. That said a Computer Science degree opens up possibility of getting a Masters where you can research and learn a lot more about a specific area of Computer Science.

Getting a Masters degree in Computer Science gives you the chance to work on the cutting edge ideas of Computer Science and to earn a higher salary than non-masters students. The hard part is actually completing the degree. The Masters program of any faculty generally is a lot tougher than the undergraduate one, this is especially true for Computer Science which already has one of the tougher undergraduate programs. This toughness usually comes in the form of more a lot more work than the undergraduate program.

Should you find a research oriented Computer Science position (with or without a masters degree) you will spend a lot of time on theoretical abstractions and less on actual programming. Though keep in mind unless you work at a university as a researcher or like position you will eventually have to produce tangible results.

Computer Science Researcher average salary:$52,381-$87,275

Computer Scientist Edsger W Dijkstra

Teaching

In progress...

A recent Computer Science Graduate

Writing / Blogging about the Industry

In progress...

A recent Computer Science Graduate

Start-up Company Partner

One of the most intense, risky and rewarding things you can do with a computer science degree is be a start-up partner. The founder of a IT company usually works much longer and harder than other types of IT jobs. The reward of this hard work is total freedom of choice in your life

A founder has to endure poverty, exhaustion and make very tough decisions. You will be poor for most of the initial stages of the start-up, because almost all funding and profit must go to the company. Exhaustion comes into play when you just start because you will probably not be used to the intense work schedule. The work schedule is intense because there is a small group of people (usually 2 - 6)who have to accomplish a large number of tasks like programming and accounting. After the initial week or 2 major decisions will have to be made on all types of matters, like software or marketing style. Every major decision at this point must reach consensus meaning everyone needs to make a decision. Keep in mind if the company does not succeed you will lose all your progress and have to start again.

Should you survive this intense process (and do some other things right) you will reach a point where you will no longer be poor, and will have a more reasonable but still intense workload. The tough decisions still remain but once the company is successful i.e. making a profit you have an unparalleled sense of freedom to take your life where you want. Though there is one downside; as the start-up becomes more successful, you will do less and less code and more business tasks.

Startup company partners income varies a lot depending on the business. Once the business is successful the median is about $200 000.

Google's original homepage
Previous Page: Comp Sci and U Next Page: Meet Some Computer Scientists