Martin Fowler’s blog has a good take on this pne, I guess it was posted here on dev.to
effective remote is hard, most of the people working remote might be productive for few hours a day (because they manage only their individual schedule). Most of remote/distributed teams, though, are loosing to on-site. There is a high chance of working in a silo and “what the hell have you built” effect.
I am a developer (right now, the developer) for a genomics core lab.
What we do is gene sequencing (reading, not writing) for a research institution. There are many labs that need sequences done, and few of them do it enough for it be worthwhile for them to get their own sequencer, so there's us.
What I do, most days, is look at two screens at a standing desk and type.
My corner of the lab is mostly about meta-data. Who brought in samples? What are the samples? What do you want done with them? How are we getting paid? This is mostly web forms and SQL, and I go in to fix data much more often than I do to fix or update the tools, but that does happen.
Because nobody wants to waste time and money sequencing bad samples, there are Quality Assurance steps. My code generates config files, so we don't get "sample 1, sample 2" in output that we have to associate with the sample IDs later. I also have some visualization tools that allow us to inform our customers where we are in the process.
Sequencing can take between a few hours and a week, depending on the engine, and you end up with about 100 characters of ACGT per read, and all the reads are in different files, and the assembly process occurs to make it into one full genome, which can be several hundred GBs. Here we must remember that file systems are filled with inodes, and you can kill a file system with a huge number of small files, even if disk usage is still small. This is not part of my workflow, yet.
The output of the assembly is on a multi-petabyte storage system (shared across departments) connected to several research clusters, and we have several ways to share this data. If our customers are also on this cluster, we use Access Control Lists (ACLs) to ensure they can access it. Previously, it was done via ln and magic, but the new storage system supports ACLs, which is better. I wrote tools that add and remove access control based on stored rules across large directories, but now that that's working, I rarely have to think about them.
If a customer does not have access to these systems, or if we have moved their data onto tape storage, we use a service called Globus to give them access. Because the permission to share this data lies with us, not our customers, I wrote a proxy to for this. I spend much more time checking that systems are up and helping the customers and their collaborators navigate this service than working on the tools themselves.
Additionally, I'm a computer guy in a lab where much of the work is biochemical, so fixing PCs, running cable, and answering questions on Excel also fall to me.
Weekly:
Monday morning, I reset permissions for Globus.
(Almost every) Tuesday afternoon, I go to campus helpdesk at a coffee shop to ask the admins of the storage system and clusters questions and to sometimes answer our customers' questions as well.
Every other Thursday, there's a meeting between my boss and other bioinformatics people. Every other meeting, the admins are there as well.
Nearly everything else changes depending on what's going on that day or week.
I'm a Senior Dev for an online clothing retailer. Mostly web-focused (full stack, all JS), but with a sizeable chunk of time devoted to more Enterprise-y stuff (Java).
Typical day:
~8:30 AM: Arrive, check my calendar.
Catch up on email, answer/file/todo as appropriate. Reach Inbox Zero.
Resolve any issues from overnight failed jobs. (Infrequent.)
Create general plan for the day.
Headphones in, coding. (Usually something I think I can knock out before lunch.)
~10:00 AM: Short break.
Either I'm back to coding, or if there are smaller tasks to do, this is when I'll get them done.
~11:30 AM Lunch: bike ride or gym, quick cleanup, take lunch back to my desk.
Coffee, headphones, code.
Break at a good stopping point. Snack.
If there's more coding to be done, the headphones go on again. If it's email/conversations/planning, this is my usual pen & paper or "can we chat about..." time.
5:30 PM: HARD STOP. Get my child from school.
~8:30 - 10:30 PM: If there's something left over that really can't wait, I'll do it after my child goes to sleep.
He/Him/His
I'm a Software Engineer and a teacher.
There's no feeling quite like the one you get when you watch someone's eyes light up learning something they didn't know.
Saving fish by writing code! Applications developer in fisheries, specializing in webapps and moving 'enterprise-y' legacy systems to modern agile systems - Email or tweet me if you want to talk!
As a developer for an ad agency, I usually have a variety of tasks for a variety of different clients on any given day or during any given week; the dynamic nature of my job is one reason why I have really enjoyed working at an agency!
One hour I may be creating/editing/fixing emails (so much fixing) for one client's Q2 retargeting campaign, while the next I'll be provisioning a different client's production environment and preparing that Wordpress site to deploy to prod the next hour.
Other tasks you could find me doing include updating other static sites, working on year-old QA findings someone re-discovered, cutting up landing pages for retail acquisitions, and joining a task force of coworkers for a new project kick off.
Architect (as in buildings, not software;)
Design Director at HENN Beijing
Start the day with Chinese class
Standing meeting on our "design wall" to discuss the design progress the day before and define goals for the day
the rest of the day is a mix of tutoring the team, going over design iterations, meetings with our German "mothership", big endless meetings with clients or local partners where my Chinese skills are tested (and usually fail)
Then, the most fun part of the day:
come back home for an extra 2-3 hours coding on my side project and imagining how my life would be if I were a dev instead!
Developing software, as a remote freelance dev ... web apps, mobile apps, enterprise systems. A fairly large part of it is also keeping my knowledge up to date (and expanding it). A third component (being a freelancer) SHOULD be marketing and networking but I'm not nearly spending enough time on that.
I am a Senior Email Developer at a financial company. Oddly, I do less and less coding as time goes on :( In general, my workday looks like this.
Check emails
Make edits to HTML file(s) and upload into ESP
QC HTML files w/edits made by other team members
Set up and launch emails via ESP
Attend meeting(s)
Rinse and repeat
I'm probably way oversimplifying it. On a good day, I also do the following
Update or create documentation
Attend training / upskilling
Find videos/tutorials for weekly lunch and learns
Implement LEAN practices
Freelance Web developer, programming teacher and software developer (tough rarely these days). Dependending on the day (wednesday is my "client meetings" day, monday and thursday are my "teacher" days):
Get up.
Have some nice breakfast with my wife.
Turn on my notebook, check my work email, messages on social media to see if one of my clients is requesting something.
Open my editor (Sublime Text) and my other tools and start coding right were I left the day before. That's my main task in the morning.
When I'm stuck, I check some resources. Mainly, I use Stack Overflow, some subreddits and a tool named Zeal, a desktop app for Windows with the docs of my programming languages.
Lunch with my wife.
Sometimes I sleep after lunch, or I check some pages: Dev.to, a Medium page called Codeburst and more Reddit.
Depending on the day, I keep coding or working on personal projects. Or I prepare myself for teaching: this year I'm teaching Python and Java, so I need a few hours to review the contents for each class.
Again, depending the day, I:
Keep coding with intervals (unlike the morning, in the afternoon I tend to take more time to rest).
Go to class, from 4 to 8 pm.
Go to see my clients, same hours.
Spend time on other activities: take a walk with my wife, watch some movie together, go to see a friend.
At night, we make dinner and get some rest. Our rule is that after dinner we don't work anymore, unless I have some very urgent changes to make or if she need to finish her stuff (she's a teacher as well).
In between, I make my day more pleasent with some lemon juice, some ambient, post rock or instrumental music and taking periods of time to stretch and make other stuff at home.
Its interesting actually how most answers are about domains - gene sequences, retail, etc. Here’s a challenge - would you guys be able to desribe what you do as a programmer, without breakfast/commuting/domain details?
To understand better, how CS is applied.
I’ll start - I mostly did maintetance of current prod apps - bugfixing and hammering in new features. Recently I do more greenfield projects (because team leverages small components approach, I avoid word u-services), so I spent some time analysing requirements and deciding on whether it makes sense to apply sophisticated patterns like actor model and CQRS, and eventually decide that old simple-crud-database-centric desing would do just fine ))))
from time to time I have a chance to do something interesting, a moment when a smart pattern makes a good match for business challenge is very rewarding )
I'm a full time remote software developer (django and android), my day usually goes as follows:
Wake up early and have breakfast with my wife.
Sit down to work at around 7:45
Check email/slack for anything mentioning me or urgent.
Check Dev.to, Medium and StackOverflow.
Check the board for any assigned issue.
During the morning we usually have a stand up meeting over hangouts. I like to work on intervals of 40 mins with 10 min break in between so I do that until 11:30 when I leave for the gym, lunch and a longer break.
Back to work at 13:30.
Usually during the afternoon I might have another meeting. I code until 17:30/18:00 when I finish for the day.
VP of DevRel RapidAPI ❯ Award-winning Web Developer NodeCLI.com ❯ Google Dev Expert Web tech ❯ 2x GitHub Stars Award ❯ WordPress Core Dev ❯ TEDx Speaker ❯ "awesome example for devs" — Satya Nadella
Location
San Francisco Bay Area
Education
EE-CS Engineer turned Software Developer
Work
VP of DevRel (DX Eng., Content & Community) RapidAPI ❯ Google Dev Expert ❯ GitHub Star ❯ NodeCLI.com
MidDay: Tackle tasks as assigned on my weekly calendar
PM: Bash my head until some kind of code comes out because I've already browsed through all of the Stack Overflow links in the first 2 pages of google search. We all know if your answer isn't addressed by the second page then you're in trouble. So why not just take a break looking through social media, but then you realize it's 6pm and it's still not done, so let's just close your computer and maybe it'll just resolve itself.
I maintain our internal website. It's functional rather than pretty.
I develop webapps using Oracle Application Express 5.
So every morning I come in, check my emails to make sure nothing is broke, or nothing needs done. If that's all okay, I check dev.to as I drink my morning coffee and read the interesting articles.
After I've settled I'll get my notebook out and have a look at what I wrote last night, and crack on with whatever I needed to do.
Normally if I'm not working on the task at hand, I'm normally arguing with the bosses and getting shut down anyway, and then do the task badly to redo it later. (That's more of a joke).
I am a Senior Software Software Development Manager for a product with a very large customer foot print, and multiple large deployments monitoring all infrastructure of Cloud environments for a large multi-national corp.
I also develop and maintain some modules of the product along with other senior developers from my team. I often work remotely or from office buildings near to my home.
My team is geographically distributed with footprint in US (CA), Mexico and India.
I will describe my regular and typical work day here. However, if there is a escalations, hot issues going on, it kind of takes over most of the work day.
Hope this helps.
I reach office or start work around 10 AM, and then spend 30 minute reviewing emails and slack. I mark important emails and slack messages for response later, and archive everything else. Then I spend next hour or so in status or sync-up meetings with my manager / DevOps teams / Cloud Admin teams / et al. I get out of this by noon, and that's when I take my first break with a strong black coffee.
I spend the next hour responding to the emails and slack messages that I had marked earlier. Then I make a list of ToDos based on the Urgent-Important quadrant rules. And this leads to lunch.
Post lunch, it is a team status meeting with my team and based on the team's priorities that I have received or generated from earlier meetings, emails, slack, etc, we discuss work prioritization, allocation, de-prioritization, strategy, timelines, etc. This lasts exactly an hour per team.
I keep early evening to look for and respond to any escalations, customer issue, PM requirements, working and sync-up with Sustenance Engineering POCs, etc. This also includes triage of bugs filed on my areas and assignment to individual module owners, who can either work on those directly or assign them to junior developer they are mentoring. I try complete all code reviews assigned to me during this time, and possibly work on something which is not very critical and can be taken off the team load.
(Evenings are completely devoted to getting back to home and spending time with my children & wife, meeting friends for a cup of tea, and reading one chapter of one of the books that are on my reading list.)
I keep the 9 PM to 10 PM slot for my US and Mexico team and it is split & conducted exactly in the same way that is done for my India based team during their post lunch slots.
I attend meetings with Dev Ops, Cloud Admins, Customer facing PMs etc in the night in the 10 PM to 11 PM slot, to get the feedback on the changes that my team has done for them, and if they see any red flag in operation and we might have to look at it.
Senior Developer for VR Training solution for Science/Industry professionals, prior to this i was Lead dev in the video game industry in both AAA and Indie.
I’m Erhan Kılıç, a curious web developer from Turkey who loves to write software applications and websites.
I have been working as a web developer since 2013.
1) Get a tea.
2) Check the news which the websites (like dev.to) I follow from rss feed. (Right now I'm on this)
3) Check the mails.
4) Check the hipchat
5) Start to a task.
And goes on.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Senior Remote Contract Software Developer here. I'll describe yesterday because it's a fairly common day for me.
Remote Contract Developer
:)
I'm getting pretty jealous of the folks in the thread who work from home and wake up well before their clients.
Seems like a good way to have lots of nice productivity and then finish up with a few meetings later on.
Martin Fowler’s blog has a good take on this pne, I guess it was posted here on dev.to
effective remote is hard, most of the people working remote might be productive for few hours a day (because they manage only their individual schedule). Most of remote/distributed teams, though, are loosing to on-site. There is a high chance of working in a silo and “what the hell have you built” effect.
So don’t envy )
Cry
I am a developer (right now, the developer) for a genomics core lab.
What we do is gene sequencing (reading, not writing) for a research institution. There are many labs that need sequences done, and few of them do it enough for it be worthwhile for them to get their own sequencer, so there's us.
What I do, most days, is look at two screens at a standing desk and type.
My corner of the lab is mostly about meta-data. Who brought in samples? What are the samples? What do you want done with them? How are we getting paid? This is mostly web forms and SQL, and I go in to fix data much more often than I do to fix or update the tools, but that does happen.
Because nobody wants to waste time and money sequencing bad samples, there are Quality Assurance steps. My code generates config files, so we don't get "sample 1, sample 2" in output that we have to associate with the sample IDs later. I also have some visualization tools that allow us to inform our customers where we are in the process.
Sequencing can take between a few hours and a week, depending on the engine, and you end up with about 100 characters of ACGT per read, and all the reads are in different files, and the assembly process occurs to make it into one full genome, which can be several hundred GBs. Here we must remember that file systems are filled with inodes, and you can kill a file system with a huge number of small files, even if disk usage is still small. This is not part of my workflow, yet.
The output of the assembly is on a multi-petabyte storage system (shared across departments) connected to several research clusters, and we have several ways to share this data. If our customers are also on this cluster, we use Access Control Lists (ACLs) to ensure they can access it. Previously, it was done via
ln
and magic, but the new storage system supports ACLs, which is better. I wrote tools that add and remove access control based on stored rules across large directories, but now that that's working, I rarely have to think about them.If a customer does not have access to these systems, or if we have moved their data onto tape storage, we use a service called Globus to give them access. Because the permission to share this data lies with us, not our customers, I wrote a proxy to for this. I spend much more time checking that systems are up and helping the customers and their collaborators navigate this service than working on the tools themselves.
Additionally, I'm a computer guy in a lab where much of the work is biochemical, so fixing PCs, running cable, and answering questions on Excel also fall to me.
Weekly:
Nearly everything else changes depending on what's going on that day or week.
I'm a Senior Dev for an online clothing retailer. Mostly web-focused (full stack, all JS), but with a sizeable chunk of time devoted to more Enterprise-y stuff (Java).
Typical day:
Web Developer:
I'm a senior government developer and my days are usually like this:
As a developer for an ad agency, I usually have a variety of tasks for a variety of different clients on any given day or during any given week; the dynamic nature of my job is one reason why I have really enjoyed working at an agency!
One hour I may be creating/editing/fixing emails (so much fixing) for one client's Q2 retargeting campaign, while the next I'll be provisioning a different client's production environment and preparing that Wordpress site to deploy to prod the next hour.
Other tasks you could find me doing include updating other static sites, working on year-old QA findings someone re-discovered, cutting up landing pages for retail acquisitions, and joining a task force of coworkers for a new project kick off.
Architect (as in buildings, not software;)
Design Director at HENN Beijing
Then, the most fun part of the day:
Web Developer here:
I work at a music school.
I:
I get funny looks at the local Ruby meetups.
Developing software, as a remote freelance dev ... web apps, mobile apps, enterprise systems. A fairly large part of it is also keeping my knowledge up to date (and expanding it). A third component (being a freelancer) SHOULD be marketing and networking but I'm not nearly spending enough time on that.
I am a Senior Email Developer at a financial company. Oddly, I do less and less coding as time goes on :( In general, my workday looks like this.
Check emails
Make edits to HTML file(s) and upload into ESP
QC HTML files w/edits made by other team members
Set up and launch emails via ESP
Attend meeting(s)
Rinse and repeat
I'm probably way oversimplifying it. On a good day, I also do the following
Update or create documentation
Attend training / upskilling
Find videos/tutorials for weekly lunch and learns
Implement LEAN practices
Freelance Web developer, programming teacher and software developer (tough rarely these days). Dependending on the day (wednesday is my "client meetings" day, monday and thursday are my "teacher" days):
In between, I make my day more pleasent with some lemon juice, some ambient, post rock or instrumental music and taking periods of time to stretch and make other stuff at home.
Its interesting actually how most answers are about domains - gene sequences, retail, etc. Here’s a challenge - would you guys be able to desribe what you do as a programmer, without breakfast/commuting/domain details?
To understand better, how CS is applied.
I’ll start - I mostly did maintetance of current prod apps - bugfixing and hammering in new features. Recently I do more greenfield projects (because team leverages small components approach, I avoid word u-services), so I spent some time analysing requirements and deciding on whether it makes sense to apply sophisticated patterns like actor model and CQRS, and eventually decide that old simple-crud-database-centric desing would do just fine ))))
from time to time I have a chance to do something interesting, a moment when a smart pattern makes a good match for business challenge is very rewarding )
I'm a full time remote software developer (django and android), my day usually goes as follows:
That's it :)
Check in with teammates, slack or in person.
Check the board for tasks.
Write code.
Talk to clients.
Write code.
Meetings.
Write code.
Git status.
Write code.
Git diff.
Git add.
Git commit.
Git push.
Rinse repeat.
Senior Front-End Developer at a web design agency in Scotland.
Free and Open Source Code — 💜👊
Software Engineer - UI
AM: Check slack for bugs | attend daily standup
MidDay: Tackle tasks as assigned on my weekly calendar
PM: Bash my head until some kind of code comes out because I've already browsed through all of the Stack Overflow links in the first 2 pages of google search. We all know if your answer isn't addressed by the second page then you're in trouble. So why not just take a break looking through social media, but then you realize it's 6pm and it's still not done, so let's just close your computer and maybe it'll just resolve itself.
repeat
Arguing with my boss and other developer about What, Why, How
Seconded Content Co-ordinator here.
So every morning I come in, check my emails to make sure nothing is broke, or nothing needs done. If that's all okay, I check dev.to as I drink my morning coffee and read the interesting articles.
After I've settled I'll get my notebook out and have a look at what I wrote last night, and crack on with whatever I needed to do.
Normally if I'm not working on the task at hand, I'm normally arguing with the bosses and getting shut down anyway, and then do the task badly to redo it later. (That's more of a joke).
Senior Application Security Engineer:
I am a Senior Software Software Development Manager for a product with a very large customer foot print, and multiple large deployments monitoring all infrastructure of Cloud environments for a large multi-national corp.
I also develop and maintain some modules of the product along with other senior developers from my team. I often work remotely or from office buildings near to my home.
My team is geographically distributed with footprint in US (CA), Mexico and India.
I will describe my regular and typical work day here. However, if there is a escalations, hot issues going on, it kind of takes over most of the work day.
Hope this helps.
I reach office or start work around 10 AM, and then spend 30 minute reviewing emails and slack. I mark important emails and slack messages for response later, and archive everything else. Then I spend next hour or so in status or sync-up meetings with my manager / DevOps teams / Cloud Admin teams / et al. I get out of this by noon, and that's when I take my first break with a strong black coffee.
I spend the next hour responding to the emails and slack messages that I had marked earlier. Then I make a list of ToDos based on the Urgent-Important quadrant rules. And this leads to lunch.
Post lunch, it is a team status meeting with my team and based on the team's priorities that I have received or generated from earlier meetings, emails, slack, etc, we discuss work prioritization, allocation, de-prioritization, strategy, timelines, etc. This lasts exactly an hour per team.
I keep early evening to look for and respond to any escalations, customer issue, PM requirements, working and sync-up with Sustenance Engineering POCs, etc. This also includes triage of bugs filed on my areas and assignment to individual module owners, who can either work on those directly or assign them to junior developer they are mentoring. I try complete all code reviews assigned to me during this time, and possibly work on something which is not very critical and can be taken off the team load.
(Evenings are completely devoted to getting back to home and spending time with my children & wife, meeting friends for a cup of tea, and reading one chapter of one of the books that are on my reading list.)
I keep the 9 PM to 10 PM slot for my US and Mexico team and it is split & conducted exactly in the same way that is done for my India based team during their post lunch slots.
I attend meetings with Dev Ops, Cloud Admins, Customer facing PMs etc in the night in the 10 PM to 11 PM slot, to get the feedback on the changes that my team has done for them, and if they see any red flag in operation and we might have to look at it.
And that wraps my regular day.
Senior Developer for VR Training solution for Science/Industry professionals, prior to this i was Lead dev in the video game industry in both AAA and Indie.
1) Get a tea.
2) Check the news which the websites (like dev.to) I follow from rss feed. (Right now I'm on this)
3) Check the mails.
4) Check the hipchat
5) Start to a task.
And goes on.