From personal experience, some of the fear that comes from programming comes from how it affects my self-image. Every time I sit down to implement a bit of design I've come up with, I put some of my self on the line. If it fails, there can be some emotional blow back. There's nothing more terrifying than working a long time on implementing your idea to have it turn out that it might be completely wrong. This is when I get into late night hacking sessions and start to obsess about work. Until I resolve the issue, I'm shattered inside. For big projects, this obsession can be a constant undercurrent.

This is not healthy. For me, I think the problem is that I put too much stake in my self-image due to some unrelated fear / belief of inadequacy. If this is true, then the answer is not working oneself to illness, but rather dealing with the other problems directly. This may fall under the broader category of workaholism.

Peeling ones emotional issues apart from one's work and dealing with them separately seems like a smart thing to do. I've seen other programmers struggle with the same thing, so maybe this post is helpful to others. In a the gaming and start up software industry were we work 80+ hours / week, we have to be extra mindful of these things, I think.

By on 11/19/2011 10:48 AM ()
By on 11/7/2011 8:20 AM ()

This is an excellent topic for discussion, and one that is so rarely aired. Thanks for bringing it up. (One of the few things I've seen on this is "Programmers at Work" [link:www.amazon.com] worth a look.

I think one useful trait is being comfortable with not understanding. When you're learning something new - a new language or a new paradigm - you're not going to understand it straight off the bat. You need to be OK with that. And you need to be very OK with making mistakes. (As you said, every first line of code is going to be wrong.)

Back when I used to teach high school math I had a sudden epiphany: the kids thought that if they didn't understand something first time that meant they couldn't do it. Fact is, as I told them, I'd spent hundreds of hours not understanding math. I went through an entire term of mathematical logic before I got the slightest clue what was going on. Being OK with that is incredibly useful.

Of course with deadlines looming it's hard to stay cool about it. Anyway, great topic. Not talked about enough. High time we got in touch with our feelings....:)

By on 11/7/2011 8:20 AM ()

I have been walking the "traumatizing experience of programming on the cutting edge" path for many years now, building a company on the ideal of functional programming, and there were times when I thought about it similarly, trying to find out why and how I must change everyone's opinion, and do the hard work to evangelize. In a way, it's still an ongoing battle to market our products and services to a crowd that mostly has no idea about the potential they are missing out on. But that's good - it creates opportunities for those who do see the potential, and that's just how it should be.

For me, innovating, working on the cutting edge, doing things that no one has done before "does it", it motivates and gives me the drive I need to go on. In a way you have to put aside what others think, but you can rarely succeed alone - so you need allies, friends who believe in you, share your enthusiasm and help to make things happen. I for sure wouldn't be where I am without them.

Admittedly, I have also made significant sacrifices along the way - all in the motto of "all your hard work will pay off." And I still go by that rule. A good friend of mine kept telling me: in order to get something done, you just "do it." Don't think about it - just do it, don't let it bring you down and don't waste time by contemplating.

So overall, I believe you can retrain yourself to be free of "traumas", free of fears of unknowns, and remove a lot of this stress from your life - and balance out the emotional self to make it happier. Yes, it's hard - especially if you are your own boss and need to make a living, but by any chance don't give in to those who want to steal your fun or want to make you a C++ programmer. Reward will come one way or another.

By on 11/4/2011 12:23 PM ()

Thanks for your response!

One reason I'm getting into FP and DP is to finally work closely with people who think like me. I have never had any success evangelizing alternate programming techniques to my imperative programmer peers. So far I've learned that people of settled mindsets will believe tomorrow whatever they believe today. Hopefully getting into FP will allow me to fly in a flock of my feather, rather than forcing me to change the feathers of the flock I'm with.

The spectrum of emotions that go along with working with people who are your philosophical opposite is also something worth discussing. It can be lonely and discouraging. The bright side of course is that it is humbling and can make you think in new ways.

However the emotional self doesn't seem to look on the bright side. From what I understand about the mind, the emotional side feels what it feels, and that is that. The conscious part of our mind tells us to look on the bright side for balance, and that is very important. But I wonder if we could be justifying some emotional repression by over-emphasizing the search for silver linings. I only suspect this for my own personal reasons, and will try not to explore that here.

I must say the second to last sentence in your post is an absolute gem :) Thank you Adam!

By on 11/4/2011 9:27 PM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper