Your not alone

Want to know the funny part, I have always felt like we where the only company with such a ugly Chef repo, and I was wrong! Even better it does not matter if your using Chef, Puppet, Salt, or some home grown system there is someone who is in the same boat as you.

One thing that I find often happens in at tech conferences is most of us walk away excited about the potential but totally feel defeated by seeing how well other are doing, but here is a little secret if you pull those presenters aside you will find a stack of things that they also wish where better.
I am constantly ashamed when I talk to others about the state of our chef repo, and since I started using Chef over four years ago there is a lot of history in there. For the first two years I was the only guy managing any of our Chef, along with begin the better looking half of a two man team managing our datacenter, servers, network and internal IT. The second guy on the team hated Chef and would alway push things off to me, and to be fair I did the same to him with the network. The down side of this is four and a half years later we are just now starting to get more eyes in the chef repo and over all workings of Chef.
Personally I love it when someone finds a better way to do something and when they start cussing at me about how much they hate (the company formerly know as Opscode) Chef. I have been pushing for other to be more involved, and I don’t fear the skeletons in my Chef closet, but rather ask for help in cleaning them out. I love it when the engineering team comes to me and says hey I wrote this cookbook can we talk about it, or when they say I see you did x in cookbook y why didn’t you do z! This discussion has helped move our repo forward and the pace of change is only getting faster, and in the process we are working out the bugs that a one man team does not even think about.
How did this change happen? We honestly it was a pain, not only because people did not want to learn but Chef is easy to start with but joining a existing system is a little harder. I have a personal chef account I play with all the time as I love doing this stuff but developers just want to get their code out and not worry about the infrastructure to manage it. Like everyone today a good engineers time is over committed and learning a new skill that is not directly related to the problem at hand is hard to find time for, also those Ops guys can do it for them! We finally hit a point where I could not keep up and we had a few engineers who had the desire, and while the other ops team members where doing minor changes they where still very limited in their skills. To help I wrote pages of documentation but no one would read it, they just wanted to complain about what they didn’t know! Finally I went to the VP of Eng and said lets bring in a trainer and I need your guys for three days, luckily he saw the advantage of being able to move faster and having developers help manage the infrastructure and agreed. Three days of training later we had a ton of questions and idea but we are at least on the same page now. I am not saying everything is perfect and I still get a lot of why did you do that, but we have a team working together to improve and that is what Chef is about to me.
Want to know the funny part, I have always felt like we where the only company with such a ugly Chef repo, and I was wrong! Even better it does not matter if your using Chef, Puppet, Salt, or some home grown system there is someone who is in the same boat as you. They may not talk about it on stage but pull those guys aside and while they have solved many of the problems you have, they often have problems you have already solved. The tech ops field is a focus on problem not successes, I mean how often do you hear about them unless the site goes down. The part I am trying to point out is yes, there is much focus on your failures but your not alone and maybe you should step back a second and think about your successes.