views:

617

answers:

10

Hi All

I am a developer with a BS degree in Computer Engineering, with around 6 years of chronological experience.

I have been in a company which has seen changes and twists and turns. Unfortunately all of the projects I have been involved have either remained incomplete due to change in focus of the group or have been abandoned because it was taking too long on my side.

As a result I have very little confidence on my side.

The question is how do I improve my skills so that I am able to take to project to completion ? Although I spend a lot of time but my productivity is poor. Although I spend my time staring at the screen or my notebook I can't get good ideas

I work in the embedded domain.

edit : Thanks everyone for your tips. About the loan bit - I have taken a house on mortage it will be a long time before I can pay them off ~ 15 years. As an aside - due to lack of confidence I am unable to ask questions for fear of appearing stupid in front of others as a result the project gets delayed further. My group does not have a pair programming structure

+1  A: 

I could not take a break as I to pay off loans I am also unable to maintain concentration for long periods

stackoverflow isn't a forum -- you shouldn't reply to answers with another answer, since the voting systems means they'll probably end up out of sequence. You should reply to answers with a comment, like I am doing here.
Stewart Johnson
You need to do "furure planning". Use Google to get the techniques for this.
mm2010
@Stewart Johnson: commenting needs 50 reputation, the poster has 31 as of this comment. He should instead edit his question.
CesarB
@CesarB - you can comment on your own question regardless of your reputation
Gareth
@Stewart Sorry the next time I will keep this in mind.
+8  A: 

Sounds like you could do with a change of job. This doesn't necessarily mean giving up programming, or changing company though. It sounds like you have been thrown in the deep end and left to fend for yourself, when you need support and guidance in helping you develop your skills.

Talk to your boss about your concerns. Explain both that you feel frustrated over the fact that projects never seem to reach completion, and concerned that your lack of training might be part of the problem. See if you can come up with a plan of mentoring and training to improve your skills and to improve your value to the team.

If your boss is unresponsive, then a change of company - to one with good mentoring and training policies - sounds like a must.

Regarding your concerns over concentration, I'd really not worry unless it is very severe. Everyone should take a 5 minute break from staring at their screen every hour anyway. A time-management course might help you. Alternatively you might just find that your objectives are ill-defined. A task broken down into small, easily tackled, parts is far easier to concentrate on.

David Arno
+3  A: 

Pair programming is really excellent when troubling with own focus. Dont work alone.

Although;

It sounds to me like you're somewhere in a burnout process. If this is the case, your doctor may declare you sick - which may/may not help the economic side for you.

You should consider getting some literature/tips on the burnout issue and see if it can help you.

Getting out of a burnout by your own account may easily take 1-2 years. Get help.

krosenvold
+4  A: 

First of all, work until your loans are paid off, then save a bit of cash up.

Now, either do one of two things:

  • Take a well-deserved holiday to reflect on your future and where you want to take things from here on.
  • Take a MS/MSc in Computer Engineering or Computer Science, whatever takes your fancy. Write a list of all the stuff you'd like to leave university knowing and then find a university that teaches a similar curriculum. Despite the fact that you're still working you might find university a good 'break' from the real world too.

I'd be lying if I said I wasn't the same too. Life is hard for the average programmer and missing project deadlines isn't a rarity. Whilst you claim that you cannot leave due to debt I would also then suggest that you at least find a position at another company whilst you're still working at your current one. At least that way you'll not be in a period without pay.

Don't let it get you down. These kinds of things happen to many people, so I'd recommend taking some time out for some reflection on your life. We only live once, so try and make your working life as happy as it could be.

If you want to acquire some more skills find a good library (maybe a university one) and get some of these books out.

http://www.nextthing.org/archives/2006/12/28/undergraduate-computer-science-reading-list

EnderMB
A: 

Thanks everyone for your tips. About the loan bit - I have taken a house on mortage it will be a long time before I can pay them off ~ 15 years. As an aside - due to lack of confidence I am unable to ask questions for fear of appearing stupid in front of others as a result the project gets delayed further. My group does not have a pair programming structure

Again, you should delete this post and put this text in your original question, either as an edit or a comment on your original question. These answers are not sorted chronologically.
Stewart Johnson
A: 

I would feel bad about my skills too if I hadn't been allowed to finish a project in 6 years. But finishing big projects is hard though.

Maybe you could try working in a more iterative way. Break down big projects into parts that you can oversee and finish. Start a new project by asking what the most important features are to the customer/user, finish and deliver them first and then go on to the next most important features. Try to break projects up into things that you can finish in about a month and make sure you're always working on the features the prospective users of your software find most important.

This way you get to deliver working software once in a while (this is a great boost for self confidence) and projects have less change of being cancelled. Even if they are cancelled you've already delivered the most important pieces so people are actually working with your code.

Mendelt
+1  A: 

For me if I'm feeling overwelmed then my concentration goes. So really that concentration thing could be a symptom rather than the cause of not being able to get much done. I know it is hard to do but maybe try not working a ton of hours for a week if you are able to. I know I get a ton more work done the weeks I don't work a ton of overtime.

Maybe it is time to find another job. Have you been at the same company during those 6 years? You could learn more by going into a different environment. Look for a company that has pair programming, a training programming, etc. There is no reason to wallow somewhere that is making you unhappy and unproductive. It isn't helping your career.

wonderchook
A: 

Don't try to take on too much. Tackle the problems that come your way using bite-sized chunks. Try not to blame yourself for your present unsatisfactory situation.

As a way of restoring your confidence, and if by chance you still enjoy programming, try doing some programming-related things that you have always considered difficult, or have always wanted to do. These small psychological victories add up. As much as is practically possible, try o look at other people's code and get a feel for what it actually does, particularly that written by the high-fliers in your company. Try to associate with successful people, rather than those who are always complaining about life.

I have been in a number of situations where I had to accept that I just don't KNOW how to solve a particular problem, or it is far too vague. If this is the case, say something. Often this won't penetrate a manager's skull. Keep repeating until it does!

AndyUK
+1  A: 

Contribute to an open source project! Find one that really gets you psyched and makes you want to dive right in and move mountains.

I've found that the key to breaking the paralysis is in diverting your attention to something else that's fun and yet confidence building at the same time.

Another possibility is to try building little prototypes. Feeling overwhelmed, lost and empty headed about the problem over all? Bite off a small chunk that you do understand, and implement that, then move on to the next chunk. You may find that by putting all the 'easy pieces' into place, the hard parts become much less of a stretch!

Also, at the risk of repeating what others have said, take some time off. Sometimes when burn out sets in it can be very hard to break the pattern without some time away spent doing something relaxing.

feoh
A: 

If you feel you are not productive it sounds like you have to get more focussed. Every week, or even every day, you should spend a lttle time deciding what are the most important things you need to get done that day. write a list then prioritise, and don't let yourself get sidetracked. Good luck!