4 answers
Asked
424 views
How is the computer science work field like?
typical work day?
Login to comment
4 answers
Updated
Mark’s Answer
If you're an introvert who enjoys solving puzzles, you may find a career in a tech company like Intel to be comfortable. However, it's essential to consider the impact of spending extended periods with machines, which might lead to a sense of emptiness. To explore a more fulfilling career option, consider interacting directly with people by working in a service-oriented role.
For example, I am now working as a cashier at a retail store like Fred Meyer, where you can help customers with their everyday needs and gain a sense of satisfaction from assisting others.
That's not what you're looking for, I know. But: there's nothing like the feeling of being part of a team you can rely on when life gets difficult.
For example, I am now working as a cashier at a retail store like Fred Meyer, where you can help customers with their everyday needs and gain a sense of satisfaction from assisting others.
That's not what you're looking for, I know. But: there's nothing like the feeling of being part of a team you can rely on when life gets difficult.
Updated
Cliff’s Answer
Jennifer,
Computer science jobs can be very diverse, so it depends on where you work and what you work on. I work at IBM and we develop computers. Computers consist of hardware, firmware, software, and user interfaces to make it easy to interact with. There are multiple languages used for the various parts of the computer system (C++, Python, HTML, SQL, JAVA, Prolog, etc.). It depends on where you work in the 'stack' as to what you work on and the language you use. That's if you want to want to be a frontline programmer.
There are also people who support the software developers. I'm a manager and my team handles the integration of firmware developer's commits into the system builds. They do continuous integration, firmware builds (to create firmware drivers), driver verification testing, and then functional testing of the firmware. These people create automation using some scripting languages (Python, Bash, PERL, etc.) and then use other key tools (Containers, Artifactory, Jenkins, etc.) create a 'pipeline' of integration and test for any developer commit. It can be an amazing career to go into.
There are also opportunities in test, software support, lab/network/infrastructure, cybersecurity, and probably a few others I'm forgetting!
So, any day in the life will depend on what area you work in. And I described what it's like to work on computers at IBM, but there are hundreds of other companies/industries who employ computer programmers (banks, insurance companies, libraries, universities, etc.).
Once you decide what type of work you want to do, you can figure out what company you want to work for, and that will give you a better idea of what your day-to-day work will look like. Small company or big company work will be very different.
I probably created more questions than I answered - sorry about that.
Think about what you like to do (write software, test software, or other support work) and that will help you zero in on a role.
Talk to people in the field, guidance counselors, friends, family, and anyone who might have relevant experience to help you refine your search.
Good luck! It's an amazing industry to be part of.
Thanks.
Computer science jobs can be very diverse, so it depends on where you work and what you work on. I work at IBM and we develop computers. Computers consist of hardware, firmware, software, and user interfaces to make it easy to interact with. There are multiple languages used for the various parts of the computer system (C++, Python, HTML, SQL, JAVA, Prolog, etc.). It depends on where you work in the 'stack' as to what you work on and the language you use. That's if you want to want to be a frontline programmer.
There are also people who support the software developers. I'm a manager and my team handles the integration of firmware developer's commits into the system builds. They do continuous integration, firmware builds (to create firmware drivers), driver verification testing, and then functional testing of the firmware. These people create automation using some scripting languages (Python, Bash, PERL, etc.) and then use other key tools (Containers, Artifactory, Jenkins, etc.) create a 'pipeline' of integration and test for any developer commit. It can be an amazing career to go into.
There are also opportunities in test, software support, lab/network/infrastructure, cybersecurity, and probably a few others I'm forgetting!
So, any day in the life will depend on what area you work in. And I described what it's like to work on computers at IBM, but there are hundreds of other companies/industries who employ computer programmers (banks, insurance companies, libraries, universities, etc.).
Once you decide what type of work you want to do, you can figure out what company you want to work for, and that will give you a better idea of what your day-to-day work will look like. Small company or big company work will be very different.
I probably created more questions than I answered - sorry about that.
Think about what you like to do (write software, test software, or other support work) and that will help you zero in on a role.
Talk to people in the field, guidance counselors, friends, family, and anyone who might have relevant experience to help you refine your search.
Good luck! It's an amazing industry to be part of.
Thanks.
Updated
Andersen’s Answer
Thanks for your questions, Jennifer.
The work field of computer science is pretty diverse and can be fast-changing, but this is what it can look like if you are in the tech industry:
1. You start your day with a quick stand-up or a quick meeting reviewing the progress the team has made in the past few days. The expected outcome is a solid plan for the rest of your working day.
2. While some software engineers/scientists/researchers work individually to solve problems, many projects still require teamwork and collaboration to avoid working in solos and miscommunications, such as brainstorming, pair programming, code review, etc.
3. Apart from developing software solutions, a software engineer can spend a significant amount of time writing test units and conducting testing. This is to validate that products are of good quality before they are released and ready to use by customers.
4. Besides development, there are also times when a developer participates in product definition and feature prioritization, especially if the software solution is facing the business at the end of the day.
5. Towards the end of the day, a software developer will typically review the progress and provide sign-offs or updates on their task-tracking systems. This is also a good time to update technical documentation and user guides.
I hope that sheds light on your questions.
The work field of computer science is pretty diverse and can be fast-changing, but this is what it can look like if you are in the tech industry:
1. You start your day with a quick stand-up or a quick meeting reviewing the progress the team has made in the past few days. The expected outcome is a solid plan for the rest of your working day.
2. While some software engineers/scientists/researchers work individually to solve problems, many projects still require teamwork and collaboration to avoid working in solos and miscommunications, such as brainstorming, pair programming, code review, etc.
3. Apart from developing software solutions, a software engineer can spend a significant amount of time writing test units and conducting testing. This is to validate that products are of good quality before they are released and ready to use by customers.
4. Besides development, there are also times when a developer participates in product definition and feature prioritization, especially if the software solution is facing the business at the end of the day.
5. Towards the end of the day, a software developer will typically review the progress and provide sign-offs or updates on their task-tracking systems. This is also a good time to update technical documentation and user guides.
I hope that sheds light on your questions.
Updated
Jeff’s Answer
Hi Jennifer,
That is a great question! The answer, however, is not really easy.
If you look around your room, you will see a tremendous number of things that have computers, processors, software, firmware and other aspects of technology. My room has an Alexa show, fire tv, smart watch, fitbit, smart fridge, bbq thermometers, computers, sound systems and much more. Computers are integrated into every aspect of our lives and each device requires design, development, programming, testing and ongoing maintenance. So, there are an incredible number of areas where you can get involved in computer science related areas and jobs.
Most of the jobs will require many different aspects and jobs along the way. The great thing about computer science is that you can get a job in the area that you are interested in. As you advance in your career, you can usually select, or switch, between lead technical and management positions. And, that leads me to the most important aspect of your question: Whatever job you begin with, it will evolve over time. Technology is constantly changing. I began my career as a high level functional programmer, switched to test design and development, moved to firmware design and development did some hardware circuit design, development and test, did a lot of serious problem determination and troubleshooting, and spent some time as a professor, all in 38 years!
To try and directly answer your question, when you begin, you will learn programming and debug problems in existing code, maintenance. As you progress, you will start to design and develop modules and eventually systems. You will spend time creating specifications and leading teams to develop systems. Or, if you join a small start-up, you will be doing it all, immediately! You have the opportunity to make your day to day exactly what you want it to be!
Good luck!
Enjoy the journey!
That is a great question! The answer, however, is not really easy.
If you look around your room, you will see a tremendous number of things that have computers, processors, software, firmware and other aspects of technology. My room has an Alexa show, fire tv, smart watch, fitbit, smart fridge, bbq thermometers, computers, sound systems and much more. Computers are integrated into every aspect of our lives and each device requires design, development, programming, testing and ongoing maintenance. So, there are an incredible number of areas where you can get involved in computer science related areas and jobs.
Most of the jobs will require many different aspects and jobs along the way. The great thing about computer science is that you can get a job in the area that you are interested in. As you advance in your career, you can usually select, or switch, between lead technical and management positions. And, that leads me to the most important aspect of your question: Whatever job you begin with, it will evolve over time. Technology is constantly changing. I began my career as a high level functional programmer, switched to test design and development, moved to firmware design and development did some hardware circuit design, development and test, did a lot of serious problem determination and troubleshooting, and spent some time as a professor, all in 38 years!
To try and directly answer your question, when you begin, you will learn programming and debug problems in existing code, maintenance. As you progress, you will start to design and develop modules and eventually systems. You will spend time creating specifications and leading teams to develop systems. Or, if you join a small start-up, you will be doing it all, immediately! You have the opportunity to make your day to day exactly what you want it to be!
Good luck!
Jeff recommends the following next steps: