Find more interesting articles at yos.io
What does it mean to be a true software craftsman?
Here are my highlights from The Clean Coder, a ...
For further actions, you may consider blocking this person and/or reporting abuse
All three of "Uncle Bob" Martin's books (Code, Coder & Architecture) are absolute must reads. Some of his talks you can find on YouTube are pretty good as well. I consider him to be among the best software engineers on this planet. Aside from his strange fetish for test-driven development (I personally strongly disagree with the "test first" principle), he is very pragmatic in his decisions.
However, as with all advice which is as general as the content of Martin's books and talks, do take it with a grain of salt, in particular when it comes to details. Perspectives, situations and people differ. His general overarching message that we should all try to become better engineers through discipline, expanding knowledge and asserting quality is the best advice I can imagine.
Sorry but no, very much no! When I'm not at work it is my responsibility to take care of my marriage,my wife, my children, my home and my life in order to be able to come to work well rested and able to focus on work. I simply don't have time for a half time extra job if I want to be good at doing the important things in life. Quality is everything, quantity is useless if quality is lacking.
Luckily my employer and my boss are on the same page as me. That's why I am not keen on looking for a new job and that's also why me or my family never object when my employer needs a little extra from me on the odd occasion. Swings and roundabouts.
Hello,
Personally i think that the 20 hours a week are manageable.
I do an one hour research before and after work.
3 - 5 hours the weekend.
Of course this can be altered to anyone's preference and timeline.
For me its important to do a little reading, but its not a requirement to do for 20 hours. You can adjust it to your liking.
Although i should say i like your opinion based on the time you need to spent with your family.
I would do the same if i had time to do only one thing.
Thanks for your time
If it's manageable for some people, that's great. I'm extremely wary of anyone suggesting that it should be the norm, though, because:
As a soundbite, expecting a 60-hour week isn't a work ethic, it's commitment creep.
Expecting a 60 hour week and paying for 40? Those 20 hours are slavery.
"Personally i think that the 20 hours a week are manageable"
... for you. Don't expect other people's situations to be similar to yours. And be ware of "can't you just" suggestions. They may sound helpful in your head, but they come across poorly.
Hello @Alain Van Hout,
I don't know if you read my whole comment.
But i didn't say that i'm absolute with this but what works for me.
I stated that if i had to choose between family and work (and couldn't do these 2 things together) I would choose family of course.
Please don't be quick on your judgement to others.
I merely said what is on my head and on my daily routine. I don't expect anyone to follow my routine because they don't have my life.
Thanks,
That's good to hear.
I did read the rest of your comment before replying, and even then the first sentence still sounded like an absolute, in the sense that it seemed that you'd expect it to be true for most people -- i.e. barring unusual exceptions.
That's the problem with language I suppose, especially in written form: it's very easy to find different meanings in the same piece of text :).
This is a great suggestion! I agree that 20 extra hours per week dedicated solely to yourself can be a burden. Some other commenter already said here that he spends one hour before the work, and one hour after his work. That's 10 hours during work days. I believe that's already a great achievement. However, that might not be always possible. But that's also ok. To me, the best thing is to be consistent and try to achieve some small thing every day (for yourself, not your employer!). Of course, family and private life is extremely important and should be always more important than professional career IMHO!
I want this to be constructive :D Testing your code, not making commitments you can't keep, being a boy scout in the codebase and leaving it better than you found it are ALL great and classic software engineering rules! Not expecting your employer to be interested in your professional development is not.
It leads to age discrimination (as we get older, outside responsibilities like family, homes, and financial management typically increase), and burnout.
Negative examples are asking for a github in an interview from an engineer that was coding with 3 kids a wife, 2 cars and a yard to mow before github even existed.
No github, no job.
The only way to learn framework X that the employer requires you have experience with is on your own time.
No framework, no job.
10 years of experience with technology Z but since you didn't spend your own time with Z 1.2, no job.
If I spend 2 hours every weeknight after I leave work, eat dinner, and put my son to bed, then I'm faced with the choice of quality time with my wife, coding, or cutting my sleep by 2 hours.
We as software engineers have to fight back against the 'code all day and night' mentality. It's toxic, destructive, it pushes people out of our industry, and the only benefit is to the employers that get to save money on skill development programs by convincing us that we should be doing these things on our own time.
I loved most of this excerpt! But we HAVE to stop telling engineers that they need to give up significant portions of their lives just so our employers can abuse our passion for coding. ('Not passionate enough' is another code-word they use for 'doesn't seem like they would work 20+ hours extra for 0 pay')
(Edit: Wall o'text needed some white space)
"You should plan on working 60 hours a week."
We are a sick society.
I agree with many points in this article - particularly using time wisely, asking for help when necessary and not writing code when tired at 3am.
I'm sorry, but I can't agree with encouraging people to work 60 hours a week - both because I don't believe it's good for our long-term health and wellbeing and because seeing ultra-long working hours as a mark of excellence disadvantages people who are unable to commit to such hours - maybe because of family commitments or health reasons. Such attitudes are likely to be one of the barriers to the greater diversity that the tech industry so badly needs - women, older people and disabled people are most likely to be affected. I think employers should encourage full-time employees to use a portion of their working hours for personal development - I believe this would improve inclusiveness employee morale.
I would recommend some understanding of testing and 'QA' (you won't find it in Clean Coder). Testing is not only about code. This is testing: medium.com/@revelutions/how-cem-ka... . Don't listen to anyone who can't test like that.
I think it's a good idea to write good code. However, that has almost nothing to do with testing the product later. The reason you test later is the same reason you deliver code in small increments to get feedback. '.... involve me and I learn' goodreads.com/quotes/21262-tell-me... When you start using a software that you get ideas about risks.
Test first and test later are not either-or. en.wikipedia.org/wiki/False_dilemma
= #kaner #satisfice #developsense #geraldmweinberg #lets-test #cast #lessonslearned
Link not opening correctly. medium.com/@revelutions/how-cem-ka...
I don't see anyone commenting on the standup meetings approach it describes. This technique of everyone talking about stuff done, doing and blockers almost always ends up being a time waster (you know, the one that blunders their way through it because they haven't been attached to their intravenous coffee drip yet, or the one who doesn't shut up trying to impress how busy they are). Worse, it promotes siloing and demotes pairing. What matters is the work - talk about the tickets/tasks on the board and how they're going to get progressed today. Talk about the important ones like blockers or expedites first, you may not even need to bother talking about the low pointers. Talk about it like a team, not a bunch of individuals justifying their jobs. Praise what you achieved in retro, instead of moaning about how you feel unfulfilled in your job!
Great summary of the book. Appreciate your efforts on condensing it in an easy to read format.
Keep it up 👍
Link wrong?
Fixed, thanks!
If anyone has an extra copy of this book they'd be willing to donate, I would love to consider it for use in my class (Level 7 @ The LEAGUE of Amazing Programmers [jointheleague.org]).
Perfect digest, I could share this with my team. Thanks!
I think this is actually the best programming-related article that I have ever read. Thanks for posting, really good advice :D