I just started reading Robert C. Martin's Clean Coder and have been enjoying it so far. But I did run across one section that I found interesting where people would probably have thoughts about it. In the first chapter, there is a section labelled Work Ethic where he talks about how it is the responsibility of the developer to continually grow their skills outside of work. That makes total sense to me because this is an industry where technology is always changing and you have to keep learning to stay relevant.
The part I found interesting was in this quote here:
You should plan on working 60 hours per week. The first 40 are for your employer. The remaining 20 are for you. During this remaining 20 hours you should be reading, practicing, learning, and otherwise enhancing your career.
He then goes onto breaking down the math for how many hours that leaves you for free time.
Do the math. In a week there are 168 hours. Give your employer 40, and your career another 20. That leaves 108. Another 56 for sleep leaves 52 for everything else.
In this article, I wanted to explore this a little bit and leave my thoughts on how much you should study after work.
How does 20 hours of studying after work affect those with busy family lives?
I am a single woman without kids and when it comes to studying, my time is my own and not shared with anyone else. But I am curious how this 20 hours of studying works for those with kids and busy family lives. Between little league, band practice, and the millions of other activities kids are involved with, where does the time go?
Maybe a strict 20 hours a week isn't feasible? Maybe it is better to pick a study schedule that works for your family life. Or maybe you are reading this and think that 20 hours is completely doable.
If you are developer with a busy family life, I would love to hear your thoughts on this. 😃
Should junior developers spend 20 hours or more studying after work?
As a junior, I feel like a lot of us will spend time studying after work so we can continue to learn and grow. But sometimes this could lead to us spending a lot more time studying and burning ourselves out. When I first started working I put in more than 20 hours after work because I felt like there was so much I didn't know. Looking back, I wonder if I was overdoing it.
Is 20 hours a week expected of juniors?
Should it be more?
Or should it depend on their personal schedules?
Curious to hear your thoughts 😃
How does this 20 hours a week apply to more seasoned developers?
If you are more seasoned in this industry, how much time do you spend studying after work? Are you working on personal projects, reading books, listening to podcasts, or doing something else?
I am curious to hear what learning after work looks like for seasoned developers 😃
Conclusion
I feel like I have raised more questions then I have provided answers in this article, but this is a good discussion to have in our community.
What does continual learning look like for developers?
Should there be a strict time commitment or should it be more fluid?
Are there seasons of your career where you will invest more time in learning outside of work?
Love to hear your thoughts on any of the questions I raised in the comments below 😃
Top comments (21)
Absolutely not. There are a lot of professions out there that require you to work outside of the regular 40, but they're forcing you to create life around a work schedule, and I'm here for the opposite. Work should provide time for growth.
I think the education sector is the worst about having to spend tons of time outside of work to grow and increase your income. My mom was a public school teacher and librarian for 30+ years and she had to take college classes on weekends to earn her library media credentials. She unfortunately didn't have the option to take time off to complete those credentials. After teaching all week, she would wake up early Saturday morning and drop me off at my grandmother's house and spend all day in classes. The US education system is just a mess
Totally agree. This is why my husband moved from edu to tech. If I broke down my hourly when I was teaching, it would’ve been awful. If I were lucky maybe $20/hr but in actually probably way less.
No, absolutely not. Having said that though, all the best devs I know also write code for fun in their spare time - but this is a hobby and definitely not a planned extension of their career.
Have to agree on that!
I always try to learn new things or deepen my understanding of topics.
But the whole notion around "you have to commit XYZ hours per week on top" is wrong. If you want to, then yes, if you dont, then dont. I know a lot of ppl who are basically 9to5 devs. There is nothing wrong with it. And guess what, they are also happy.
If IT in general is your passion you will invest the time either way no matter what anyone says in my experience.
Now... all of this does'nt apply to ppl who wanna be such "rockstars" that every time they hit the Enter key fireworks start off behind them and the sky splits open. Those ppl will invest way more time. Though you will never have to discuss this topic with them, imo.
In short though, if you have fun and wanna learn more or (my favourite) experiment with stuff and you are having fun, the hours dont matter to you anyway.
PS: My personal favourite, for anyone who's out of "personal projects"... grab yourself a working project (either an OSS or your own) and make it intentionally bad. No joke try to throw every best practice you ever used or read about, out of the window and try to make it as horrible as possible while still being able to compile & run. Fun as hell and you will learn a lot!
so long
Tldr. I think a lot of dev do follow that suggestion without realizing it.
I more or less agree with uncle Bob here, with one caveat, studying doesn’t mean sitting behind a desk and reading educational material. It means taking some enjoyable time practising and learning things that interested you in the field. I feel most of us dev already do this to some extent (I suppose, most of the time, you’re not reading dev.to in your work hours, it does count).
After that, this 20 hours seems a lot when you try to plan that, but in fact it can flow quite well. I used to have almost 1 hour commute to my job, in bus, that was 10 hours I used to read blog, article, doing a search for topics that interested me. Otherwise, a lot of dev have personal/pet project, it’s very easy to spend 2 hours a day on them without thinking that we are learning, here is another 14h. Now that I’m mostly working remotely, a lot of time I listen to dev conf on YouTube on my lunch time. Then some podcast when you drive alone (not with the kids it won’t end well).
I’m not saying you must do all that, they are just ideas of things I did or still do and found enjoyable.
As for managing that with a busy family life while being already experienced. I’ve been working as dev for 10 years, have a 2-year-old and for sure it shuffles the schedule quite a lot, but I still find time to read blog and books after they are asleep and I always have a busy list of projects I want to work on and still do whenever it’s possible. Yet I probably don’t do up to 20 hours and since I’m not(and not going to) counting them it’s just intuition. And as experience goes, it only switch the topic of interest (my last read was clean architecture! and project management stuff...)
The key here is, that time should be fun for you and not a task that you must do. Otherwise you’ll burn out.
Man, I really like the idea of enjoying time practicing and exploring. This is the real learning!
Study for 20 hours if you want to. If you do, try to do so as productively as possible (e.g. study things that will be useful for your next career move.) Or work on projects at home that you enjoy doing.
But don't think you owe it to your employer to spend your out-of-work time learning stuff for your job.
I have some thoughts. It will change over time and so will what you consider "studying" and the purpose why you would want to do it, and I do mean want and not need, will change.
If you invest time in some meaningful personal projects early on that'll give you some some practical "work-like" experience and a base of work to discuss in interviews when you haven't yet had a chance to build up professional experience.
Once you're in there are different reasons you may want to study in addition to whatever development time your employer does (and should) provide. This could be learning an area you're not yet strong in that's useful in general, i.e. testing or infrastructure or architecture patterns, learning something you noticed the team you're on is sorely lacking in to make yourself more valuable and impossible to get rid of (and therefore more leverage in salary negotiations), or learning something completely different because either you're just interested in it or can see yourself moving your career in that direction later on. It doesn't have to be techie stuff either - could be on leadership or teamwork or whatever soft skill stuff you like.
One thing that never changes though is that available technologies and popular languages/tools are changing faster and faster each year. Just keeping an attentive eye on "what's new and useful" to your respective job can take hours a week.
And lastly, it'll definitely vary by life situation. If you have young kids it's cool to contribute in a meaningful way but not kill yourself or rather your family dynamic for a few years just to get an edge that can wait until it's more manageable. Burnout is real.
Have you ever thought about 20h client work, 20h for your self (study, practice, experiment, build your own projects)?
I admit, when I was at the begining, I was working even 60h a week, many weeks, and learning a lot extra, sacrificing a lot of my time. That was probably the first 2-3 years of my web developer career.
But now with family, kids, I came to the conclusion that I would loose all the precious time with my children, and as being very experienced, 4h super focused without being interrupted (phone off, laptop without any social thing connected, deep focused work), I manage to do what I was doing before in the normal 8h that others have, in office, distracted by many things, as that is the reality. Today I deliver faster than before to clients and financially, it has not changed.
Above, I keep up to 4h for either working on my projects (I find that better than staring at tutorials) and reading a bit (I am old school and still believe that books are superior to most videos for development). But if my kids need me, the 4h can be 1h or none some days.
Really interesting to see the various responses here. I believe that as with most things software related, as highlighted by a few other comments as well, the answer here is "it depends".
Since the OP did raise some questions, I'll just focus on those rather than jump on my soap box.
It doesn't have to be 20, be sensible about what makes sense for you, but yes, I think you should always be studying after work if you have an intention of being excellent and growing yourself and your career.
If that's not your goal and you are happy with just being good enough in your job and want to spend that time chasing other pursuits which make you happy, then by all means do that. Don't go spending your time studying because a book told you so, do it because it aligns with your goals.
You cannot always rely on having good on the job training and mentoring, and while that would be ideal, pushing yourself to improve is the only way to guarantee growth.
I recently recalled this piece of life advice from Warren Buffet where he said "one of the keys to your success is to go to bed a little smarter each day. By investing in yourself, like honing your communication skills, you will become worth 50 percent more than you are now."
Conferences, Meet-Ups, Certifications, Contributing to Open Source, building your own projects for passive income when you retire, learning through teaching (e.g. mentoring or volunteering).
I believe people should always be looking to grow and improve in some form. Time is a valuable resource, and improving yourself is a valuable investment which pays dividends.
I remember a TED Talk by Laura Vanderkam on How to gain control of your free time which made the point that "I'm too busy" usually means "it's not a priority" and that we should think about how we spend our time in terms of what is a priority in our lives.
For some people that means prioritising career and learning over family and friends, for most people it means prioritising career and learning over social media and Netflix, and then prioritising family and friends over learning and career.
There are 168 hours in a week, so if you spend 40 working for someone else and 8 hours a night sleeping, that leaves you with 72 hours a week to spend as you see fit. Taking 10-20 of those to improve yourself and grow your skills seems pretty reasonable to me, and that still gives you 52 hours to spend with my family and friends.
EDIT: just adding here, since I don't think it's always clear when people talk about studying in this context, but this includes more than the technical stuff. Learning to communicate, written and verbally, learning about and improving your EQ, all those so called "soft skills" they don't always teach at school, they become invaluable as you progress through your career.
I think what you have to ask yourself is: what is your relationship with your employer?
If you're in group 1 your employer may well expect you to invest 20 hours per week in self-improvement on top of your work hours; so you can "keep up" and stay productive for them. I'd encourage anyone in this group to start looking for another employer: they're not interested in your progression or well-being; just how much productivity they can squeeze out of you.
I'm not saying don't do study in your own time - sometimes it's fun - but your employer should be allowing you time to do self-improvement in work hours. It's only because our tools are so easily available that there's any question here. Do you think surgeons are expected to keep their skills up-to-date during their own time; with an operating theatre in their cellar?
For me the 20 hours are for the future of your career. Let's say now you're a dev, but you want to be a software architect in the future. Then, you should use those 20 hours to learn about software architecture.
So, if you don't have a goal, you can spend all the time you want on studying outside of work, but you won't achieve anything.
On the other hand, if you need to learn a new technology for work, your employer should provide time during your work hours to learn this. For example, currently you're deploying everything to Windows Server, but your employer wants to move to AWS, they should provide you with the time and resources to learn how to do this.
I find folks who brag about long hours as a badge of honor to be totally missing the point. As a developer your whole goal should be to work smarter not harder. If you are not able to accomplish what you need in a normal workday, something is wrong.
You should be learning during your job, or else find a new one. If you have to spend your own time to learn anything interesting, you need a new job.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.