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 have a feeling that lately I haven't improved much as a programmer. I may have learned a few bits regarding some technologies and acquired some domain knowledge, but it isn't much. In general programming skills there has been very little that I have learned.

I haven't gotten better at reading legacy code. I still struggle with it. My design skills have not improved. I have hard time making design decisions.

I have a limited experience of different workplaces and so I'm asking that how much does the working environment affect ones learning and what things in it specifically?

I guess there are things that affect ones motivation to learn, but also things that make it possible to learn. Please share your experiences.

share|improve this question

closed as primarily opinion-based by durron597, Ampt, MichaelT, Ixrec, GlenH7 Apr 25 at 17:26

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers 4

up vote 2 down vote accepted

The biggest sign that a job is good or bad for your learning is whether or not you are learning new skills on the job. You should be picking up at least two significant skills that will change your resume per year, in my opinion. Yes, there is always boring work; but it shouldn't be your entire job for long stretches of time (but short stretches - a couple months or so - can easily happen during 'crunch' periods).

If you aren't learning on the job, talk with your manager. Maybe you are doing new things, but not recognizing them as new skills; or maybe your manager needs to re-balance workloads so you aren't always getting stuck with the familiar, easy, boring work. It's also possible that you are learning things, but not in the direction you are willing for your career to ultimately go. Talk, and try to find common ground. This kind of problem can often be a win-win, so work closely with your manager to find a solution.

If your job is still all non-challenging work a few months later and you have been working with your manager to get the situation to change with no results and no reasons to expect real change soon, you are not working at your level and should consider hunting for a more challenging job. Moving on should be good for your business as well, since - if they are paying you what you are worth - they should be able to replace you with someone cheaper.

Of course, this does not go against the advice to do personal projects, read a lot, and so forth outside of work. This can greatly accelerate your career. However, your career should not have to become your life for you to progress at all. You should have some career velocity even if you do just 40 hours per week and then head home to your family - at low levels, you should be getting a small promotion every 2 to 3 years with just 40 hours per week, and at high levels, you should be at least holding even (e.g., not going out-of-date). This does depend on your team - some workplaces are so good that people just don't move on, and it can take years for a spot to open up so you can be promoted. I'm also assuming that you are actually working as hard as you can during your 40 hours.

If you still aren't sure how your company is doing because you simply don't have the perspective, start scheduling "informational interviews" with developers at other companies. These are interviews where you just learn about that company and how they do things, and they have nothing to do with seeking a new job. They can be a great way to get some perspective.

Bottom line: Your company (and your team) should care about your career, just as you should care about the company's growth and success. If you don't think your employer is concerned enough about your career, "Vote with your feet" - that is, walk out and move to a company that will care.

share|improve this answer
This is where the question originally spun off. I really don't know what to add to my resume. It could be that I'm not recognizing my new skills, or maybe that it constantly seems to be crunch time. I feel that my current job isn't taking me quite in the right direction, but I'm unsure about that right direction myself. I like what you say about "informational interviews". It's something I've been thinking how to do, as I don't have many contacts and some, like friends seem to be reluctant to comment too deeply on things. –  Purple Tentacle Dec 28 '10 at 22:39
  • Understanding how you learn - While I can enjoy hypothetical and abstract ideas, there is something to be said for using what I know rather than just thinking I know what I know. This is one side of the debate as if you don't know what works for you that kind of puts things into a sucky starting position. If some learning styles suit you better, then try to stick to those as much as possible.

  • Understand what roles you have where you work - In terms of learning on the job, this has been rather standard for me to have to learn about something from scratch as soon as possible and sometimes this has been awesome and sometimes not so much. A key point is to know how deeply do you know have to understand something. I don't think I could write a C# compiler yet but I have been using the language for 8 years now. In some cases learning how much to fix a bug can be quite different than replacing a system entirely.

  • Try to gauge the maturity of where you work - Is there formal structure in place so that things are rather bureaucratic or is it more like everyone can just do what they want? How large is your development area and what kinds of specialty are there within your team? These are just a couple of factors I'd point out that I can note the contrast in the handful of places I've worked in total.

The environment can play a role in a number of ways as some places may not want you to learn new stuff as they haven't quite extracted all that they can from what you already know possibly, though I may just be paranoid on that point. Similarly, at the other end there can be lots of encouragement and support to learn new stuff and harness what is already out there to get things done.

share|improve this answer

What area of programming interests you? Follow your passion. It's hard to stay motivated to learn something that you don't care anything about. Wherever your interests lie, that's the best area to start learning more.

I have a limited experience of different workplaces and so I'm asking that how much does the working environment affect ones learning and what things in it specifically?

Some working environments can suck the motivation right out of you. Try not to let that happen -- make sure there's at least ONE are of your job that still has an appeal.

share|improve this answer

While the work environment helps, it's only a small factor in your growth as a developer. The single most important thing is your desire to continue learning.

All the best developers I know have one thing in common. They spend significant amounts of time outside of work to continue their education. They read software engineering books, listen to podcasts, read technical magazines. Most importantly, they work on personal coding projects.

This leads to an interesting scenario. These people excel at their jobs. This results in them being given the more challenging tasks. This helps them grow even more.

In short, put the responsibility for your education in your own hands. Not your company's.

share|improve this answer
This is one solution, but it's not the only one that works, and it does not work for anyone with significant family or other life obligations. The expectation that all good devs will constantly invest large portions of their non-work lives into their work is toxic (having said that, it's not rare for good devs to do; it just shouldn't be an expectation in order to progress). Moving to a new workplace if the old one can't meet your career needs is entirely valid, but must be done before skills have rusted, not once it is too late. –  Ethel Evans Dec 17 '10 at 18:38
Yes, I read and listen tons of stuff I find interesting. I know I should be doing my own projects. I've had problems finding motivation for those too after a not so motivating day job, but I'm working on it. Still, I think that should not be everything. –  Purple Tentacle Dec 28 '10 at 22:36

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