Since May 2011, I have been employed at Legend Boats. They have been a great 4+ years, but all great things must come to an end. Two weeks ago I gave my notice to Legend that I was going to be leaving. I have taken a job as a Senior PHP Developer at Climax Media. I am super excited about working at Climax. The people there are incredibly smart, passionate, and I think it will be a great fit.
I loved my time at Legend, but I always got the itch to work with a team of developers. When you work for a company like Legend Boats, whose first objective is to manufacture and sell goods, programming is a distant thought. They know they need good software, so they hire a good programmer. The problem becomes that they only need 1 or 2 programmers, so you end up making a lot of the design and development decisions by yourself.
This of course has it’s pros and cons. The obvious pros are you don’t have to deal with other people’s opinions, views, and feelings about packages, servers, frameworks, etc. If you believe that XYZ framework is the best, you are free to develop everything using that framework.
The major con to this type of workflow is you don’t develop much as a programmer. If you aren’t getting a different view about how good software is developed, you are likely to get complacent and keep doing things “your way”. You need to be continually challenging yourself, your beliefs, and know that however good your code is, improvements can always be made.