what does a computer programmer do on a daily basis
Hi,
I am in 6th grade and I want to know what they do on a daily basis #computer-science #computer-programming
3 answers
Mike Clement
Mike’s Answer
I've worked at several different companies and what you do on a daily basis depends on the company you work for, the project you're working on and your team. There are some common activities though. I'll give an example day here but like I said, it can vary a lot.
Most teams I've been on start their day with a daily standup meeting. As implied in the name, you stand up for this meeting, it lasts 15 minutes and allows the members of a team to discuss what they got done the previous day, what they're going to work on today, coordinate any work within the team, make plans to coordinate with other teams as necessary and share any things that are blocking progress and hopefully get help from the team on how to overcome those.
Then, depending on the team, you generally start working on whatever part of the software product you are currently working on. This will usually involve:
- writing unit tests (small automated tests that help you know that your code is doing what you expect),
- writing the code for the product,
- improving or building the deployment pipeline,
- designing your code at a whiteboard (often with a teammate) and
- working with stakeholders to discover and make sure you're building what the end users actually need.
Often you will have meetings within your teams to discuss solutions or with other teams to discuss how your piece fits in with the bigger product. Many teams will have meetings every week or two to plan larger pieces of work and to work on their process to work together more effectively.
While coding skills are important to being a successful software developer, communication and continuing to learn are the biggest additional skills needed to be successful in a software development career. It's a great career and I would recommend that you find an adult that you trust that works as a programmer to take you to their work for a day to see what it's like!
Max’s Answer
In both scenarios you'll likely start the day with a quick meeting on what you accomplished yesterday, what you plan to do today, and if you are blocked on progressing on anything and need help.
From there you'll go and start doing what you just set out to accomplish. Much of these tasks will be given to you by a manager or will be taken from a to-do style queue that is shared with all team members. If you're on the senior end of things you may also spend some time reviewing code that others write and giving feedback/guidance.
Around noon everyone will either go pick up lunch together or people will split and eat on their own. Depending on your timezone and how spread out your company is, after or during lunch may be a popular meeting time. In the US 1pm on the east coast is 10am on the west coast which is when the day on the west coast really starts. So popular meeting times will just depend on the company you are at.
After that most of the rest of the day is spent on programming tasks for senior and junior individuals. Around 5 or 6pm you'll reach a stopping point on the task you're working on and save the rest for tomorrow. Rinse repeat.
On a higher level you can expect to meet with your manager to discuss progress, meet with your team to discuss work that needs to get done, or meet with your company to discuss organizational goals on some sort of regular cadence. Usually weekly, every other week, and quarterly respective to each of those meetings.
Things vary a little company, by company so it's always helpful to ask when interview with a company. The recruiter or interviewer will be able to tell you exactly what you can expect at their company.
David’s Answer
A computer programmer is a problem solver and a teacher. A computer program is just a detailed sequence of instructions for completing some task. It has to be incredibly detailed, because computers are blindingly fast but incredibly dumb. So your job as a programmer is first to understand exactly what the task requires. If you were writing instructions to go outside to play, you might include a step "put on shoes". If you gave that step to the computer, it would put on its shoes but it wouldn't know it should put on socks first, nor would it understand that shoes are supposed to be tied. That's why programmers are teachers. The computer doesn't know, and won't assume, anything. If you don't tell it exactly what to do, the computer just won't do it. Amazing, isn't it? You're much smarter than a computer. Computers only look smart because they're so fast.
A programmer is also a detective. A programmer has to look at what the computer did and figure out why it went wrong. Trust me, it's going to go wrong. Somewhere there was an instruction that's missing, or wasn't quite correct. In your go-out-to-play program you told the computer to put on its shoes, right? Did you tell it which shoe goes on which foot? No? Oh well, time for the next version of your program. When a computer program messes up, we say it has a bug. The very first computer bug really was a bug. It was a moth that flew into a room-sized computer, landed on a bare wire and got fried. Finding the errors in a program and fixing them is called "debugging". You'll do a lot of it.
A computer programmer is a builder, too. Real programs have hundreds of thousands of steps, or even millions of them. We can manage that complexity because we reuse a lot of things. Once you get your program successfully putting on shoes, you can save those instructions and use them again any time you need to put on shoes. You can make the instructions more general, so they can also be used to put on socks, or boots, or sneakers, or soccer cleats, or even ice skates. Programmers create whole libraries of program fragments to do common tasks. Learning where to find those libraries and how to use them is an important part of becoming a programmer.
Sharing libraries means working with other programmers, so you'll also be an author. You'll need to write your program, but you'll also need to write instructions -- for humans this time -- about how to use the program. There's a lot of sharing that goes on among computer programmers. Programmers that share particularly great code become very well known. The computer system called "Linux" is probably the most widely used program today. It's at the heart of Google and Amazon and Facebook and every Android cell phone. Linus Torvalds was a 21-year old student in Finland when he created the first version. Today pretty much every computer programmer in the world knows his name.
What will you get if you choose to be a programmer? You'll get the fun of creating something and seeing it work. It's easy to test programs on a computer, so you'll run them often. It's a great feeling to build something out of just your thoughts and see it come to life. You'll get the pleasure of seeing other people use what you created. That's a really great feeling. And you'll have a hobby, or a career, where you'll never run out of new challenges because a computer can be taught to do anything that you can imagine.