For me, it starts with the following:
- Morning: Goto office, checking emails, checking messages and making sure I am updated on the latest events happening in my team. After that, I start working on Stories. Stores are tasks that add values to the company, it could be adding a new feature, fixing a bug or exploring some topic.
- Afternoon: We have lunch with our teammates and chat about everything under the sun
- Eve: We generally try to finish as much as possible before we call it a day. If I am unable to finish all the things today, I will write down what I have to do and continue tomorrow
There are different types of job one can do as a Computer Engineer some of them are mentioned below.
- Customer Support - These are the engineers who talk to you over the phone when you call for the support with any products.
- Field Support - These are the engineers who provide you support in person at a store like Best Buy / Walmart with your Hardware or they can be even scheduled for an onsite visit at your home or office based on your contract with them / company.
- Hardware Consultants - These are the engineers who generally work for designing and / or building a Data Center or a part of it, they are generally hired by the companies when they are setting a new location, upgrading or migrating from old technologies to new ones.
- Research & Development - These are the engineers who designs a product from core or enhances the design of a product, they do not interact with the customers most of the times directly.
- Software Developers - These are the engineers who make software products to help us with our day to day life.
- Testers & QA- These engineers test a product before its release to the end user to check the functionality and Quality
- Sales - These are the engineers who engage with the customer and understand their business requirement and help them choose the right product for their business.
I have worked as Customer Support as well as Hardware Consultant in my career.
All these roles have different job responsibilities and differ from each other.
Once you start studying the subject you will be able to select what would you like to deep dive into once your course is completed and make a selection appropriately.
I hope I have been able to answer your query, based on my personal experience.
For me, a typical work day really only consists of about 20% actual programming. There is a lot of work that goes into the support aspect. Every day revolves around answering a lot of emails, there are also periods where you might find yourself on the analyst side of things. For example, I am pitching new software to my company this week and have been spending hours working on price comparisons with alternates, putting together a presentation, outlining the pros and cons, etc. This is just one example, Ive outline some other things I spend a lot of time on below.
1) Research - There is at least an hour or two a week of research. We are constantly looking into new software components, platforms, service providers, etc. This is an on-going part of the job, constantly keeping an eye out for new ways of doing things. This also includes researching breaking changes in vendor provided software upgrades, server upgrades, database upgrades, etc.
2) Support - There will always be some level of support work required. This includes answering emails with questions, debugging code, etc.
3) Documentation - This greatly depends on your organizations requirements and whether or not your code is "Self Documenting". If your code makes sense then documentation is a breeze and very minimal.
4) Training - Always having to train other staff in how to troubleshoot and access various systems. Junior developers will need some handholding.
5) Project Management - There is a lot of time spent tracking your tasks, more than likely you will have a system like Jira where the projects are tracked. Project Management also includes spending time with the business to outline the projects and develop new features.
6) Coding - As you move up in your career you may find yourself doing less and less of this. It is surprising how little time one can spend writing code when developing software.
7) Perusing stack overflow. We all do this. Those who say they don't are liars.