6 answers
Asked
500 views
What is it like to be a computer programmer?
What is the environment working with other programmers? How does work get distributed between employees? Lastly is it better to work in the office or from home?
Login to comment
6 answers
Updated
Jason’s Answer
Having experienced both on-site and fully remote work settings, I can say that each has its own unique perks and challenges.
Sharing a physical workspace with others naturally fosters spontaneous conversations, relationship-building, and shared experiences that can be hard to replicate in a remote setting. If you're someone who thrives on social interaction, you might find this environment more fulfilling.
On the other hand, remote work offers significant savings in terms of time and money, as it eliminates daily commuting and the expense of eating out. Personally, I find that working remotely allows me to concentrate better and boost my productivity. However, this isn't the case for everyone as some people find there are too many distractions at home.
Ultimately, the best choice depends on your individual needs and preferences.
Currently, my job is entirely remote, and I engage with my colleagues through virtual meetings or on Slack. This setup is highly efficient, but it can be challenging to create opportunities for social interaction. To address this, we organize regular virtual team lunches where we play games, and we encourage everyone to collaborate as much as needed on various tasks.
In terms of task distribution among employees, we map out our roadmap for each quarter and then give each engineer the freedom to choose any task they want from the roadmap. Furthermore, we sometimes assign high-priority tasks to our most experienced engineers to ensure they are completed effectively and promptly.
Sharing a physical workspace with others naturally fosters spontaneous conversations, relationship-building, and shared experiences that can be hard to replicate in a remote setting. If you're someone who thrives on social interaction, you might find this environment more fulfilling.
On the other hand, remote work offers significant savings in terms of time and money, as it eliminates daily commuting and the expense of eating out. Personally, I find that working remotely allows me to concentrate better and boost my productivity. However, this isn't the case for everyone as some people find there are too many distractions at home.
Ultimately, the best choice depends on your individual needs and preferences.
Currently, my job is entirely remote, and I engage with my colleagues through virtual meetings or on Slack. This setup is highly efficient, but it can be challenging to create opportunities for social interaction. To address this, we organize regular virtual team lunches where we play games, and we encourage everyone to collaborate as much as needed on various tasks.
In terms of task distribution among employees, we map out our roadmap for each quarter and then give each engineer the freedom to choose any task they want from the roadmap. Furthermore, we sometimes assign high-priority tasks to our most experienced engineers to ensure they are completed effectively and promptly.
This was super helpful, thank you!
Ajalon
Updated
Casey’s Answer
The role of a software engineer is an exciting blend of fun and challenges! Depending on the company, you might get the chance to work in various settings - be it in-person, remotely, or a mix of both!
In most organizations, you'll be reporting to an engineering manager. Their role is to guide you technically and provide mentorship throughout your software project. The project's direction and roadmap are typically defined by a product manager. They act as the voice of the stakeholders and users of the software you're creating. But don't worry if there's no PM around - you can step up and take on these responsibilities! This makes the role incredibly diverse, requiring a mix of technical prowess and people skills!
Your daily routine will likely involve collaborating with fellow engineers to devise solutions, and a substantial amount of time dedicated to designing and writing software. It's also beneficial to familiarize yourself with basic project management methodologies like Agile or Waterfall. This knowledge will aid in planning and developing your software effectively. So gear up for an engaging journey in the world of software engineering!
In most organizations, you'll be reporting to an engineering manager. Their role is to guide you technically and provide mentorship throughout your software project. The project's direction and roadmap are typically defined by a product manager. They act as the voice of the stakeholders and users of the software you're creating. But don't worry if there's no PM around - you can step up and take on these responsibilities! This makes the role incredibly diverse, requiring a mix of technical prowess and people skills!
Your daily routine will likely involve collaborating with fellow engineers to devise solutions, and a substantial amount of time dedicated to designing and writing software. It's also beneficial to familiarize yourself with basic project management methodologies like Agile or Waterfall. This knowledge will aid in planning and developing your software effectively. So gear up for an engaging journey in the world of software engineering!
Your advice was so helpful!
Ajalon
Updated
Fred’s Answer
The answer is always "it depends". It depends on you, on your co-workers, and your company.
Some people love working directly with others, and some people hate it.
At my current workplace, we have many development teams. They get assigned features to develop. Those get broken down into stories. Each story can take anywhere from one to five days to code/test/merge. At the start of each two week sprint, they pick a group of stories to complete that cycle, and distribute them.
One of the teams is heavy into pair programming - two developers working on the same story at the same time, helping each other. Another team has each dev do their own thing, but asking for help as needed.
My last employer did things totally differently.
As to the home/office debate, again, it depends. Sometimes it's great to be face-to-face with someone you are working with. Sometimes, the office has too many distractions. Sometimes, home has too many distractions. And everyone has their own preference.
Some people love working directly with others, and some people hate it.
At my current workplace, we have many development teams. They get assigned features to develop. Those get broken down into stories. Each story can take anywhere from one to five days to code/test/merge. At the start of each two week sprint, they pick a group of stories to complete that cycle, and distribute them.
One of the teams is heavy into pair programming - two developers working on the same story at the same time, helping each other. Another team has each dev do their own thing, but asking for help as needed.
My last employer did things totally differently.
As to the home/office debate, again, it depends. Sometimes it's great to be face-to-face with someone you are working with. Sometimes, the office has too many distractions. Sometimes, home has too many distractions. And everyone has their own preference.
Thank you, Fred!
Ajalon
Updated
Mary’s Answer
Working with other programmers is great. My general observation is that programmers are kind and helpful. After all when you are working together on a project, everyone must be successful for the project to succeed. The work is divided by tickets, which we work to complete in a certain time period. I work in a hybrid environment. I appreciate interacting with others face-to-face, but I have a great relationship with my remote co-workers, as well. I feel that I can accomplish the same amount of work and get questions answered either way.
Thank you for taking the time to help.
Ajalon
Updated
Jonathan 〰️’s Answer
It really does depend on the company you work with.
Most companies work in either an Agile or Kanban framework, where "tickets" are written that describe some sort of work that needs to be done.
Something like "Implement feature x" or "Fix bug Y" or "Need to rotate keys on servers".
In Agile, you'll usually spend a few hours 1 day do plan out what you want to do in a "sprint". A "sprint" is just a generic unit of time (usually 2 weeks, but again it depends on the company and team). You then spend the sprint doing the tickets you're team planned and committed to.
In Kanban, there are no sprints. Instead, you just tend to tickets as they are made and trickle in, prioritizing as necessary.
Depending on the ticket, you may be working alone or with some team members depending on the size of the ticket and relative knowledge and expertise of your team members. There might be interaction with other teams, they might work directly with your team or they may ask for you to submit a ticket and they'll help when they have time.
For office or home: it's all personal preference. If you're working with physical hardware (Datacenter admin/engineer) you'll probably be working in office more than at home, but it all depends. Personally: I don't want to work anywhere that requires going to the office.
Most companies work in either an Agile or Kanban framework, where "tickets" are written that describe some sort of work that needs to be done.
Something like "Implement feature x" or "Fix bug Y" or "Need to rotate keys on servers".
In Agile, you'll usually spend a few hours 1 day do plan out what you want to do in a "sprint". A "sprint" is just a generic unit of time (usually 2 weeks, but again it depends on the company and team). You then spend the sprint doing the tickets you're team planned and committed to.
In Kanban, there are no sprints. Instead, you just tend to tickets as they are made and trickle in, prioritizing as necessary.
Depending on the ticket, you may be working alone or with some team members depending on the size of the ticket and relative knowledge and expertise of your team members. There might be interaction with other teams, they might work directly with your team or they may ask for you to submit a ticket and they'll help when they have time.
For office or home: it's all personal preference. If you're working with physical hardware (Datacenter admin/engineer) you'll probably be working in office more than at home, but it all depends. Personally: I don't want to work anywhere that requires going to the office.
Thank you, this is really helpful.
Ajalon
Updated
Farhana’s Answer
Working with other programmers is highly collaborative. It's best to actively listen to each other, especially when you differ in opinions. Programmers often bounce ideas off of each other and learn a lot from each other in the process.
Work gets distributed between employees based on the priority of the work that needs to be done. It depends on the mission and goals of the company and the programmers set their vision on these goals in order to make it a reality.
Regarding is it better to work in the office or from home, it depends! I find a hybrid situation to be much better than 5 days in-office, and a lot of companies are hybrid nowadays. You get to meet your peers in person some days, and other days you get to work in your pajamas :D
Work gets distributed between employees based on the priority of the work that needs to be done. It depends on the mission and goals of the company and the programmers set their vision on these goals in order to make it a reality.
Regarding is it better to work in the office or from home, it depends! I find a hybrid situation to be much better than 5 days in-office, and a lot of companies are hybrid nowadays. You get to meet your peers in person some days, and other days you get to work in your pajamas :D
Thank you for your response, Ms. Mustafa!
Ajalon