Are programmers products of their working environment?
Two programmers A and B get hired at the same time at different companies.
Imagine programmer A working in a small company (2-3 people) that undertakes small projects and has no intention of educating its staff (certification courses and other educational opportunities). What are his chances of developing his skills since there is no chance of extending his education and by working on small projects that do not require high/expert-programming skills?
Now image programmer B who works in a company that offers courses and undertakes big projects from different fields allowing its staff to extend knowledge and expertise.
I believe that programmer B will have more knowledge and expertise than programmer A after some time. He will also be able to search and find a better job with a bigger salary and maybe more benefits.
In what degree does the company that employs you affects your career and development as a programmer?
Should a programmer that wants a job must take under consideration the company profile? Or should he accept any job (since he needs one) and then move on?
With all these said in what extend doe the company you work in defines how you evolve? Or it is completely up to the programmer to evolve on his free time?