3 part for Computer Programmers, What does an average day look like in your life? An abnormal one? (Hardest one -->) What did you do to get to where you are now? #spring23
I am a senior who is interested in the field of computer programming. However, I have not taken any computer science class/course yet (I have only touched coding blocks a few times on Code.org).
I would like to get an idea of how an average day would look like, such as the hours of work, any difficulties, or events that not everybody can experience. I would like to know what you (or someone you may know) have done to get to where you are today. Did you go to a college? If so, which one and what courses did you take? Are there useful tips/advice I should know? What coding language do you use (e.g. JavaScript, Python, other)?
One more:
Out of curiosity, did you take the SAT?
3 answers
Mickael’s Answer
This is a lot of questions here so let me try to answer them one by one by quoting first your question and then give an anwer.
> What does an average day look like in your life?
I would like to get an idea of how an average day would look like, such as the hours of work,
1. Check e-mails
2. Check anything to be reviewed for my peers
3. Start working on the tasks I am assigned to. Usually that means understand the root cause of the problem, code the solution, test it, submit the changes through our source control process. It could also mean writing a document explaining a change to be made to the product I am working on.
4. Help other peers if they have questions I can answer
5. Learn new skills or technologies or re-assess existing
As I said below, I am a pretty hard worker, but I believe this is what brought me to my current position. I work about 10 hours a day, 5 days a week. Company's official time is supposed to be 40 hours a week for 5 days of work, meaning 8 hours a day.
> An abnormal one?
From the above, try to debug 3 (or more) ultra bad defect happening at a customer site.
> (Hardest one -->) What did you do to get to where you are now?
> I would like to know what you (or someone you may know) have done to get to where you are today.
Work hard, continue to learn, not be afraid to take challenging issues, and do the right thing.
>> Did you go to a college?
I attended a school in France for a Master degree so answering that part of the question will not help.
>> If so, which one and what courses did you take?
Course you need to take are clearly algorithm, data structures, and at least one language. You may take computer architecture and operating systems so you understand how your programs are executed. Both are not mandatory, but they make a difference. Then it depends where you would like to code, therefore data mining, AI/ML are good to know. If you are going to go protocols, then network is good.
> any difficulties, or events that not everybody can experience.
The product I am working on is quite complex so difficulties come from the fact that everything is distributed, therefore, there is no synchronous action. Most of the time, debugging a problem or solving a new problem to bring new features require thorough thoughts, especially with error management.
> What coding language do you use (e.g. JavaScript, Python, other)?
Python is a nice language to start with. It is well spread in the industry with a lot of different applications (web, actual product) including the new in-fashion Machine Learning and Artificial Intelligence. It also does not require anything but installing python, and you can even do basic things online.
Out of curiosity, did you take the SAT?
I believe this is no longer required after COVID in many College/Universities. But coming from France, the answer is no.
John’s Answer
Thanks for your questions, I'll try my best to answer them all.
Q1: What does an average day look like in your life?
I'm a lead engineer, so not only do I have technical tasks for myself, but I also need to make sure any technical obstacles are addressed for the developers on my team. Most of my day is making sure the development efforts for my team are on-track and mentoring others by ensuring our engineering standards are met.
Newer developers spend time writing code to either add new functionality or fix an existing issue.
Senior engineers will get assigned more technically challenging problems to solve or will be tasked with proof-of-concepts that are intended to add prove that a new design works.
Q2: An abnormal one?
An abnormal day for me is a day where I don't have anything to work on, but this is a rare exception as there is always something. If you find yourself in a position where you have some free time, it is a great opportunity for self-learning or taking a training course.
Q3: What did you do to get to where you are now?
The best way to get started in computer programming is to start coding and have fun with it. I started with taking a class in high school, however, there are a lot of great and free online sites to learn how to code. Start by finding a language that you are interested in learning and try to learn it. As a beginner I would suggest a modern programing language like Java, Node.js, Python, etc.
Once you gain the basics and have a good foundation try coding challenges. There are a lot of sites out there that give a problem that you need to code the solution for. As a bonus several companies use sites like this as part of the technical interview process.
Learn to code sites (there are more out there):
https://www.khanacademy.org/computing/computer-programming
https://www.codecademy.com/catalog
Coding Challenges (one of several out there):
https://www.hackerrank.com/
Mohit’s Answer
What does an average day look like in your life?
I have over a decade of experience in the software field, and my primary responsibility is managing a team.
1. Everyone starts their day with checking their emails.
2. From there, we create a daily to-do list, which includes meetings, addressing technical issues, reporting progress, assisting team members, guiding newcomers, and learning new skills.
3. For programmers specifically, daily tasks involve examining requirements or problems, writing code, and debugging code.
4. Officially, we work 8 hours a day, 5 days a week (a 40-hour workweek), but this can change based on workload.
5. Challenges always arise, and we view them as opportunities. Initially, I struggled to adapt to the meeting culture, as I expected to spend most of my time coding. However, a significant portion of the day involves attending various meetings.
6. As for unique experiences, I won't spoil the surprise.
An unusual day?
Party days differ from average days, as you must balance timely deliveries with attending celebrations.
How did you reach your current position?
I was interested in programming before beginning my undergraduate studies and continued learning throughout. I completed my degree, gained various skills, applied to different jobs, joined a company, and continued learning new skills to get here.
Did you attend college? If so, which one and what courses did you take?
I earned an engineering degree in Electronics Engineering from a state technical university.
Any helpful tips or advice?
Maintain consistent learning and discipline. Implement the Eisenhower matrix (urgent-important quadrants) in your life.
What programming languages do you use (e.g., JavaScript, Python, others)?
I began with C and transitioned to Java during my undergraduate studies. Over the past ten years, I have used numerous languages based on necessity.
Did you take the SAT?
No, but I took a similar exam in my country.