Since meeting Sandro, I have given what and how I code a lot more thought and actually the respect it should be given. Like many developers I get paid to do something I love, something that otherwise would be a hobby. Some developers I’ve met do treat it as a hobby even though it’s their job, and this causes some issues with that they churn out. In the CFML world many of us are self-taught and have not had the formal training that other technologies like Java and .Net may of had. This in turn has caused CFML to get such a bad name, we have all heard of and worked with the 5 taggers – people who only use CFOUTPUT, CFQUERY, CFSET, CFLOOP, CFIF and we all know the 9-5ers who come to work at 9 and leave at 5 and aren’t interested in learning how to better their selves and even make their work lives easier.
Software Craftsmanship is for the people who aren’t in those groups or are and want to get out of them. It’s about treating you job with the respect it deserves; it pays your bills and in the current economic climate we’re in it may not be there tomorrow. You don’t want to be out on your ear tomorrow and find it really hard to find a job because 1 there aren’t many CFML jobs out there or 2 because the ones that are out there require a higher caliber of developer then you are today. If you’re a CFML developer today and you learn how to better yourself, even from a basic coding and practices point of view and still stay in CFML it will help you should you need to move to another technically later down the line.
Sandro, told two stories in his sessions that I’ve seen and both have really stuck with me, and I use them to explain to people why Software Craftsmanship should be so important to us all. The first story is about a plumber, (hair dresser, service industry person) and they come to look at the job you need doing, they take a few breaths in and say I don’t know how to do this, but if you give me the money for a course I’ll come back and do the work. For some crazy reason you do this, and they come back do the work and then invoices you for the work even though you’ve paid for the training. This for one doesn’t sound fair or realistic, the plumber knows he needs to keep his skills fresh and he’ll buy books / training on his own shilling and not his customers as it’s his job/work. If you work in a company you may expect this treatment, why? Other people have to invest in their own careers why should you expect it from your employer. It’s your career not theirs and if you don’t met the requirements any more you’re out the door.
The second story is about pay rises, so you’ve started at a new company and after one year you go to your boss and ask for a pay rise. He thinks about it, and says well you’ve been here a year, and you know a lot more about our company and what we do compared to when you started so yes I think you should get a pay rise. You walk away grinning like the Cheshire cat. The following year you go to your boss and ask for another pay rise. This time he thinks, I gave you a pay raise last year as you knew more then when you started, what has changed between last year and now? Nothing? Have you learnt anything more? Are you more valuable to me? No? So they don’t give you a pay raise. You walk out pissed off and blame them for not putting you on any training. Hold up!!! You want them to pay for your training so they can pay you more? Really? There is no such thing as a free lunch and you need to learn that and learn it soon.
If you want to get on in life and in technology you need to spend time investing in yourself. I have a member of my team, I did a deal with them if they put in 4 hours a week of their own time I gave them some company time to match it for training. As well as additional training courses / material and even bought them a book out of my own pocket as I believe a developers career is 80% their own responsibility 15% the companies and 5% mine as their manager I can’t control what they do but I will do what I can to help them if they are willing to help themselves.
If you happen to be a freelancer, you really should start to think about investing in your career and taking the time out to go to conferences outside of your comfort zone and going on training / exchange days and reading as many books as you can, as the market shrinks you want to be the one that is outstanding.
This is just part one of my ramblings about my thoughts on Software Craftsmanship and covers just one area, there are many more areas I want and will cover in the up coming posts.