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.

 

3 Responses to Software Craftsmanship – for CFML Developers Part One

  1. Aaron Martone says:

    Couldn’t agree more.

    Even though it’s a godsend if you find a company that realizes the value in keeping its employees trained on the latest and greatest thing (especially in the technological field), as the saying goes, you can lead a Developer to training, but you can’t make them learn.

    It takes a personal desire to NOT end up like the stereotypical developer who learns a language, and then assumes they can skate on that for the next 20 years. Training is a double edged sword, IMO. There is time, money and effort involved in training, but hopefully, you come out a better developer, and can in turn help out your employer by putting those new skills to work at the office.

    Too many times, people get apathetic. They are complacent to stand still, or they simply want to shirk the responsibility of keeping up to date and taking pride in their field by faulting someone other than the person truly responsible; themselves.

    And spot on about CF developers not having an over-abundance of jobs out there for us. As it stands, beggars cannot be choosers, and the best way to separate yourself from the herd is to always be vesting time and effort into making sure you are the creme of the crop.

    On an aside, I am in the middle of teaching myself how to build my own framework in CF. Just a year ago, I would have never have found myself in this position, but I was committed to take my skills forward, even if I had to drag them screaming the whole while. And you know what? I’m glad I’m staying proactive here than reactive. More and more things begin to click and I am beginning to comprehend scalar concepts that will make me a worthwhile developer even in enterprise environments.

    Bottom line, you gotta WANT it.

  2. Preach it. I just hope I can stand up and be counted for. I also like reducing Code Complexity. This term when I researched it has also become a goal in my programming life cycle.

    Thanks,
    Nathan

  3. Will B. says:

    This sounds like something I could really benefit from. I certainly HAVE bettered myself and my skills, but this describes me in some ways. Will watch this and the Google Group!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>