views:

233

answers:

7

Hiii

I am a developer in a small software company. When I don't have any work at hand, I try to learn new things such as ASP.NET MVC. Now I do not get to use my learnings in the projects I get in my company, so what you people suggest so that I can improve over the things I am learning.

Thanks

+1  A: 

Well at some point you will probably need to move on. There is only so much you can learn in a single context. It is pretty fun to arrive at the floodgates of another shop that uses the same technologies you are familiar with, but does so within an entirely different paradigm.

Even more new place afford you the opportunity to meet new people. Those relationships are often where I learn the most.

Nathan Feger
+1  A: 

I suggest that you pick a business domain you feel passionalty about and start learning that in addition to your programming skills. For example I'm sure your company builds software for business. Learn as much as you can about how business use your companies software.

JD
A: 

It's always hard to learn new technologies when you don't have the "gotta do this for the job" motivation to assist you along. In general, I'd look at the principles of refactoring, and consider what refactorings might be useful to your company when you have free cycles. Then try to evaluate what technologies might be useful for each of those refactorings. Even the process of simply finding potential refactor spots can be useful; evaluating new technologies and how they might be useful in those refactorings can also be helpful. Even if you're not able to do the refactorings or use the technologies, evaluating how they would be used and finding the refactor points is very good training.

McWafflestix
A: 

You could also suggest the new technology you are learning to your supervisor for new projects.

This will keep your company's products up to date with the latest technologies.

Mike
+1  A: 

You could try to work on open source projects...

CSharpAtl
+5  A: 

I think the answer to this question is more philosophical than technical - that is, it's related to your personal ambitions and motivations rather than the technologies you can learn...

It depends entirely on what the software product is they're selling. Is it a product you believe in, is it a consultancy etc.

  • How integral to the team can you become?
  • What is the potential growth of the product?
  • How large is the target market?
  • What is the potential lifespan of the product?
  • Does this product interest you on a personal level, i.e. do you find it interesting?

I've worked in positions where I spend much of my time "bored" and looking for stuff to do and in the end moving on. Of course, the more work I get, the less time I have to learn new technologies and less time to spend on R&D which is really what turns my crank. To the point that I sometimes spend time daydreaming about my past jobs where I'd have every afternoon to myself to do my own thing. Now I spend far too much time on projects for other people and not enough on projects for myself.

So really you have to stop and evaluate what is really important to you, be honest with yourself. If this company is small with potential for huge growth, can you help with that, will you be rewarded for that etc. or if this company is limited but will give you room for huge growth in an area that's important to you, then maybe it's a great place to stay.

If you want to get mired down in the drudgery of huge commitment, high pressure projects, and that is what excites you, maybe you need to move on.

There's two sides to my personality, and so far, I've not found an environment that can cater to them both - I thrive in high pressure environments with ridiculous deadlines providing solutions to "impossible" problems, in fact, this is an environment that in the past has set me aside from colleagues. However, that's not what I'm truly passionate about - I'm passionate about solving complex issues and studying fascinating concepts, even though I may not be up there with the Alan Kays of the world this is an area that really turns me on mentally.

The only person that can really answer your question fully is you, and in order to do that you really need to reflect on yourself and ask yourself the hard questions. Do you really enjoy what you do, be specific about what drives you and what turns you on. Only then can you really answer the question about what to do about it.

Edit: Alternatively you could think about a startup - perhaps you have ideas about a project you want to do, a problem that needs solving. Perhaps there's software out there that you use that you feel really isn't adequate, that could solve the target problem better than the current offerings. You could use your un/under utilized skillset to solve these problems and perhaps make it rich. Although, the chances of making it rich at a startup as they say is akin to winning the lottery - although, you have far more control over it than the lottery. It takes dogged persistence, a huge amount of self belief, the right contacts and the dedication and discipline to see it through. Startup life is not easy on you, and it's not easy on loved ones if you have them in your life, it's a risk involving a lot of hours and no guarantee of any pay off. But it could pay off in the realm of hundreds of thousands, or millions depending on what the project is.

BenAlabaster
Well I am actually confused about the two, when I don't have work even if I am learning something I want myself to be assigned on some project but when I am on a project , I want to learn new things. :(
Utkarsh
I totally feel for you. I've been in software development for 15 years and I still have the same problem. You really have to ask yourself what is more important, the money that comes with the big projects or the personal satisfaction of learning new things but earning less. Some companies allow time out each week for personal development/projects - perhaps this would be an option.
BenAlabaster
I found that when I compromise between the big projects/money and the lower income/personal growth I feel a lot better about life. Having an income where I don't have to struggle between paycheques but not going after so many big projects as to consider myself "rich" gives me enough time for my own personal growth.
BenAlabaster
A: 

Consider the following 2 sets of items:

  • What do like to do, i.e. what things give you pleasure.
  • What are you able to do well, i.e. you are good at what things.

The intersection of those two sets are where I'd focus my attention though I'm not sure how well that'll work.

On the other hand, you could examine what processes and procedures exist where you work and try to improve them as well as what tools do you use, e.g. what source control, build scripts, unit testing framework, etc. Design patterns and architecture discussions can be another technical route to take if you don't want to get more into the business or managment side of things.

JB King