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!
Top comments (28)
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: