I hear senior developers saying I shouldn't do it because I will get burned out, I hear not so experienced ones saying we should use every moment w...
For further actions, you may consider blocking this person and/or reporting abuse
I think it depends on each individual person. Some enjoy coding in their free time, some like to only code during work hours, and some are in between. I don’t think any of these options make one person a better developer than another. It’s all about balance for each individual.
I personally love writing code as my day job and enjoy writing code outside of work from time to time, but I also have a lot of other interests that I like to spend my free time on. I may spend more time coding outside of work if there’s a specific project I’m working on, but I also like to devote time to non-coding projects and activities that interest me.
Yes, different strokes for different people. I want to add to this that it also isn't black and white. There are times in my life where I totally do code in my free time, but this is not always the case. Sometimes I do nothing, watch movies, play video games. Other times I buy am ukulele and just practice that for a year (yeah, very specific :) and if I'm feeling it, I will start writing code again, because, this is the most important part I want to and enjoy it.
Also - if it's a case of other people looking down on you - that's often a self defence mechanism that hides their own lack of self-worth. They set themselves up as superior by diminishing everyone else. It's not sustainable for them, and isn't true about you. So brush it off.
Then there's the question of are people actually looking down on you?
Imposter syndrome's a bitch. It likes to make us think others think less of us because we don't know everything about everything, and yet we all have that same insecurity. Maybe not all of the time, but we've all dealt with it. We've all felt like we're "less-than" or whatever, because we don't know something someone else does.
This field is massive and growing every day. You're not going to know everything about everything. You're not even going to know everything about your little niche. There will always be someone who knows stuff you don't.
And you know what? You also know things other people don't know.
Embrace what you know and share it. Learn the relevant stuff you don't know but need to know. Outsource the rest. Fill your niche, let others fill theirs.
For what it's worth, there are plenty of people in other positions who do take work home with them; I know at least a few.
I typically don't though since I have responsibilities at home. So when I do leave for the day, even if it's a little late, I'm almost always done for the day.
That's more a responsibility and life balance thing though. If I had more time, I'd probably be working on a side project more often, although it can be harder to depending on what I spent the day racking my brain on.
I mentioned in another comment already, but what I love about working on side projects is that there's no pressure. This is one of the things that makes working on side projects so enjoyable for me—I'm free to handle the work any way I want to, and I can completely put it down if I just don't have the spare time (although I really don't like having to for that reason if I'm being honest 😅).
I have occasionally worked on personal programming projects outside of work, but like others have said, only if it's something I find fun or engaging.
I think a good question to ask is why are so many employers not providing time for their employees' professional development? I'm fortunate enough to work for an employer who encourages some professional development on the clock, and I think this should be the norm, even though I know it's sadly pretty far from the current state of things.
I write code whenever I get free time and I think it will have a bit of an impact on your health too.
I really try to take time off and get my mind off and chill.
I think it depends on if it makes you happy. Personally I do software development in my free time because it makes me happy and fulfilled, among other things like relationships, friendships. Another thing that makes me happy is self improvement. Besides coding, I also take notes religiously (Zettelkasten) on things that I selectively read, and write blog posts.
My point is that, just because it's coding doesn't mean it's work-related. To me it's just fun, and not to satisfy anyone's expectations on how I should behave professionally. Actually, I actively avoid working more than the agreed hours, in order to make time for coding things that I am personally interested in.
You will get burned out, for sure (i got burned after 1 year of non-stop coding). I usually code after my working hours only when i find something new/interesting to play with. If it's just a routine work, i won't do it in my free time.
Yeah, that's something to watch out for.
What I like about coding in my free time (when I'm able to) is that there's no pressure. So even if I don't have the time to, I don't have to worry about it.
I'm still not there. Sometimes I feel bad that I don't use my free time for more coding. Most of the days it's like this but I have periods when I can relax and not care about it.
Same here. Usually when I code in my free time is to try something new.
A few years back, after a particularly nasty personal event I threw myself into a coding project outside of work hours. I spent a few hours each night and most weekends working on this project.
I learnt loads from it, lots of which I continue to use in my daily work; it helped to rebuild my confidence and eventually earned myself a great deal of recognition.
But as a long term method of getting ahead its not worth it. It took a colleague to point out how much of my mental health I was risking by continuing in that way.
Sure, as a short term thing it gave me the grounding I needed. But as a long term approach it just doesn't work. And I hate to think what I would've done to myself had I continued in that way.
As far as coding goes, how often does a solution come to mind away from the keyboard? That time away is just as important to the creative process.
Moderation in all things.
"As far as coding goes, how often does a solution come to mind away from the keyboard?"
This is actually funny because every time I take a break and I go out for a walk with my dog, I end up talking to myself about the code. Sometimes I even come up with solutions :). Thank you for your input.
In short, if you want to be a really good or outstanding developer, you should use every opportunity to learn and code. Of course, it increases the chance of burning out eventually, but you can consider it a price paid for being an outstanding developer. Nothing is for free and it's only your choice of how much you want to invest. More you invest, better you may become. Find a good balance. Sacrifice if you want more. People are different so someone has to invest more, someone less to be at the same level. It's also not for everyone. Ideally, it's your hobby so you tend to learn and code as much as you can, often at an expense of not sleeping or similar sacrifices, simply because you like it and enjoy it. But that's probably not your case, since you wouldn't ask such question.
You can still be a good developer, even if you don't invest your own time into learning, but I don't personally know any outstanding developers around me, who wouldn't learn & code all the time simply because they like it.
Also, the IT is generally a no-bullshit field regarding the skills. It usually doesn't matter how many schools you have finished, how many diplomas you have or how many hours of your free time you devote to learning and coding every day. What matters is your real knowledge and your skills.
So if anyone is telling you that you're not a good developer just because you don't spend the whole nights coding, it means he's an idiot who has no clue what matters, and he won't be able to help you grow.
Thank you for the nice words. I think we live amazing times, when as you said, people without CS studies can enter the field and become as good as they want. There's no limit on the things one can learn (ok, maybe just time wise). I'm lucky I didn't have to sacrifice anything until now because I already liked learning new things, even before becoming a frontend developer. But I understand that for others self teaching can be challenging. And not because they don't want to become better but because it doesn't suit them.
Continuously connecting yourself with work/code will surely exhaust you sooner or later. So it's wiser to have breaks and do something else in different arena like hobbies, sports, hangouts...etc after work hours. Or at least a good long sound sleep. You can utilize your weekends/hoidays for learning new stuff or developing pet projects.
Now that we work from home, do naps count :)?
What are you doing it for? Is it you are doing it for career progression, personal branding, creating your own startup or you are interested in developing open source because it is fun?
You don't really exactly need to do coding all the time outside of your work. Enriching your mind helps a lot like listening to a podcast, reading books, watching videos, networking, documenting your development journey through your personal blog.
Right now I do it for career progression/ expanding knowledge. And yes, hobbies are really important for keeping a healthy mind. Thank you for your input.
I think it depends. I would code after my work hours if it's something that I am learning or want to learn or understand it better. Also, if I have some sort of a side project I would do that too. And that kind of thing comes and goes. If you think that you need to code after work hours or you will stay behind I would say for you to relax. FOMO and the feeling that other people are making progress and you are not is the one thing that could make you feel stress.
I think if you do not exaggerate you will always be able to learn new things, work on side projects, and code after work hours. But you also be able to play video games, watch movies and just chill.
No, you shouldn't. Only robots are work without any interruption. Your self-improvement is also important. People shouldn't be a lover of their job. This should be a hobby. When you write code all the time, you may get burnout syndrome.
In the past, I met a lot of people who had burnout syndrome. You should do different things o remember you're a human. Read books, do gym, cook something, draw something or dancing, etc.
The job we love shouldn't kill us. I wanted to die about one year ago because of different reasons. This job was one of my reasons to kill myself.
My girlfriend lied to me. Because of this, I was really sad, and I was under stress while doing my job. Sometimes, I've failed because of these reasons.
Thinking more, really bad idea. This is a kind of die. Let your mind be free. You'll be more successful.
I'm sorry to hear you went through bad times, I hope you are feeling better now. And I agree, we should avoid burnout as it might even make you quit coding all together - I know someone who actually did.
Do you like to watch movies? Do it.
Nowadays, I'm trying to improve my English. I loved these words, "I know what I have to do now. I gotta keep breathing. Because tomorrow the sun will rise. Who knows what the tide could bring?"
Stay strong :)
No. Find a way to live a well rounded life. I love code, and have done for 30 years, but there is more to life. If you're doing it out of some sense that you have to keep up or catch up - here's a secret - YOU NEVER WILL! Not because you're a bad programmer or bad human, but because it's impossible. You will be a better programmer in the long run if you allow your brain time off to recharge.
Crunch time happens occasionally (1-2 times a year is enough). Try to be balanced the rest of the time. If you are finding that hard, have a think about why - internal or external factors.
This might be relevant.
codingmindfully.com/the-software-d...
I always have the feeling I will never catch up or I won't know as much as I need to know but I suppose this is a feeling everyone is struggling with. Thank you for the resource, I was pleased to find out that I'm not experiencing any of the symptoms of a burnout developer :).
Glad to hear! It's completely a feeling everyone struggles with. There is too much software engineering to fit in a single human mind! So enjoy the process of learning and admire and take inspiration from those who know a lot already!
Hi Silvia,
This is a tough question. I think partly it also depends on how diverse your work is and if you are being challenged by the work you do while you are clocked in.
If your work is challenging and you don't feel like you are given the time to learn during working hours, I think it is important to find the time to really understand your work and question the work you are doing (processes, coding conventions, finding better and more efficient ways of doing things, understanding what others are doing - e.g. understanding how FE/BE can better go together or understanding design and usability flaws).
If you feel that you are not being challenged at work and you are doing just enough to meet the requirements, than challenge yourself to speed up your work to then find time to do new things and improve. And again question everything.
There are many more scenarios that I could lay out, but in the end it is less about the working hours and more about whether or not you feel that you are being stimulated and fulfilled with the work that you are doing. Learning an attitude of curiosity and discipline is huge just for you as a coder. Not only as an employee.
Burnout usually comes from pushing yourself into an overworking attitude that is unfulfilling and causes you to pay less attention to your mental and physical health.
However if you feel like you are stagnating, or the other extreme of feeling fatigue even after just a little bit of coding, maybe it is important for you to find something that ignites your passion again.
The senior developers that I have looked up to most in my life are people who want to 1. share their knowledge, 2.are constantly wanting to learn and adapt, 3. are passionate about the thing they do.
Learning to ask the right questions and know how to solve problems doesnt just come from learning the newest technology or constantly reading decumentations for cool tools. Those things can be super important, but those things also take time and they are complimented by a healthy work environment where you can learn from others and share the knowledge you have.
It can all seem overwhelming sometimes. The amount of potential things to learn and all the cool technologies that developers love to fight about. But in the end, if you challenge yourself just a little bit each day and start to question everything, pretty sure you will find new worlds opening up to you.
Thoughts?
great post right here by Ilona Codes on mental health and productivity.
I didn't switch fields long time ago so at the moment everything is still overwhelming. I work a lot in my free time but it's because I have the feeling I'll never catch up (feeling that might as well be false, cos' there's not enough time in the world to know everything that's out there). I don't believe that this is good on the long term strategy so lately I've started to take longer breaks and keep the extra coding for the weekend. I do agree tho' that hard work comes with great results. Thank you for your input :).
I think there are two aspects to this question:
a) Coding on the side as a "hobby" ("for fun")
b) Coding on the side as an investment in career advancement, entrepreneurship, etc.
A
If you enjoy coding and want to do it on the side - why not? If it "recharges your batteries" then go for it. But I would agree that having other hobbies is a good thing ;)
B
If you want to invest in your future career (easier to get a job, ability to get better jobs, more opportunities, want to start your own business someday) then you have to do it at a time other than your full-time day job 🤷♂️
Also, your current job may use outdated tech or you may not have good mentorship there. What do you do? Well, YOU have to figure that out on your own time.
How can you get experience with open-source if your company doesn't allow you to during the day? Again, it's gotta be on your time.
I do a lot of stuff on the side, in addition to many personal commitments and duties I have. But I always make sure my family comes first and I try to prioritize what activities will have the biggest impact ATM.
For example, if someone asks me to write a book for a well-known tech publisher - should I focus on that? Or just pump out blog posts? It depends on what my future goals are...depends on why I'm blogging too.
I totally agree that the more you code, the more experience you have and it's a great investment in your career (most likely the best investment). I think I envy people that can code for 8-9 hours and then go home and code some more because coding is both their job and their hobby :).
I think I should code outside of work. I find it relaxing to work on my own projects. I view it as a hobby, in which I can do what I want.
However, I don't think that anyone should code outside of work. If it doesn't feel right, turn your screen off and do something else. You've got your own pace of learning new things. It's important to recognize that, as submitting to a faster one can quickly drive you towards frustration and burnout. If you spend your time coding when you think it's right, you're being more effective in the long term.
Also, noones's writing code all the time even when in office. Concentrating for 8 hours straight is nearly impossible.
You're right. This is something that I noticed and I believe is true: whenever I'm trying to force myself to code, I tend to procrastinate and even if I'll end doing it, I won't be very productive. When I'm in the mood for coding, I lose track of time and I actually achieve things, way beyond what I planned. Thank you for your input.
It should not be an obligation, and you should get some fun from coding outside of office hours. And it should not be to work related, so not a poc for a new thing or something.
I am struggling with doing the 'right' amount. While programming in free time used to be just for fun, it's now often to prepare for talks, or contribute to open source. And that makes it a lot more like real work.
It also depends on your work. Especially when I just started I was often overwhelmed by the stuff I needed to learn to do my work, so there really wasn't any room to learn additional stuff.
Try to find the balance that works for you. Learn enough to tickle your brain, not su much to burn it out. And the correct balance is very personal and depends a lot on your private life as well.
It also depends on your work. Especially when I just started I was often overwhelmed by the stuff I needed to learn to do my work, so there really wasn't any room to learn additional stuff.
This is where I think I'm making some mistakes as I am already overwhelmed at work and I come home and try to push it further. My more experienced colleagues told me to take it easy so now I keep these learning sessions mainly for the weekends.
Thank you for your input.
I think isn't mandatory but recommendable in some situations, specially when you are a junior. Also is a good idea to code in your free time if you want to try different things, like you're only doing backend in your work and want try frontend or mobile.
Yes, that's what I'm doing at the moment, just because the office hours are not enough to get up to date with everything I need to know. I usually use the weekend for that since during the week I'm already too tired (juniors get tired faster :D).
Depends on the person. For me, if I don't program for a a couple weeks, I get rusty. I can't tell if it's from losing familiarity with the specific code base or just forgetfulness in general.
You shouldn't force yourself to do it though.
How come you can't stop coding for a few weeks? Do you do this for a living?
I didn't like the idea if your job is a software developer, you should have some other hobits to fight routine and work issues and to not be bored, for my case I invest only in my 8 hours per day /5 days per week to learn something new, write blogs, answering questions in StackOverflow in parallel with my work tasks,
for me the weekend is sacred, I always try to practise other activities like practising sport, shopping, gardening and I'm trying to learn fishing :D
I feel that you should do some coding in your personal time, just because that's how you keep your skills sharp, but you should not do work-related stuff after hours. You belong to the company from 9AM to 5PM, but if they want you to work after that they can damn well pay you time and a half for it. Your time is your own, you owe the company exactly as much as they pay you for.
Actually this is a good point. Many of the people that work in the field are very surprised when I tell them I'm working on things related to the job, after clocking out. The thing is that I don't do it for the company, but for myself, to expand on what I learned during the day, so I don't really thing they owe me anything. I guess the knowledge will help me in the future, no matter which job I have. Thank you for your input.
Yeah, I was pushing more against the expectation that you ought to do work-related programming in your free time and are a failure if you don't. Would have been nice if that had been what you said. If you do your skill-building using work code, I can't really argue against that, but I still prefer to work on things I can show off on Github.
Not sure, I think in the end it comes down to what you want from life. Do you wanna be a better developer or do you wanna play games and fool around? Times is precious, you only get one life. And I want to be as good as I can in this pursued. That being said, in order to be better you need to give yourself a rest from time to time.
Can you be a good developer and also fool around? Do you think that's possible? I think in the end everyone who's doing this job wishes to get better. Or at least they should want that. Although I don't think being a mediocre dev is something bat either.
I think this whole "fool around or be a better X" is a false dichotomy, because "fooling around" is entirely subjective.
I do a fair bit of gaming. It's obvious Patricio would consider that "fooling around," but do you know what? That "fooling around" very often results in a lot of creative activities and even some code-writing. I can very often pull back the proverbial curtain of the game and "see" into the mechanics of the game (both in the general game mechanics sense and in the literal technological sense). I essentially mentally reverse engineer parts of the game I'm playing to see how it ticks (I've freaked out more than a few fellow players when I've done something most people don't know works). When I run into problems or quality of life issues with a game, I might write a mod/addon for it (there's the code writing).
What's the purpose of writing code? What's the purpose of being a programmer?
To me, the answer to both is "to solve problems." I'm a problem solver, first and foremost. I just happen to use code to solve many of those problems. Writing code every waking hour just for the sake of writing code (ie - "because you should be writing code all the time!") doesn't, in my opinion, actually accomplish much. Sure, you might get better at writing code (and there's certainly a time and place for coding for its own sake -- especially when learning a new language), but are you actually solving problems? Maybe, maybe not. For me, at least, "fooling around" leads to unearthing problem solving opportunities that I can then write code for (if that's what the solution calls for).
Hey, Shauna thanks for answering back, let me first say that I don't consider gaming fooling around, I myself played video games since I was a kid and although I haven't owned a gaming rig for the last 3 years I am still waiting for the moment when I can build one back(moving from country to country doesn't play very well with this). I totally agree that gaming can be a gate to relaxation and can produce some solving problem ideas, actually, my first pieces of code were game hacks for a very old RPG haha.
What I meant was that time is precious and in my opinion, it should be focused. If you play videogames because you made the conscious and rational decision of relaxing and play some games that is totally fine by me. If, on the other hand, someone spends a lot of time playing games just to do "nothing" (and I use to be that way), I think there could be much better ways to use that time, and that doesn't have to be coding, it can be anything as long as you decide to do it and make the most of it.
I don't quite agree though that you should only make code if you find a problem to solve, sure our main line of work is to solve issues, but there is much more into software than that. Just as an example, for the last few months I have been reading about Category Theory, I have 0 requirements to do so, there is no real problem right now I can solve with Category Theory, I just do it because I think it is fun, I like to see how my knowledge of software development is gonna be transformed because of it. So instead of playing games, I am reading books from weird mathematicians. I don't think one is better than the other, for me games and programming are two different ways to have fun (although I also get paid to do one).
Sure, with time you will get better even if you don't much effort into it. It is not about being bad or good. If you truly want to be a developer, the best you can be, you should put as much effort as possible into it. If that is not what you want that is okay too. In my case, this is what I love, what I want to do for the rest of my life, so i try to give it as much time and effort as possible. I don't really care if others do the same or not.
I've come up with an analogy that works great for me. With all my creative endeavors (which only partially includes coding) I think of a sponge.
It took a long time (at least a decade) to recognize I have two major modes, absorption mode and squeeze mode.
When I'm in absorption mode I am doing lots of reading, research, jotting down ideas, and seeking inspiration. Eventually the sponge gets so wet I know that it's time to squeeze.
When I'm in squeeze mode, I'm coding and designing tirelessly, sometimes through the night, until the sponge runs dry.
It's a simply analogy that has worked very well for me. But it began with recognizing the times when I wasn't being productive with output and allowing myself to say now is not the time.
I love this analogy!
It's simple, but I think it's spot-on, and so much more eloquently put than the rambling section of my own response, trying to describe this.
I think there's a third "mode" -- passive osmosis. The sponge is slightly damp or dry but not stiff-dry and sitting in a puddle - it passively absorbs the water, but isn't being aggressive about it. It'll get most of it if given long enough, but it's in no rush.
These would be the times where I'm not actively researching or seeking inspiration, but rather....letting inspiration come to me. Letting ideas come and flow around and maybe making note of what seems to have some sticking power, so I can deep-dive them when I go into one of the active modes.
Sometimes you have to be careful, my spunge has been full of thick sludge at times, and that can take a long time to clean out!
I like your analogy :). I can identify with these states you're talking about. I definitely have days when I learn easily and days when I prefer to practice what I learned. I think this is the way things find their balance.
Then there are those of us who only code in our spare time, but have been doing it almost daily for well over the past 20 years 😁 I adore it and can't get burnt out, but it might not be the same for you. Then again, you never know, it might😁
You mean coding is your hobby and not your day job? If that's the case, then yes, you're a different category :).
what stacks are you into?
I can write in various languages, high and low level; though since high lvl languages have always served my needs I tend be more comfortable with interpreted/scripting languages. I started writing all the basics 20+ yrs ago - Batch/CMD/PS then started C++/Assembly. I occasionally write small cli or simple math bins in those, but everything I've' needed done in the last 10+ years was easily done in AutoHotkey/Python in Windows and Shell (Bash)/Python in Linux. I can also write HTML, CSS, PHP, and very familiar with vanilla Javascript as I have used them for many years to build personal sites and UserStyle/forum themes. I've read lots of introduction books to many other languages and familiar enough with their syntax. I am more than familiar with many different programming constructs and I read any programming/computer science book I can get my hands on. I don't have a professional stack, but I guess that's what you'd call mine.
I have child so it's impossible to code 24/7 :) But seriously, do not code all day long even if it's your great passion. You will burnout really quick and be tired of coding. Even juniors whom need to code much to learn, should have breaks (IMHO).
I do think coding for too long might give you the wrong impression about what the job means and you risk giving up or end up hating it, when it's not the case. Balance it's important and coding should be fun.
I have been a coder for 4 years and I code in all of my free time as well as at work. This means all of my saturdays and sundays as well. I don't have a problem with it because coding is my passion, luckily. But I have lost my social life. In my personal and honest opinion, do not be like me and code in all of your free time. I don't feel healthy but in return I feel like a great coder. There's just too many cons than pros in your overall well-being when it comes to coding 24/7.
True, balance is important, just like with everything in life. But I believe that as long you understand what you're doing and you're fine with the cons of a particular choice, everything is ok. This means there's room for change if the situation needs it.
Yes, but don't let it consume you.
If you are passionate about web development, go for it!
If you treat web development just as a job, maybe not for you.
If you work in an environment with harsh deadlines and long hours, do something else.
If you want to learn something new, go ahead.
If you aren't practicing any other hobbies or interests, maybe do something else.
If you are sacrificing being with loved ones, limit the coding to work.
No hard and fast answer. Do what is right for you.
If you treat web development just as a job, maybe not for you.
I know many people who do just that; when asked, they say they picked web development for the money only.
And I agree with most of the things you mentioned. Thank you for the input.
I think it depends on what is your purpose. I write code or learn new languages in free time all the time. I have been through severe burn outs but that was not code related. It was peer-pressure of success.
Coding for me is not that different from Netflix. 14 years professional programmer, and 10 years before in school/college. So it is second nature.
I must add one thing though - code, like Netflix is a sitting/standing thing.
Please make sure do indulge in physical activities - I do not mix these two types.
:) true, sport is very important. My back is already suffering after 6 months on the job so I am starting to understand more and more how beneficial is physical activity in the long run.
I think the biggest misconception behind the idea of "you should code outside of work hours, too!" is that the only way you can grow as a software developer is by coding.
That couldn't be further from the truth.
Coding is only one (actually rather small) aspect of being a software developer. The rest is planning, architecture, automation, and all the other things that go into building software besides the code itself. And you know what? You can learn a great deal of those skills doing just about everything else in the world besides coding - and you'll be better balanced (and therefore less likely to burn out) doing other things besides code all the time.
Consider this:
I have a garden, but I'm as "productively lazy" about gardening as I am about tech. That is, I will front-load my time to automate things and build a system that works for me, so I'm not stuck doing the mundane and tedious maintenance stuff all the time that, let's face it, I won't do. I despise doing things over and over when it can be automated.
So what do I do with my garden? I designed and built my garden in such a way that a great many things are "automated" -- and no, I'm not talking about Arduino-powered weeders or fancy watering systems with moisture detection or whatever. Hell, I don't even have soaker hoses.
What I do have, though, are:
A thick layer of mulch on top of a layer of cardboard, which will keep weeds at bay while desired plants establish and help condition the soil as this layer decays.
Perennials that are (ideally) native or naturalized to my area, so they thrive in the climate as it is and once established will grow and produce more of what they produce than I could ever use on my own, with very little input from me.
A layer of dense, low-growing plants that act as living mulch (water retention) and help crowd out the more aggressive weeds.
A layer of taller herbs that also crowd out more aggressive weeds.
Bushes that provide the "foundation" of each area and create shade to allow for other plants that don't do well in an "ultra sun" environment ("full sun" is considered 6 hours; my front yard gets as much as 12-15 hours in the peak of summer), which increases biodiversity and thus, the health of the soil and ecosystem.
Passive ways to handle water, such as the terra cotta pot buried in one of my shade gardens that tends to flood when it rains, but dries way out during the summer, making it difficult to get the right plants (most like only one or the other, not both). The porous pot catches some of the excess water and holds on to it for a while, then slowly releases it as the surrounding earth dries out, keeping the soil moist for longer, without flooding it. The system as a whole in this garden bed also helps stop erosion - a problem that spot had for several years, due to lack of plants.
What does all that have to do with software development? It exercises "systems thinking" -- thinking about a thing as a holistic system of interdependent and interrelated parts. I could have gone the typical suburban gardener route and planted a bunch of random plants or whatever, not really paying attention to what I got and put where, or whether it'd really work for the climate. Or I could have planted annuals (often things like the typical pansies and begonias and marigolds and petunias) that look really pretty, but generally need replaced throughout the summer and of course need replanted or seeded every year. But both of those cases require a lot of ongoing input on my part, whereas if I apply systems thinking and think about the whole thing, I can find ways to create a fantastic pollinator habitat and wonderful garden, without much of any ongoing work.
It also exercises solving problems without just jumping to some kind of tech. Sure the tech can probably solve the problem at hand, but is it the only way? Probably not. I can probably achieve the same (or even better) results by thinking about the problem a little differently.
Then there was the time I learned how to think differently about failure while I was weight lifting...
That's not say that you shouldn't code outside of work ever. If you're drawn to coding such that you're even contemplating this question, then odds are good you're a maker at heart. You're very likely driven to create something pretty much all of the time. That's perfectly fine and should be embraced (because that's really the healthiest thing for a maker), but it doesn't always have to be code (and probably shouldn't always be code).
Make code if you're enjoying doing so, but make other stuff, too, and balance it out with "consuming" (for lack of a better word). I don't mean "spend just as much time watching TV" or whatever, but rather, don't forget to spend time just taking things in and not creating. It could include watching TV or playing video games. Just like how you can't just go without sleep or how you need rest days in a workout routine, you need periods of rest from creating, too. Those periods of rest help you solve the problems you're tackling and give you some distance to allow other parts of your brain to chew on the problem or idea for a while. It's why our "ah ha!" moments often come in places like the shower.
The way I do it is if I have an idea and I want to put in the work to produce it, I'll use my free time to make it like I would spend time on a hobby. A few hours here and there.
Some days I'm too tired to do it, and that's fine. Like going hiking, doing photography, painting, sports, or reading. I'm capable of doing all those things and I can make a strict schedule for them but I choose not to. I'd rather do them in my own time and have fun with them.
It's the difference between a professional photographer doing wedding shoots and the same photographer going out in their free time to take pictures of what they feel like taking. One is work, the other is for fun and enjoyment.
Don't let people who look down on you prevent you from living your life the way you want to. It's yours to decide just as their life is theirs.
I also want to note, this is different than having a goal in mind and spending time practicing. If you choose to try to advance your career, then go for it but also keep in mind your own physical and mental limitations. Take a break now and then, go for a walk, introduce some enjoyment and friends. There's no point to success if you're too sick to enjoy it.
Yes, I agree. What you're talking about touches a bit on the controversial subject of making a job out of your passion. I came to work as a frontend dev pretty late and it wasn't my first decision but it is a hobby that turned into a job.
I believe that you touched a number of interesting points here, from external perspective (potential employers, teammates, etc) to internal one (oneself).
I also find very interesting the fact that you characterized Senior as against doing so, and Juniors as in favour. I consider myself senior, or close to (~10 years in gamedev, ~2-3 in other fields) and I'll strongly lean on the "don't, because burn out". Been there, done that; I'll come back on that later.
I was also a junior who was coding his passion projects at night and weekends, while working in games. I enjoyed it, and I learned from that. So there is some positive in there.
But ultimately, it all boils down to the cost behind all this. Because there is nothing free, and that time passed coding was not used to do other things. The cost was that I stopped many other hobbies. The cost was that I was not letting my brain rest. The cost was that I slowly burning out, all of that justified by the passion, and the fact that I enjoy coding very much.
On top of that, there will always be someone out there with more fuel, more time, or what will seem to have a better output; and inevitably, this can become an uphill battle: comparisons creates frustration, and dissatisfaction will then lead to the dreaded burn out.
There is also a lot of pressure regarding coding on your free time. As you mentioned, there's the "if you don't breath code, you're not really invested", and there's the pressure we put on ourselves by seeing all the cool stuff others are pulling off. That whole "you're not invested" thing is bullshit, to put it bluntly. Should one be judged at work by what they do 24/7, or by what they do at work?
Ultimately, the whole thing can be viewed as some sort of "rite of passage". And retrospectively, it is really a terrible rite of passage :D
I have gradually recovered from my own burn out; Being in sabbatical, and going through some personal stuff, I realized that my hobbies (as in "my free time") and my job could overlap, but should not be a full circle. I am even currently making that overlap as small as possible. And it feels way better.
So, does one should code on their free time? Sure, why not. But that should not become the only thing. And that is the difficult thing to balance.
Because the brain needs to rest, and it can only rest if we give it the possibility to do so.
(PS: I wanted also to point out that I've been reading Dev.to for something like 2 years, and never felt the need to write before this post, because it really hits close to home. I hope this answer helps)
I was in a similar conundrum a couple of years back. A lot of my co-developers would spend their personal time coding, maintaining a good github profile, working on new tech that they were not using as a professional, and so on. While I did not deem it necessary- after all that's work-life balance. I used to go back home to pursue my hobbies, recreational stuff, personality improvement, yada yada yada. But three years into this industry, I realise how far left behind I was. While I was enjoying life out of work, the software industry with it's sleepless, passionate engineers boomed way ahead. That's when I realised this- If I have to sustain here, I have to keep coding. If you want to sustain and progress in your career as an IT professional( (specially when you are a junior), you have to sweat it out. Sure nurses don't go around giving shots to their neighbours, but again that's a different industry altogether. You sleep longer here, and there is a new JavaScript framework causing rage amidst nerds.
So my suggestion is, although you don't have to give every breathe of your life sitting and coding, do take some extra efforts out of office to develop new skills or dig deeper into what you are already working on. Allot, say a couple of hours each day for it and then go back to chilling or whatever else that is you like.
Thank you for your input. I do agree that if you want to progress you need to sacrifice some of your free time, but I don't think a few extra hours of code daily, after you've been working for another 8-9 is a realistic goal. I do feel your pain, take a break from coding for a few months and when you're back, there are at least two "must know" frameworks :)).
"I don't see my friend who's a nurse going around and giving shots to her neighbors, after her working hours are done."
No.. but you DO see her studying her butt of constantly to keep up with medical procedures, new implementations, and newly discovered medications/side effects. I know because I live with a nurse :-)
If you aren't learning at your day job, you need to keep studying outside of working hours to keep up - that's the nature of this business. Don't burn out, but do a little bit to keep learning new things ;-)
Having always some side project going on in the background totally changed my career, you don't realize but if you work at least 1 hour per day on something that it's not your job related then come up with amazing projects. I learned a lot, sometimes more than I do at work and about technologies that maybe I wouldn't use if I wasn't aware of them before. All those side projects I mentioned before ended up as open-source projects which I'm quite happy about!
I just recently talked about this in a podcast episode. Current dev culture tends to gravitate towards this "code is life" dogma, but the truth is it all depends on your seniority, your priorities and ambitions, your social circle, your current job, among a thousand of other things. The "Code is life" mantra is rather dangerous especially for junior developers who are getting into the industry and will think that's the standard for all devs, eventually leading a big part to a major burnout.
I was coding non-stop from 2013 to 2017 and I got burnt out so badly that I didn't want to know of anything tech-related for an entire year. After some time I was able to find other hobbies and was able to balance my work-life balance a bit better which led me to feel enthusiastic about front-end development again. Heck, I was even tinkering with new libraries and frameworks just for fun!
My personal opinion is that if you have the time, the discipline and/or the need to code outside of work, do it. Are you passionate enough that you crave to type lines of code after work hours? Then do it. But if you're doing it just because of culture/peer pressure, keep in mind you can always learn or be up-to-date by taking 30 minutes or 1 hour a day.
Knowing that your family/partner is a priority won't make you a crappy developer. Satisfying your need to explore a new activity outside of work, or your need to just relax and watch some crappy Netflix show, won't make you a crappy developer. You're already putting 8 hours a day, 5 days a week, into improving your craft, that's more than enough.
Personally, I love coding and I find it as both a hobby and as a job. When I'm bored, I long for my PC and the editor and the pretty Linux terminal.
For others they'd probably view it as a job, something do be done with all seriousness without adding a bit of fun in it.
I think we shouldn't but we can for example read some articles or expand knowledge in other way. Writing a code is not the most important thing of coding :) Example with the nurse is not really a good one. Nurses often have to learn after their working hours or read news in their professional field to be up to date.
Time just for yourself is as important as time spend on learning or working. Good rest means good efficiency.
But that's just my opinion :)
I think it's more a matter of balance. Coding "non-stop" can be a bad habit, coding only at work can be a bit unsastifying... I like to try a lot of stuff my work does not allow me to do... New frameworks, new languages, new plateforms, or old ones I've never tried... Other kind of development : I'm a web developer and I like that, but I'd also like to create games, electronic stuff with arduino or phone applications etc.
Having other hobbies is really important, of course ! But if you like coding, why not having this as a hobby ?
Note : I'm responding without having read all the answers, I'm confident I'm not the only one who's thinking like that ;)
You can code in your free time IF YOU REALLY ENJOY doing it, but don't get burn out!
It's not an indicator of how good/ passionate of a developer you are AT ALL!
Thank you for your input. Unfortunately, many people see coding outside work as something that breaks or makes a good developer.
As many have already said it is different for different people. Some people I know take part in coding challenges outside work while others do not. I think passion has nothing to do with the number of hours spent doing something but rather with how you talk about what you do and the amount of care you put into your work. I personally put a lot of care and attention into my work and will happily talk for hours about code and developer stuff but I have many other interests in life that I am also passionate about.
My advice, do what makes you happy in the end of the day. Sometimes I spend a whole weekend day tinkering on a project. The other day I do jack coding and wonder around.
No.
of course, take your free time to be important
too much of one thing can burn you out period, coding or anything.
Good point, thank your for your input :).