7 ms·
>I think the style in which I practiced my craft for the first 15 years of my career was much the same as every other enthusiastic developer: you put a ton of h
by axguscbklp 6y ago
>I think the style in which I practiced my craft for the first 15 years of my career was much the same as every other enthusiastic developer: you put a ton of hours in. 12-16+ hour days, evening and weekend coding marathons, pizza in the keyboard, crunch times, 3am debugging sessions where you just can’t go to bed because you can feel the source of that bug just beyond your fingertips, dammit, desperate last-minute sprints to deadlines where you manage to slot that last piece in, Jack Bauer-like, just before the world goes to hell.
Uhh... does anyone other than maybe 1 in 100 developers actually do this? I think that many more than 1 in 100 developers are enthusiastic... but I doubt, whether they are enthusiastic or not, that significantly more than 1 in 100 developers or so act like the above. If I'm going to work 12-16+ hour days, I'd better either be in love with the company or have a good reason to expect that I could cash out and be rich as fuck at some point.
- wickerman 6y agoI agree... I've never ever seen anyone actually act like this. Even the most fanatical of my friends in university would never ever pull a 12h day by their own volition (mostly because they were all working full time jobs while still in college, so any free time you get is really really welcome). I also don't think it's productive or good for your product. As a side thing I paint, I've studied art and illustration since I was 14 and the one thing you learn as a pro in that industry is to never, ever finish a painting in one sitting. It's easy to obsess and lose yourself in the details and completely miss the glaring errors, and these you can find only by stepping away and coming back with a fresh set of eyes. And this is just as true for programming.
- yetihehe 6y ago> never, ever finish a painting in one sitting. I've found the same for designing circuit boards. When you are done, save it and look at it tomorrow, errors will be obvious.
- partyboat1586 6y agoWeird because I've seen loads of people act like this. It's very common among uni students studying almost any subject from my experience. I guess you associated with different people than I did. I don't think it's a good idea or healthy but it definitely happens, especially at universities and startups. I used to do it on client projects too until I wised up. Though looking back on my code from back then I still achieved some pretty crazy stuff in that time. Pushing the boundaries of what I was capable of. There is an upside to being completely immersed even though I wouldn't do it these days because I value my health.
- pjc50 6y agoSome people do do this ... for the first few years, until they burn out or decide they want a relationship. The most productive person I've ever met wrote an H265 decoder by himself in three months of working four-day weeks so he could spend time with his family.
- andi999 6y ago"wrote an H265 decoder" why would one do this (in a professional environment?)
- pjc50 6y agoTo decode H265? I don't know why this is such a ludicrous proposition to you? Less jokingly, it was a side output of his bigger project to automatically parse the H265 spec using a tool called O-Meta. This made it surprisingly easy to write a minimal frontend to produce an (unoptimised but working) decoder in C, Javascript, etc. The actual product became https://www.broadcom.com/products/embedded-and-networking-processors/video-decoder-test-streams-and-stitching/argon-streams-av1 https://www.broadcom.com/products/embedded-and-networking-pr... : a codec test suite. Incredibly valuable for those companies making hardware decoders. Similar in structure to an input "fuzzer". Found a number of bugs in the official reference decoder's C code. Originally sold as https://web.archive.org/web/20190310224609/http://www.argondesign.com/products/argon-streams-hevc/ https://web.archive.org/web/20190310224609/http://www.argond...
- globular-toast 6y ago> Some people do do this ... for the first few years, until they burn out or decide they want a relationship. I still do it. I'm 34 and currently with my second live-in girlfriend. The first one didn't leave me due to programming; I just decided to go for a younger model. I'm not trying to brag but rather dispel the myth that you need to stop programming to have a relationship. My girlfriends have always known what is important in my life: me, my computer, my car, my bicycles, then them. Instead of relying on being the most important thing in my life, I encourage them to the be the most important thing in their own lives. It's a far healthier relationship and part of a Stoic lifestyle which I find to be the true path to happiness.
- deleted 6y ago[deleted]
- darkerside 6y agoThis is clearly an exaggeration, and I think more of us can relate than we're letting on. Programming, when you've never done it before, is hard! If you're not willing to put in the hours at least a couple of times in your life, you're probably not going to ever really "get it". At least that was my experience. I never worked like this regularly, but I've had several times where I stayed up way later than I planned because I "just wanted to figure it out". And without that, I don't think I ever would have become a decent programmer.
- bob1029 6y agoI think this is the picture that a lot of junior developers miss. Sure, that 12-16 hour marathon session sounds horrible and unsustainable in many ways, but it's also the fastest way to achieve mastery (or realization, burnout and career change). There are obviously a ton of other variables involved, but time is the most important investment you can make. Ideally, you are also working with practical tools and compelling business requirements on a regular basis. Assuming you survive the first 2-3 years of hell and approach that level of master, you are now in a position to back off your time commitment substantially because every second you spend working as a master is like a lifetime to an apprentice. Gains in mastery in this craft are NOT linear in my experience. It's more like a polynomial or exponential curve. I also think time spent playing with abstractions in isolation from larger projects is also key to obtaining mastery. Much like trying to master a difficult piano concerto. You can't just play it from the top every time or you'd go insane. If you want to find the smartest guy in the room at a Microsoft shop, go look in everyone's users/[username]/source/repos path. Whoever has the highest numbered ConsoleApp wins the prize. Again, no substitute for practice and breaking things. Remember, there are zero consequences if you write shitty code and its still contained to your local machine. You can just type git reset --hard and go to lunch like nothing happened.
- globular-toast 6y agoThe good ones do. You know the guy at work who seemingly knows everything? He did it. He probably still does from time to time. I did it when I was a student and working on free software. If the code is proprietary I am more strict about how much of my time is available.
- MattGaiser 6y agoYou can easily get half a CS department out to a hackathon to spend 36 hours straight at it. Not sure how long it lasts after graduation, but students can certainly behave like this.
- jmchuster 6y agoWell, yes, people do, and the trick is to love your work and your company. I was definitely doing so when I was doing my own startup. I've worked before in a place that was mostly people who just show up for a 9 to 5 (or often more like a 10 to 4). It just felt super-depressing to me to look up around at 6pm and the whole floor is completely empty. Didn't last long there, but I guess it was a nice sabbatical. These days I work closer to 10-12, but if I'm on a good pace in a groove, or someone needs help with an urgent issue, or it's just some self-imposed mental deadline, that can easily stretch the day to past midnight. I would say most of my peers work similarly.