Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've been let go three times from three different jobs already in the past four years.

The first job was doing seismic interpretation software in C++. It lasted nearly three months. The reasoning was that I had excellent C++ skills but I had serious communication issues. My second job was at a flash social games company. Again I lasted nearly three months, with the reasoning being that once again I had poor communication skills and was slow to pick up the pace. My last job was at a regular casual flash game company. I lasted 1 year and 9 months on this one. The reasoning for my dismissal this time being that they had to lay off staff due to the economy, so they picked two programmers. I was picked because even though I produced quality code, I could not finish it in a reasonable amount of time. My boss told me once more that he thought I was a good programmer and he wouldn't say no to rehiring me in the future if I managed to get some experience in IOS programming, given their interest in moving in that direction.

My concern is that I somehow doubt if I'm even fit to be a programmer at all. Even though I can do some impressive stuff that few people can do (I was hired at my last job because I was able to create a pretty impressive 2D/3D demo in flash from scratch, even though they had already filled the role), it almost always takes me nearly twice as long as anybody else to achieve the same results. Even when I'm doing the simplest tasks, such as typical state machines for character behaviour in a 2D platform game, I feel like my brain somehow freezes for no particular reason. (It's been like that ever since I can remember for the past 12 years or so, but I thought it was something that happened to everyone.) I tried staying late pretty much every day, but still it wasn't enough for me to catch up. All of this was made worse by the stress that built up from knowing how slow I was, wondering if my boss was going to call me that day to give me the bad news. I'm naturally a very stressful person, so I recognize that stress in itself makes me even slower.

I feel like I've lost all motivation and ambition to learn new things, and that I should just give up on programming and simply focus on doing simpler, less stressful things like working at a library or something, and just forget about having a career, because I simply cannot do anything else. Programming is all I know.

So what I'm asking of you is a serious opinion on the matter, given the few details that I've given to you. I've already started looking for a new job, but I'm wondering if it's going to turn out the same. I know I have to be posititve about things, but how can you stay positive when you've failed so many times in such a short time?

share|improve this question
2  
do you love it? if so, don't let it go. might consider getting tested for ADD if your brain 'freezes' when you concentrate though. good luck! –  Steven A. Lowe May 5 '12 at 5:32
    
You know I've always wondered whether I have ADD since my mind very easily wanders off when I'm trying to concentrate. Which forces me to iterate over and over on a problem to try and build a mental model of things, seeing pieces of a puzzle continuously crumble in front of me like a house of cards, forcing me to start over and over. –  Potato Joe May 5 '12 at 5:48
    
And yes, I do love game programming. I've never thought of doing anything else with my life. At least not seriously. –  Potato Joe May 5 '12 at 5:49
1  
I doubt you would be able to write such a concise and clear question with ADD. –  CodeART May 5 '12 at 6:10
1  
And don't forget that the actual work you do isn't everything. What counts is happiness. The colleagues and the environment are more important than the thing you actually do. Seek happiness above all else and don't think that you can't be happy if you can't hold a job in a specific industry. –  Falcon May 6 '12 at 11:00
show 8 more comments

closed as off topic by Justin Cave, Jim G., jmq, gnat, littleadv May 5 '12 at 7:04

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

Based on what you have written - I'd say your (at least written) communication is pretty good.

If you are able to be as articulate as that verbally as well, then you don't have a communication problem when it comes to explaining, background, etc.

Perhaps any communication problem is something more specific - technical, or business justification perhaps?

As for speed: what is your defect rate? If you are slower than others but produce less defects, then "speed" is the wrong measure. Instead, the measure (always) should be completed, tested, working deployed code. The whizz-kids who throw out stuff FAST but which takes forever to get debugged are a false economy. So concentrate on this, and if you are in fact slow but high quality then this is a positive attribute that you should be emphasising to prospective employers. But BE HONEST. If you are slow and have a high defect rate then this is not a good thing. If slow and have a low defect rate there is every likelihood that you are in total similar to the so-called fast workers.

If you are just slow - then you can always tell an employer that this isjust how you are and negotiate a lower pay rate to compensate: "I take longer than others but I get the job done. I'll settle for 20% lower pay because that seems fair."

It sounds, really, like you have not found a company that suits you, yet.

share|improve this answer
    
It's really hard to tell whether my defect rate is higher than my coworkers'. I haven't really sat down to check how buggy their games are in comparison to mine. Although given that I've had to fix bugs post release on one or two occasions, I'd say it's about the same. What I do know is that I try my best to write reusable clean code, but I'm always conflicted in regards to how much balanced my cleanness vs speed ratio should be. Regardless, I did go over that several times with my boss and on each subsequent game I agreed to focus more on speed than the last one. –  Potato Joe May 5 '12 at 5:25
    
But it never seemed to be enough no matter how little attention I paid to re usability. –  Potato Joe May 5 '12 at 5:26
    
As to my communication skills, I suffer from the same problem. I'm slow at pretty much everything. Getting ready for work, working my way around directions, so it comes as no surprise that verbal communication is very difficult for me if a person is talking faster than my ability to process what they're saying. I often find myself completely lost during meetings when discussing technical matters, as I can't make everyone else stop just to take some time to process things (with stress making it agin even harder) –  Potato Joe May 5 '12 at 5:31
2  
"I'll settle for 20% lower pay because that seems fair." Never, never ever do that! Never ever! Such a behaviour will always put you in an undesirable position inside the company. –  Falcon May 6 '12 at 11:06
1  
@Falcon: I've worked with people who are fast off the blocks, and have such a vast number of defects that the overall time is WORSE than someone who just plods along, gets stuff done with a low defect rate. My point is that cutting code is the wrong measure. Cutting WORKING, PROVEN, DEPLOYED code is what counts. That includes fixing the defects. Doing this slowly and carefully with less rework is a positive attribute. –  quickly_now May 6 '12 at 23:55
show 4 more comments

Not the answer you're looking for? Browse other questions tagged or ask your own question.