I've been off an on programming for the past 4 years now and have noticed trends in my code execution. What I've noticed is that as I program more and more my brain burns out, but I burn out fast, If I program for 8 hours then there is a small chance I can do it all again the next day, or the day after.
If I'm feeling hazy towards programming my efforts are usually sloppy and poorly thought out.
Once and awhile though I feel inspired to program and 'want' to program, usually on those days I do my best work and those days can be 16 hours long or more.
I just couldn't imagine programming for a living, and then having a project of my own to program. I don't think I could do it.
Now that all be said though, I find the inspiration for programming comes from the creative side of myself, the desire to create creative content.
I'd love to hear your ramblings on the matter.
Coding moods
1 hour ago, Awoken said:I just couldn't imagine programming for a living, and then having a project of my own to program. I don't think I could do it.
Now that all be said though, I find the inspiration for programming comes from the creative side of myself, the desire to create creative content.
Yeah my "side projects" suffer greatly when working full time. If I am doing any kind of hobby programming, it's usually very different from what I'm doing at work -- e.g.
* working on web systems full time, writing C++ multi-threading frameworks as a hobby.
* working on meticulous C++ engine code full time, writing a website in dirty PHP
But for the most part, yeah, my hobby projects have moved away from programming altogether...
And yeah, full-time coding can be too much. A standard workday in Australia is 7.6 hours, and if I sit down and code solidly for an entire day (with a few breaks, of course), I'll definitely burn out quickly. Making sure to tune-out when at home, eat well, sleep well, exercise every second day, etc, is mandatory to keep that up.
My hobby projects stagnate because they're too damn ambitious to get a completion-reward feedback loop started to motivate me.
At my full time job, I don't have motivational issues but when I somehow manage to work on hobby projects in my off time, thinking about them can distract me from my job.
It can be hard to balance making progress on two completely unrelated projects.
My opinion is that programming (like basically everything else) is _fun_ only when you face a problem that is just "a little" harder then your skills allow.
You don't have fun programming something that is too easy/annoying or something that is too hard, it's just not fun.
Furthermore, generally when you work full-time for the standard it-company, problems are very very easy, but they give you too much of them, and you're gone: all your energy goes into that crap, and when you arrive at home the problems that your personal project challenge you with become too hard, unless you're doing pacman or something similar.
There are many ways to attack the problem, but unfortunately none of them is _easy_:
-1) search for a job that challenges you with more interesting problems, this includes working for a game-company, doing research, ecc ecc.
-2) work less, for example contract a part-time job so that you're able to spend some more energy on your personal project.
-3) reduce the scope of your personal project until it becomes easy enough.
Of course 2 is the most difficult to obtain, while 1 is the optimal. (doing what you like or something close to that full-time). 3 kinda sucks, because probably often you can't really judje how difficult a thing is for you, and more importantly if it will be fun.
I would say that unless you're already satisfied with your day job, avoid 3 and go for 1 or 2 (mixed with 3 eventually).
I'm currently in the same situation (except that my personal project challenges me with problems that are right for me, and I happily work on it since one year and a half (thanks to handmade hero basically, I learned game programming there ))
I'm 24 and I asked my boring company the part-time, but I'm not sure they will give it to me. If not I'll probably go with the number 1.
My 2 cents.
Leonardo
Just to add to my previous post though -- I don't think that most programmers do anywhere near 8 hours of work per day. In my own personal experience with burnout, it's possible to spend 8 hours at a desk and seem like you're working, but only get 1 hour of productive work done. I've also been in offices where that was the norm. I've been on projects at big top-50-stock-market-ranked corporations that have probably made less than 8 man-hours of actual progress per week across the whole team... So I wouldn't feel bad. Most full time commercial programmers aren't all that great ![]()
Full-time programmers probably spend more of their time in meetings, clicking on online time trackers and bug trackers, moving cards around on kanban boards, "researching" on the web, and doing code reviews than they do actual writing code.
41 minutes ago, Hodgman said:I don't think that most programmers do anywhere near 8 hours of work per day. ... it's possible to spend 8 hours at a desk and seem like you're working ... less than 8 man-hours of actual progress per week across the whole team... So I wouldn't feel bad.
I think I even read a document some years ago where they run a correlation (how, IDK) between the time of commits, bug founds, time to refactor and bugfixing. I think they observed something like 30% of software maintanance costs to be in the last hour of work. Perhaps there is some estabilished research about that?
Incidentally, I'm asking for a work-hour reduction at work.
I am full time working 8+ hours each day, writing desktop applications with C#/C++/Delphi in a boring environment. When i get home i most likely dont want to code anymore - i am pretty much burned out daily, even though the work i do is not that hard. But its very frustrating due to the fact that we use technology which are unstable like hell (DevExpress, Delphi, WPF, XAML)...
So when i get home i rather play games, listen to music, try to relax - but this mostly doesent work due to the fact that i have my kids jumping around me.
This has the result that my private projects suffer a lot, especially the game prototypes i work on will never get past any prototype stage.
I try to counter that by rarely leaving the office more early (to decrease my positive time balance) and code a little bit when i am fully alone. Sometimes this works well and i get very productive and sometimes i lose interest pretty fast and get distracted by other things.
I thinks the same way as Hodgman, it's really hard to program for 8 hours or more, and actually get all of it as progress. Being a beginner in this world of programming I noticed that I want to spend a lot of time doing it, because you want to get better everyday, but sometimes just making a little progress everyday would make more sense than actually counting the hours you spend sitting at your desk.
Of course there is the side of having a job, I don't work yet, but, sometimes I think about it, and when I start working I probably won't be coding at home because it's kinda exhaustive to do that at the job and home, which led me to think about why some people quit their jobs to give a chance to try to living by only creating the things they want (most of the cases here would probably be games).
I think it's unfair to compare the method you use to program a hobby project with the methods used in commercial products.
First off, in a professional setting there is always a specification that describes exactly what the product needs to be able to do. From this, the project is typically divided into small, manageable "work packets" which is integrated into a tracking system for managers to monitor progress. In other words, there is never a situation where you come to work and ask yourself "what should I do today" and similarly there should never be a situation where you go "lol I have no idea how long this feature will take to implement". The path to completion is not hazy, it's already layed out for you, it's just a matter of doing the work.
In contrast, I think most people's approach to hobby projects is a "do whatever tf you want" approach where you have little concerns about the scope, you have a very vague idea of what you actually want, you have no idea how long it will take, and you don't care whether what you're working on is a waste of time or not in respect to the rest of the project. In fact, you might not even know if what you're doing works or not. You do whatever is fun to you in that moment in time.
A result of this is often "feature creep", complete over-estimation of ones own abilities, and depression.
16 hours ago, Awoken said:Once [in a] while though I feel inspired to program and 'want' to program, usually on those days I do my best work and those days can be 16 hours long or more.
I'm not a programmer. I get that way about design work. It's important to stop yourself when it's time to stop (~8 hours), so that the next time you still have that inspiration to continue. It also makes it easier to iterate or edit, if you haven't already burned your candle from both ends.
I do programming for a living and also as a hobby. I started out in it because I wanted to create my own video games and see program as a way to bring a world to life and to control everything in it. It's kind of like playing God in cyberspace. I like learning about how things get done and why they are done that way - like taking apart a car and just seeing how it works. For me programming as a hobby is very fulfilling but by itself it can suck unless it is tied to a project - like Math it must have a purpose for me otherwise I just think it's a bunch of bologna and BBQ sauce. As for a living I just wing it because I can program and it pays my bills. My true passion is to create the game Bluejay's Quest in 2D and then 3D and then to play the game by myself. I essentially like to program so I can create me own games and play them - if I see a title that doesn't exist I try to create it so I can have something new to play.
Programming can take my time so I do program whenever I get a chance but it doesn't not keep me indoors when the weather is nice - I take a break to ride my bike. Sometimes I take a laptop on my bike and stop at a park and program right there. So you could say I am passionate about programming, cycling, and video games. My life rules!
I program rarely in my daily job and my work is not so demanding (though in the last few weeks I've been designing a fully automated machine), yet when I arrive home (I hardly work more than 8 hours a day) mostly I'm only capable to read news portals. My Lego hobby suffered from this (I'm quitting that), though I found that much more demanding than hobby programming.
Since the last few months, we are looking for a house (however it's expressed in English...) with my wife, but we don't have kids yet. I can only imagine that I have to quit pretty much all hobbies for a while if we'll have kids.
Nowadays only I do some javascript and webdesign things as hobby. That's brainfuck, much more random and backstabbing than any other programming I did, so much for a relaxing hobby... Still more manageable than designing Lego models.
I have an idea for a long term but slow pace hobby programming: simple rookie javascript games and to make a website with a bunch of those. I'd port some of the games I already have (like the Kraken game, a tank wars clone), and maybe can invent some new ones. I'll try to do my best to produce self commenting code. Or whatever.
1 hour ago, szecs said:we are looking for a house (however it's expressed in English...)
In America we call it "house hunting."
3 hours ago, TheComet said:In contrast, I think most people's approach to hobby projects is a "do whatever tf you want" approach where you have little concerns about the scope, you have a very vague idea of what you actually want, you have no idea how long it will take, and you don't care whether what you're working on is a waste of time or not in respect to the rest of the project. In fact, you might not even know if what you're doing works or not. You do whatever is fun to you in that moment in time.
This is actually the exact opposite of how I tackle my project. I have a very clear idea of what I'm going for and it is usually gruelling work. About the only part of the programming I enjoy is when I get to make the world look better. Otherwise it's just crunch.
16 hours ago, Awoken said:This is actually the exact opposite of how I tackle my project. I have a very clear idea of what I'm going for and it is usually gruelling work. About the only part of the programming I enjoy is when I get to make the world look better. Otherwise it's just crunch.
Interesting!
I suppose it depends on what you're developing. My projects are always based on something I don't understand yet and wish to learn more about, so running into brick walls and having to rethink and redesign is a common occurance.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.