5 ms·
A lot of comments are bringing up top athletes as a counterexample, which leads me to believe they don't understand what a high-level training regimen is actual
by kd5bjo 10y ago
A lot of comments are bringing up top athletes as a counterexample, which leads me to believe they don't understand what a high-level training regimen is actually like. I have a relatively unique persepective on this[1], so I thought I'd clarify a few things.
Any sport is both mentally and physically exhausting, and it only gets more strenuous as you reach the higher levels. Nobody can keep this up all day, every day, for their entire working life; people who try flame out early and don't make it much of anywhere.
Instead, the goal of the top players is to train as much as possible today without sacrificing their ability to continue training tomorrow. Usually, this is less time than an office job requires (but more strenuous). The rest of their time is spent in "recovery," which basically means whatever they want to do as long as it's not too taxing.
The defining feature isn't spending their entire life on the sport, it's giving it priority: the rest of their life is scheduled around their training needs instead of scheduling training around their life.
[1] I've been on sabbatical for two months at a tennis academy; some of the kids here will undoubtedly make it all the way to the pro circuit.
- egjerlow 10y agoOT: Have you read Infinite Jest? I'm wondering how much of the life described in that tennis academy reflects reality.
- kd5bjo 10y agoI haven't, but it's now next on my reading list; thanks for pointing it out.
- ethanbond 10y agoIt is such a daunting read, but goodness is it worth it. I'm having a bit of difficulty getting into other books after having read it because the writing style itself spoiled me so much. It's the first book that I wanted to start over literally the same day I finished it. Enjoy!
- ACow_Adonis 10y agoI'm presuming the difference is that they're kids at a tennis academy. Someone is presumably paying good money for them to be there, and by the time they become professionals, they'll have spent XX years already in training, with someone else presumably working and funding their entire stay/attendance. This then presumes that those kids who do actually make it to the pro circuit aren't then the ones that also have the advantages and put in extra above and beyond the other kids (and with a little bit of luck on top). Now, I don't know what other people's life was like growing up. I mentioned in my other comments that conceivably there are some kids who had parents who both supply them with knowledge, fund their study, their lifestyle, gave them opportunities and access, and that such people might subsequently have greater abilities than myself, and maybe those people will become top notch coders even with some hobbies and time on the side. But no one is paying to have me (or others) learn to code or update my skills. No one is paying to send me to a training camp or academy. I taught myself computers and I know many others did too. There was/were limited academies when I grew up, and there aren't any pros for us to learn from except ourselves now. Many of us aren't paid to do our coding or our study, many workplaces or academies aren't even interested in that kind of coding or study. And, of course we burn out. No shit. But that doesn't mean that if you don't want to become top rate you don't have to put in more than a paltry 8 hour workday. Indeed, EVERY decent coder I've known has done it. Not a single one I know hasn't. I have not met any decent coder that hasn't been doing their own thing on their own time and that wasn't interesting and successful in teaching themselves in their own time. The tennis kids have someone else to put in a workday so they can then spend hours per week at a leisure activity. Unless we are very lucky, we spend our work/school day so we can ferret away the time and resources to focus on the stuff we actually value, and then that knowledge then gets transmitted back to the workplace...
- awinder 10y ago"But no one is paying to have me (or others) learn to code or update my skills. No one is paying to send me to a training camp or academy." Many workplaces offer professional development budgets to attend conferences / training, many also offer reimbursement for continuing education. Additionally one of the smartest things you can do at your job is find promising tech that has applications at work. I've been getting paid to learn for almost my entire career, along with my coworkers, so this comment seemed really out of place with my experience anyways
- codingdave 10y agoIf comparing to athletes, Cirque du Soleil performers are a great analogy. I've read interviews where they say that while they do practice daily, and it is work, it is far less intense than the physical preparation for competitive athletics. They do what they do very well, but their goal is simply to do the job. They are not trying to be the best in the world at anything as individuals... just working as a team to produce a product that is world-class. Coding is the same - you do not need to be the best in the world. You do not need to be famous for your open source projects. You do need to be competent, and put in the work, with a good team, and focus not on yourself, but on your product.
- cagmz 10y agoI like the idea of applying less time, but more strenuous effort, towards programming, but how does someone do this?
- maxxxxx 10y agoI avoid useless meetings and "coordinating" with clueless people and focus on getting things done. It's a fine line though. If you totally ignore the outside there is a danger that you will miss the latest information that may impact your project. But with some practice you can filter out a lot of noise. It's good to have friends in your organization that keep you updated on the important trends. Also: When you are at work, really work.
- kd5bjo 10y agoI don't have the whole answer, but here are some things that you can practice regardless of what you're working on, and will make you a more valuable programmer if you get good at them: - Getting the entire algorithm in your head before writing anything - Predicting where the bugs will be in the code you've just written - Shifting your attention back and forth between what this code is trying to achieve and the means by which it works - Given the context in which your code will be used, predict how requirements might change in the future and structure your code so that those changes will require minimal refactoring
- caseysoftware 10y agoI started five things a few years back and have had great results: - I set up an email filter where if I'm not on the TO line, it skips my inbox for another folder. I only read that folder twice a day. If it's important, they'll write to me directly. - I (almost) never accept a meeting with less than 2 hours notice. The exceptions are rare and far between.. and usually come down to a few legitimate emergencies. Poor planning is not an emergency. - I never accept a meeting without an agenda. It doesn't need to be detailed but "I'd like to chat about X, Y, and Z" gives me the opportunity to prioritize, reject, or get you to someone more appropriate. - I only answer my phone when I'm expecting a call. If you and I have a call planned, I will be there and respect your time by closing email, etc. If you're just calling me to catch up, I'll get back to you on my schedule. - My phone & computer never enter the bedroom. You are welcome to email, slack, DM, etc me at 2am but you should assume I won't see it until the next morning. Limit your distractions, take control of your time, and your work will become more effective and you'll feel better about what you accomplish.
- Ingon 10y agoI think that there are more weak points where sports analogy breaks - sports is generally about preparing for competition and competition is not a daily event. If we continue with this analogy this would mean that the developers should be training for a while before hitting a day (or week) of an actual work, but we are actually expected to treat every day as a competition day. Another point is, that the training varies over the period with every practice having a different goal - some are harder, some are easier and there is a great emphasis on rest and not over-training. And finally, sports are frequently cyclic, based around seasons - with competition and non-competition seasons. Competition seasons are about getting to a top performance so you can hit these N competition with all you can, while non-competition ones are all about resting and getting your sanity back. So, while there are some parallels, I don't think this is a great analogy. I don't think getting top performance day after day is possible on regular basis, but, unfortunately, some people are certainly expecting it.
- CydeWeys 10y ago> I think that there are more weak points where sports analogy breaks - sports is generally about preparing for competition and competition is not a daily event. It truly depends on the sport. On one extreme you have sports like marathon or Olympic lifting, which require elaborate cycles of months of training designed to deliver peak performance on an exact date. But then on the other extreme you have sports like baseball, for which the season is half the year long and has players playing games almost every day. So there competition is a daily event, and the analogy to programming is more apt.