A day at the Office


Let’s talk about something you won’t learn in your computer science class. The goal of this article is to answer the question, what does a computer scientist do? What can I expect at my first internship? How are tasks distributed?

Let’s start with the fact that a programmer, who is hired at an IT company or works in the IT department, seldom works alone. In your computer science class you almost always code by yourself. But in the real working world you will be part of a team. Work will be divided among you.

You will be delegated a ticket. A ticket is a description of a task that needs to be done. Tickets can come from within the IT department. For example, one of your team members may notice a bug. Or, a ticket can be a request from outside the IT department. For example, from another department within your company or even a customer request.

Tickets are written and then put in backlog to be delegated and discussed at planning meetings. In this meeting tickets are picked for a two-week period. A two-week cycle of a project or work is called a sprint.

When a programmer is complete with a ticket. S/he will write code to automate a test for his own work. So completely a ticket is usually a two-step process. You complete the task of the ticket and then you will test it (automated).

A green test is a working test.

A red test is a failed test.

After a successful green test, the developer will ask for a PR or Pull Request. A pull request is a request for another developer to review and approve your code.

Once approved your pull request will be merged into the Main branch.

Developers work in branches. A branch is a copy of the code that the team is working on.

Sometimes when two developers change the same line of code you get a merge conflict. In this case a reviewer will look at the changes and decide which one is best.

This is what a developer does in a nutshell. Your computer science class will only teach you how to code, but there is so much more to being a computer scientist than just coding. It involves a lot of teamwork, a lot of communication, more meetings than you think is necessary, and twice as much problem-solving skills. And let’s not even talk about deadlines and being on call.

But at the end of day, if you love what you do, it’s all worth it!