Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Burnt Out! -- Help!!! 8

Status
Not open for further replies.

DeanConsulting

Programmer
Jan 11, 2002
131
US
I have been programming for over 22 years. I am approaching 39 years of age this year. I use to turn out code and ideas with a blinding pace. I use to write software as a hobby, for my shareware business, and for the company that I work for.

Then, one day after working for my current employer for the past 4 years, I do not have the desire or the energy to write software like I use to. Don't get me wrong, I still love it and will remain in the field. I love my current job, and not planning on leaving anytime soon, but working on the same project for almost five years has burnt me out big time.

I guess I have a bad case of burn-out and/or programmer's block.

Anyone out there got any suggestions for me to try to get past this ordeal? It has been hindering me for almost a year and a half.

Thanks in advance,
nb


---------------------------------------
Noble D. Bell
 
You say you love your job, but do you like who you work for?

Would there be any specific occurance that happened a year and a half ago to start burning you out??





[monkey][snake] <.
 
Yes, I like who I work for. I have known him for quite sometime now and we are really progressing towards full-release of our product in November of this year.

As far as anything happening a year and a half ago that would cause me to start burning out? No, nothing comes to mind other than my mind tends to not stay focused like it use to and that I try to "hurry-up" and get things done rather than plan them out fully.

I suppose one of the problems are that I am torn between several different programming languages and environments to choose from. (It makes it really tough to decide on what language to use when I actually do get to sit down and work on a new hobby or shareware project.) At work we have to use .Net.

I am not convinced that .Net is the best way to go for hobby and shareware programming as of yet. That is one road block.

The other major road block is that I cannot seem to get my head fully around OOP.



---------------------------------------
Noble D. Bell
 
It sounds to me like the project you are currently working on for the last 5 years is the culprit. I'll bet you are just sick of working on the same code over and over.

I worked on a project for a year and a half. The people I work for had no idea what they wanted the application to do, but they sure knew what they didn't want it to do. I was very gung ho at first, after changing the same code over and over again, I just wanted to hurry up and get done with it. The idea of working with that code day in and day out just made me not really want to do anything.

Maybe after this project you are working on gets released you will get out of your fog.



[monkey][snake] <.
 
In the meantime, why not work your way through a book, or take a class that provides you some stimulation, and maybe rekindles the excitement you used to have for programming?

Ignorance of certain subjects is a great part of wisdom
 
It sounds like your major worry is that you don't enjoy hobby programing as much as you used to.

(1) One possibility is to forget it and try other hobbies. Don't push it. It may be that when you're half-way through making a violin(!), you'll suddenly realise you'd like to write a bit of software that works out how a curved piece of wood vibrates. Or perhaps when you're busy stitching a cross-stitch sampler you'll realise you want a simple cross-stitch editor. Or you'll be arranging something for drums and realise you don't like commercial music software. And suddenly it'll be fun to write something again.
Alternatively you might not feel inspired at all. If all else fails, you'll have a violin/boat/cross-stitch-sampler/piece of music to show for your efforts.

(2) The other thing to do is stop feeling guilty (if you do). You mention not getting your head round OOP. I doubt you're alone. Also, it's impossible nowadays to raise even the faintest doubt about OOP without being attacked from all sides. Look, if this is a hobby, we have no compulsion to follow what everyone says is right. OOP involves virtual calls. They're slower than static calls. It involves objects inheriting methods that work, but not in the most efficient way possible. That doesn't appeal to my hobby instincts. OOP is supposed to make code more reusable. So? If it's my hobby, it's my decision whether I make code easy to reuse. And good procedural code is fairly reusable anyway. OOP is supposed to make code easier to maintain. But if this is hobby code, it's me who maintains it. If I don't understand OOP code, it's not easy for me to maintain.

If, for hobby purposes, you fancy writing a violin-simulator in FORTRAN, go ahead and enjoy yourself. The strange thing is, any violin-maker who ever downloads a copy will be quite unaware of whether it's OOP or not, or what language it's written in. All they care about is whether it does the job.

 
@lionelhill - Thanks for your comments. I do still enjoy hobby programming as much as always. I also still enjoy writing shareware too. I think the biggest hurdle is the fact of deciding what language to use when a good idea does pop up. If I can get over that hurdle then I might start going places again. ;)

Ps. It doesn't help matters that I feel that I missed the boat on Internet programming and am having to play catch-up.


---------------------------------------
Noble D. Bell
 
DeanConsulting,

I'm in a similar boat (and I missed the passing boats on up and coming technologies). I've got a pretty good understanding of OOP, but little work experience with it. It's very frustrating. I don't have any solutions on that, but I thought it might be comforting to know that you're not alone.

For your hobby programming, decide (possibly on a project basis, but maybe even on a part of a project) what is more important for your hobby, the process or the end result. If you're building a simulator to help you accurately model something from the real world, then the result may be more important, so using new technologies could be a liability. If, however, you're coming up with hobby program ideas not to solve a problem but instead to give you something fun to do, the process can be more important than the end result. If you learn a new programming language while writing a new game, it doesn't matter too much if the game's AI is flawed. Creating the game was more important than having it perfect.

What I do is use hobby programming to learn new languages, technologies, etc. or to experiment by pushing the technologies I'm using elsewhere in new directions. It adds to the excitement as well as helping grow. I'm often looking for new projects just to have an excuse to play. On the other hand, when I'm in the office, I tend to stick to technologies and methods that I know well to ensure the quality of the code is maximized while the development time is minimized.

Hang in there. You're not alone.

 
All you can do is find something you like and do it. Perhaps the thing is to find something else to balance things out. I know my desire for hobby programming ended once I was working. Who wants to do the same things off-clock as on-clock?

Perhaps part of the key too is finding purposeful things and do it - the technology used to create something only matters really to Microsoft and the companies that get bamboozled into thinking "newer is better". Does it do the job? Even today, I could pass something off written in COBOL to most people who could care less and want .NET and they won't care or even know as long as it does the job they want.

Of course my problems as a hobbyist programmer:

1) Lack of knowledge to do a few things. The Internet stuff is illustrative (i.e. downloading files from HTTP & FTP servers). Windows programming is another (interaction with the system is meant there) - I find it hard to even gain the knowledge to know how to do some things, and to even debug them once completed.

I got a demo screensaver project that's stalled (out of many projects, really) for that reason, I can't get things to appear on the preview screen at anywhere but 1,1.

Then there are a plethora of other things of that nature, but it can be hard to find answers to them.

2) Same as you, the "is there any end." Kind of related is the "is there really a purpose?" It's especially hard for me to keep going on something and not see any fruit come out of it. Then I'm unemployed and have other problems, so it's hard to put a lot of hours into something without seeing something come back out of it. I managed to turn out a few things, but the hard part is to keep going on something big, and not see the end coming. I got a couple of projects like that too (one of which isn't even past design stage yet), along with my whole code base in general (trying to look through it, see what's useful with the newer compiler I have, etc).

3) Then there's the promotional aspects of things. With the rise of the Internet, so much has changed on that. Used to, you could just upload something to a busy BBS and it'd go from there, but now, it's just plain hard to get attention in a sea of web pages. And I can't say I know
where to start to be wise in marketing things anyway.

Then, going back to the point above, it's hard to go to the expense & effort of a stable hosted web site without seeing some fruit come back out of the venture (revenue to at least cover the web hosting costs, and other intrinsic things). The free ones were okay and I did that for a while, but they're either now not free or so choked with ads that they're not useful.

I managed to release a couple of tools on another forum that seem to be useful, but specific in-demand tools on specific places are about all I can think of to really get into a place of usefulness..

4) Then there's always the matter of finding something you're interested in doing. Usually for me, lately, it just involves doing things I want for myself, but there's always got to be the intellectual interest and challenge. Again where's the return? Same goes for work and hobby programming, and I'll use a work example. It's hard to get excited about doing nothing but change headers on print reports for two weeks straight.

You really need to be excited more in the process of writing programs in most cases than design, for what I've found. As for me, I got into the programming thing for the thrill of designing processes and solving problems, but there's literally no demand or reward for that out in the job market (wasn't even any demand for that where I worked when I was working, even). Then it's hard after a number of years (15 here) to keep finding novel design problems (as opposed to why won't the Windows API work right?!?) to solve.

Actually, since I find no demand for my services in the job market (I'm not an Indian), I'm trying to work a career change (next to impossible without lots of money available and being unemployed). Then it's increasingly a nightmare to even want to hobby code, simply because I find no return out of it.

So to ask a question to further the thread, how do you all find returns out of doing any kind of coding and get past mundane idiocy and Dilbert hell, in the case of doing it professionally?
 
I just want to say that when you get older the ability to concentrate for a long time on one thing gets more difficult. Yes I know 39 isn't old I'm 36 but it's a fact of life.

Look at the golf pro's, golf is not a real physical sport but you need to be able to concentrate older players (from 35) have problems with this. They don't have problem with distance they get problems with accuracy. It's a wel proven fact.

And let's not forget the fact that men get more female hormones when they get older, so we get the female ability to do two things at the same time which is something that we need to get control of.

It's all very scientific.

Sorry if this sounds silly.

Christiaan Baes
Belgium

"My old site" - Me
 
The other thing that undermines hobby programing is the clash of complexity and perfectionism. In the old days when we had a 6502 processor and 2K of memory to play with, you could concentrate on producing the optimal solution to a fairly simple problem. I don't know how it affected other people, but it gave me an expectation of understanding the system inside out.

Back in the days of DOS, you could still just about have a good overview of every possible DOS & BIOS system call. And the programing languages of that era were fairly simple too; you could know how they implemented all their concepts, and know the entire instruction set. I still like Turbo Pascal.

The trouble now is that I feel unhappy with modern systems because they're so hugely complex that I feel that even if my code works (big if!), it's utterly certain that there's a much better way if only I could find it in the mountain of help documentation and websites. I can't do anything and think "Yeah, that's pretty good!". Things have got too complicated for amateurs, and it has really reduced the enjoyment.
 
chrissie1 said:
when you get older the ability to concentrate for a long time on one thing gets more difficult

That is, until you get past 45 and then you start having trouble concentrating on ANYthing for ANY length of...

I'm sorry. What was the question?

;-)

< M!ke >
I am not a hamster and life is not a wheel.
 
I agree, things have got harder for hobbiest and for amateurs. It has also got much harder for a single-person programmer trying to make a living. There is just so much new stuff coming down the pipe at such a rapid pace it is hard to keep up with what you think is going to be the most helpful and even then you have to worry if you made the right choices or not.


---------------------------------------
Noble D. Bell
 
chrissie said:
when you get older the ability to concentrate for a long time on one thing gets more difficult

Chrissie should know, I heard that he's 140 years old and lives in a cat litterbox!!!

[monkey][snake] <.
 
And the programing languages of that era were fairly simple too; you could know how they implemented all their concepts, and know the entire instruction set. I still like Turbo Pascal.

Exactly. You're more of a librarian than any kind of problem solver with these modern things. I'd go as far as to say that no one truly programs anymore. They just stick tinker-toys together. I even notice that in the Delphi forum a lot of times. People seem to always ask about finding a component/module to do a task rather than solve the problem. And these are simple tasks too!

Is there an API call, how would you know what it's named? How could you understand all the concepts with such little documentation or such poorly written documentation? Ultimately all you can do is google and crib off of source that someone else posted, but is it correct? Are there legal issues in doing that (IMO there's definitely ethical issues)?

Personally in this day and age, I would find it a lot more interesting to make the black boxes rather than to simply put them together.


I feel that even if my code works (big if!)

And with the complexity of these things and the plethora of black-boxes (another pet peeve of mine with these newer things), how do you even know if it's YOUR code that's the problem?

Things have got too complicated for amateurs, and it has really reduced the enjoyment.

Or I would say, rather, too complicated to find answers, know what is going on, and be able to debug something without pulling your hair out (to wit the screen saver preview window problem). I think it amazing that I figured out what I have already to the degree I have.
 
I'd go as far as to say that no one truly programs anymore.

I think this statement is a bit ridiculous. With that kind of attitude, why not just say that you aren't really programming unless you write directly in some assembly language?

Just because tools have been provided that make putting complex applications together easier does not mean someone writing applications is just putting tinker toys together. I don't know the first thing about cobol or pascal, but I would come across as bitter or ignorant if I said that someone working in those languages 'doesn't truly program anymore'.

By nature, programming is going to always be changing. I am sure that in 20 years, I will be in the same place that a cobol programmer finds himself today in terms of what jobs are available if I don't keep up with technology as it evolves. There is nothing wrong with reminiscing about the good old days, but you've also got to try and live in the present.

Alex

Ignorance of certain subjects is a great part of wisdom
 
I think this statement is a bit ridiculous. With that kind of attitude, why not just say that you aren't really programming unless you write directly in some assembly language?

And what kind of experience do you have to be able to make such a statement about my opinion? I see where your posts lie on this board, and that really tells me much. Tell me this though: What difference is there in slapping a few components (controls) onto a form and a few rudimentary statements, and doing something like prepare a Powerpoint presentation or an Excel spreadsheet or even a Word doc? Personally I find no difference whatsoever, having done all of them (VB, Delphi, and Oracle forms if you want to know that side of my experience).

To call tasks akin to those done with generic office documents "programming" is ludicrous, IMO. Why? Ultimately you do not solve any problems by slapping a few components onto a form, the problems are already solved for you.

Why don't I list "Microsoft Word" "Microsoft Excel" and "Microsoft Powerpoint" in with my "programming languages experience" (as well as OpenOffice, Wordperfect, Lotus Notes, and a few other things), if that's the case? If you can call forms & component based things as I've encountered "programming", then I can say the same of all those other things.
 
So, I think that it is safe to make this statement:

It appears that all the current modern development
languages are making application development easier by allowing one to use modules and components already created. Hence the term RAD. Fine. Years ago there were no wizards for creating code for us, we had to do it ourselves. Fine.

But, in doing all this advancement to speed up application development for business users, etc. it is leaving the casual hobbiest/micro-isv programmer behind.

Seriously though, who would want to use a .Net programming language to write a simple checkbook manager or a recipe manager? Granted it could be and is done but why? If you are going to have the development environment generate all the code for you -- why bother?



---------------------------------------
Noble D. Bell
 
I'd go as far as to say that no one truly programs anymore.

That is the words of a grumpy old man.


"In my days, we used to walk 26 miles to school in the snow barefoot, that's the way it was and we liked it....we loved it!!"

[monkey][snake] <.
 
Glenn - if you don't see the difference between writing an application in Java or .net and putting together a powerpoint presentation, then there is no help for you.

Why don't we just quit this programming stuff and spend some time trying to invent the wheel. I think it could be really useful.

Ignorance of certain subjects is a great part of wisdom
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top