A London Web Developer. A lot of my professional experience is in digital agencies and I enjoy helping new front-end developers learn how to code websites.
Getting a proper night of sleep. One would say "But that's not work related", but my energy levels and productivity are severely affected if I tank at 2pm as opposed to 4-5pm.
So the most challenging part is maintaining a flow state and alertness to handle the many different tasks in the day.
I struggled with this as well for years. The biggest boost for me on this front was cutting caffeine out. No more midday energy drops and my sleep is higher quality over all.
A London Web Developer. A lot of my professional experience is in digital agencies and I enjoy helping new front-end developers learn how to code websites.
I find a coffee timed correctly in the morning perks you up so you're at a good and maintainable energy level sooner in the day. For me, that is about 9 or 10am. Any later and the code on the screen at 3pm starts looking like Russian!
Good point, this is a big factor in getting a good night sleep, If I consume caffeine after 14:00 AM I can't fall asleep until 1:00-2:00 PM, in contrast, when I don't take caffeine I fall asleep around 11:30-12:00 PM
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
Sleep is super important, and so many healthy and unhealthy habits at home depend greatly on what the work day looks like.
For me, tracking my sleep actively and then working very carefully to improve my morning and evening routines helped a lot.
The better I slept, the less problems I had in my work which stressed me out. The less stressed out I was, the better I slept. It can be a virtuous or vicious cycle, depending on the choices you make!
Have you tried Polyphasic Sleep? When practised correctly, your body accommodates to certain sleeping times, making it easier to fall asleep, need less sleep while also getting higher quality sleep.
Totally agree, this is something I tell my colleagues! Sleeping is really important. If you don't rest the brain at night, why would he help you in the daytime?
I think the daily part of my life which is most challenging besides programming is keeping myself motivated to exercise everyday, be that walking for an hour or training with weights.
It's so much easy just to sit on couch, after coming from office, but I have to really push through this, to do my workout.
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
For me, walking while listening to audio books or music is where I got started in building a healthy habit.
Then later on, I started adding in exercise-oriented video games (Just Dance, Fitness Boxing, Ring Fit Adventure), because those were things I could do even if the weather outside was bad, and I actually found it pretty fun to see progress over time on them.
Exercise is so helpful to all aspects of life, and I overlooked it for far too long.
Definitely, this has been one of the most important things I've done as a developer, I've noticed a big difference regarding mental health when exercising regularly.
I agree with Ivan below. You want to be at the point where exercise is a habit/routine, so much so that you actually 'enjoy' it. Soon as you enjoy it becomes much easier. I currently work 40 hour weeks and exercise 6 times a week for around an hour each day.
Maybe you just haven't found the right activity? Consider taking up a sport, such as tennis? Swimming? Running? I even found myself taking up ping pong lessons for while which was a surprising burn!
Passionate about education, fintech, Python, Javascript, progressive growth, and full-stack development.
Sometimes I write code, sometimes I just write.
yeah, I cannot recommend exercising enough. I normally have a one and a half-hour workout schedule, at least 4 times a week. One hour for a run and a 30-minute cardio workout to relieve me from the hassle of staring at a computer screen most of the time. There's this notion that as software developers we have to conform to a certain isolated lifestyle in the basement or holed up somewhere writing code all day. But this shouldn't be the case. Exercising also helps as I get to introspect during that hour-long run and keep my feet on the ground(literally ;) )
Best way to keep exercising is to create a habit. You form a habit after three weeks of doing something, so then it should be easier to follow.
Also, it is much easier when you exercise with someone, so you might want to include a family member or friend.
I'd say that organizing work for a team of 3+ is challenging. We have 2 week long sprints and so ensuring everyone has enough to work on in the next sprint is something that's a daily task. Also, breaking work down for a project for other developers is difficult as well and a skill in of itself you don't hear about much. Thinking in terms of work streams presents the biggest hurtle in that whole thing.
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
Ah yes, I've had to do my share of planning out work for others over the years.
What I've found to work is to start accepting the idea that planning needs to happen at various levels of granularity over longer time scales, because constantly trying to groom the backlog on a two week cadence just doesn't work. This is especially the case when you run into unknowns, whether it is something being much easier than expected, much harder than expected, or just blocking because of some external issue outside of the team.
Have you seen the Shape Up process from Basecamp? It's something you'd probably need to adjust a bit to fit your situation, but it's full of interesting ideas that may help.
Lover of technology, developer of things.
From big platforms like Salesforce to NodeJS and all the way to home automation with Arduino, I tinker with it all.
Location
Newmarket, Ontario, Canada
Education
York University
Work
Technical Lead / Full Stack Developer at The Regional Municipality of York
For me it's definitely the people aspect of the job that's the most challenging. I can zone in and program for hours and days on end but dealing with people takes away all my energy.
I often find myself having to work really hard to "sell" my ideas when, in my head, I don't think I should have to work so hard at that. I try to pick the ideas that will benefit the corporation as a whole but yet I still have to convince people. The amount of resistance I'm met with baffles my brain. A lot of "old-timers" at my corporation that are very scared of shifting the way we do business.
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
But if you're trying as best as you can and still can't change things for the better, thinking about whether or not the environment you're in is right for you long term would be a good idea.
Lover of technology, developer of things.
From big platforms like Salesforce to NodeJS and all the way to home automation with Arduino, I tinker with it all.
Location
Newmarket, Ontario, Canada
Education
York University
Work
Technical Lead / Full Stack Developer at The Regional Municipality of York
Good advice, I will check out those reads.
The place I'm at is good for now but I have definitely asked myself the question many times whether or not I can make change in the long term. The jury is still out on that but I will keep trying.
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
I run a tiny web development shop that I occasionally work alongside subcontractors at, but it mostly depends on me to keep things moving.
In this setting, the most challenging thing has been sequencing and selecting work across multiple unrelated clients/projects, while also leaving time in the schedule for personal and business development.
Within the scope of a single client's work (and especially within a single project), it's pretty easy to draw a circle around a bunch of related items so that progress on one thing benefits several other things. When it comes to cutting across project/client boundaries, it becomes a lot more complicated. It's also hard to have the self-control to find a stopping point when you're down in the weeds on something even though it is important to do so in order to stay responsive to everyone else's needs.
I have gotten a lot better at this over the years, but it seems like it's still the biggest bottleneck for me in terms of daily work challenges.
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
Usually I like to flip this question around and get a measure of importance and urgency before trying to discuss how long something might take, and even then I tend to favor not giving time estimates but instead focusing on prioritization.
Because in truth, for anything we're asked to do, there can be a 1000x difference in the total time cost (and more importantly, the time-to-ship) depending on scope, access to the supporting people + resources we need, budget, and "All the other work-in-progress / planning work."
There's a good two minute video about cost of delay that may be helpful in thinking about and communicating about these issues, may be worth checking out:
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
Carving out slack time in the schedule is the most helpful tool in avoiding the feeling of being excessively rigid about prioritization.
This isn't intuitive so it's easy to get wrong, and what is particularly unintuitive is to what extend on-demand planning and analysis actually eats away at the available time to get stuff done.
(This is by contrast to prescheduled and explicitly accounted for planning time, which is a generally a good thing)
A while back I wrote an article on overproduction which aims to help make this issue more understandable... but when in a crunch, it's hard to change minds for sure.
Looking out on longer and longer time scales seems to help. It can be easier to free up slack with decisions that will kick in beyond the current overcommitted cycle than it is to convince people to take immediate action on the spot.
But it's indeed an infinite game, not something that can be solved once and then promptly forgotten about. π
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
How good is your documentation? Are there well-structured training programs set up in your work?
(These are the first two questions I'd dig into, and for the first one, I wrote an article on a process for improving documentation that works pretty well without requiring a huge up-front time investment)
As someone 3 months in their first web dev internship, it's still very challenging to relearn everything I know about work productivity. I have a call centre background, so my worth as an employee was very clearly calculated in the amount of calls/e-mails I handle per hour. Now, as a developer, it's actually hard to consider myself working if I watch a tutorial or only write a few lines of code by the end of the day, after spending hours just researching the concept. I find myself wide awake in the middle of the night thinking "Oh, tomorrow I'll do more lines, or what if they think I'm just wasting time" etc etc. It's hard to just "chill" and accept that my work style is just as valid, and developer work value!= lines of code.
Hi, I'm Gregory Brown.
My goal is to help software developers get better at what they do, whether they've been at it for five weeks or fifty years.
(he/him)
I still struggle with this at times, but realized a good amount of this was due to anxiety/depression issues for me and working on treating those issues improved my ability to focus and get things done quite a bit.
(It can always be improved and there are good days and bad days, but I wish I had recognized it was related to some underlying problems sooner in life and worked on those issues sooner)
For me it's managing 'up'. It's overcoming ridiculous business expectations and deadlines. It's trying to work in an agile team within a waterfall business. It's the frustration when the business doesn't allow me and my team to do things 'the right way'.
Top comments (52)
Getting a proper night of sleep. One would say "But that's not work related", but my energy levels and productivity are severely affected if I tank at 2pm as opposed to 4-5pm.
So the most challenging part is maintaining a flow state and alertness to handle the many different tasks in the day.
I struggled with this as well for years. The biggest boost for me on this front was cutting caffeine out. No more midday energy drops and my sleep is higher quality over all.
I find a coffee timed correctly in the morning perks you up so you're at a good and maintainable energy level sooner in the day. For me, that is about 9 or 10am. Any later and the code on the screen at 3pm starts looking like Russian!
Good point, this is a big factor in getting a good night sleep, If I consume caffeine after 14:00 AM I can't fall asleep until 1:00-2:00 PM, in contrast, when I don't take caffeine I fall asleep around 11:30-12:00 PM
Sleep is super important, and so many healthy and unhealthy habits at home depend greatly on what the work day looks like.
For me, tracking my sleep actively and then working very carefully to improve my morning and evening routines helped a lot.
The better I slept, the less problems I had in my work which stressed me out. The less stressed out I was, the better I slept. It can be a virtuous or vicious cycle, depending on the choices you make!
Have you tried Polyphasic Sleep? When practised correctly, your body accommodates to certain sleeping times, making it easier to fall asleep, need less sleep while also getting higher quality sleep.
Totally agree, this is something I tell my colleagues! Sleeping is really important. If you don't rest the brain at night, why would he help you in the daytime?
I think the daily part of my life which is most challenging besides programming is keeping myself motivated to exercise everyday, be that walking for an hour or training with weights.
It's so much easy just to sit on couch, after coming from office, but I have to really push through this, to do my workout.
Ah, yeah!
For me, walking while listening to audio books or music is where I got started in building a healthy habit.
Then later on, I started adding in exercise-oriented video games (Just Dance, Fitness Boxing, Ring Fit Adventure), because those were things I could do even if the weather outside was bad, and I actually found it pretty fun to see progress over time on them.
Exercise is so helpful to all aspects of life, and I overlooked it for far too long.
Definitely, this has been one of the most important things I've done as a developer, I've noticed a big difference regarding mental health when exercising regularly.
I agree with Ivan below. You want to be at the point where exercise is a habit/routine, so much so that you actually 'enjoy' it. Soon as you enjoy it becomes much easier. I currently work 40 hour weeks and exercise 6 times a week for around an hour each day.
Maybe you just haven't found the right activity? Consider taking up a sport, such as tennis? Swimming? Running? I even found myself taking up ping pong lessons for while which was a surprising burn!
Exercising (especially in the morning) will make you feel more awake during the day, allow you to sleep more easily at night and give you a faaaaabulous bod πͺπ€©
yeah, I cannot recommend exercising enough. I normally have a one and a half-hour workout schedule, at least 4 times a week. One hour for a run and a 30-minute cardio workout to relieve me from the hassle of staring at a computer screen most of the time. There's this notion that as software developers we have to conform to a certain isolated lifestyle in the basement or holed up somewhere writing code all day. But this shouldn't be the case. Exercising also helps as I get to introspect during that hour-long run and keep my feet on the ground(literally ;) )
Best way to keep exercising is to create a habit. You form a habit after three weeks of doing something, so then it should be easier to follow.
Also, it is much easier when you exercise with someone, so you might want to include a family member or friend.
I'd say that organizing work for a team of 3+ is challenging. We have 2 week long sprints and so ensuring everyone has enough to work on in the next sprint is something that's a daily task. Also, breaking work down for a project for other developers is difficult as well and a skill in of itself you don't hear about much. Thinking in terms of work streams presents the biggest hurtle in that whole thing.
Ah yes, I've had to do my share of planning out work for others over the years.
What I've found to work is to start accepting the idea that planning needs to happen at various levels of granularity over longer time scales, because constantly trying to groom the backlog on a two week cadence just doesn't work. This is especially the case when you run into unknowns, whether it is something being much easier than expected, much harder than expected, or just blocking because of some external issue outside of the team.
Have you seen the Shape Up process from Basecamp? It's something you'd probably need to adjust a bit to fit your situation, but it's full of interesting ideas that may help.
Thanks for the suggestion about Shape Up, I'll definitely check it out.
Yeah moving planning to a more macro structure is definitely something I'm learning to do.
For me it's definitely the people aspect of the job that's the most challenging. I can zone in and program for hours and days on end but dealing with people takes away all my energy.
I often find myself having to work really hard to "sell" my ideas when, in my head, I don't think I should have to work so hard at that. I try to pick the ideas that will benefit the corporation as a whole but yet I still have to convince people. The amount of resistance I'm met with baffles my brain. A lot of "old-timers" at my corporation that are very scared of shifting the way we do business.
The book To Sell Is Human is really good on this topic.
Another good one is Switch.
But if you're trying as best as you can and still can't change things for the better, thinking about whether or not the environment you're in is right for you long term would be a good idea.
Good advice, I will check out those reads.
The place I'm at is good for now but I have definitely asked myself the question many times whether or not I can make change in the long term. The jury is still out on that but I will keep trying.
I run a tiny web development shop that I occasionally work alongside subcontractors at, but it mostly depends on me to keep things moving.
In this setting, the most challenging thing has been sequencing and selecting work across multiple unrelated clients/projects, while also leaving time in the schedule for personal and business development.
Within the scope of a single client's work (and especially within a single project), it's pretty easy to draw a circle around a bunch of related items so that progress on one thing benefits several other things. When it comes to cutting across project/client boundaries, it becomes a lot more complicated. It's also hard to have the self-control to find a stopping point when you're down in the weeds on something even though it is important to do so in order to stay responsive to everyone else's needs.
I have gotten a lot better at this over the years, but it seems like it's still the biggest bottleneck for me in terms of daily work challenges.
Big thank you, very honest and i do feel the crunch, it is very much about pacing yourself but not feeling left-out
Absolutely.
Usually I like to flip this question around and get a measure of importance and urgency before trying to discuss how long something might take, and even then I tend to favor not giving time estimates but instead focusing on prioritization.
Because in truth, for anything we're asked to do, there can be a 1000x difference in the total time cost (and more importantly, the time-to-ship) depending on scope, access to the supporting people + resources we need, budget, and "All the other work-in-progress / planning work."
There's a good two minute video about cost of delay that may be helpful in thinking about and communicating about these issues, may be worth checking out:
vimeo.com/101506552
If you tell me more specific details about your situation, I may be able to offer some other ideas as well.
Carving out slack time in the schedule is the most helpful tool in avoiding the feeling of being excessively rigid about prioritization.
This isn't intuitive so it's easy to get wrong, and what is particularly unintuitive is to what extend on-demand planning and analysis actually eats away at the available time to get stuff done.
(This is by contrast to prescheduled and explicitly accounted for planning time, which is a generally a good thing)
A while back I wrote an article on overproduction which aims to help make this issue more understandable... but when in a crunch, it's hard to change minds for sure.
Looking out on longer and longer time scales seems to help. It can be easier to free up slack with decisions that will kick in beyond the current overcommitted cycle than it is to convince people to take immediate action on the spot.
But it's indeed an infinite game, not something that can be solved once and then promptly forgotten about. π
Dealing with people that after many years on the project still don't understand how things work.
How good is your documentation? Are there well-structured training programs set up in your work?
(These are the first two questions I'd dig into, and for the first one, I wrote an article on a process for improving documentation that works pretty well without requiring a huge up-front time investment)
I'll take a look thanks
As someone 3 months in their first web dev internship, it's still very challenging to relearn everything I know about work productivity. I have a call centre background, so my worth as an employee was very clearly calculated in the amount of calls/e-mails I handle per hour. Now, as a developer, it's actually hard to consider myself working if I watch a tutorial or only write a few lines of code by the end of the day, after spending hours just researching the concept. I find myself wide awake in the middle of the night thinking "Oh, tomorrow I'll do more lines, or what if they think I'm just wasting time" etc etc. It's hard to just "chill" and accept that my work style is just as valid, and developer work value!= lines of code.
fighting procastination
I still struggle with this at times, but realized a good amount of this was due to anxiety/depression issues for me and working on treating those issues improved my ability to focus and get things done quite a bit.
(It can always be improved and there are good days and bad days, but I wish I had recognized it was related to some underlying problems sooner in life and worked on those issues sooner)
For me it's managing 'up'. It's overcoming ridiculous business expectations and deadlines. It's trying to work in an agile team within a waterfall business. It's the frustration when the business doesn't allow me and my team to do things 'the right way'.