I was reading a very interesting article on Coldfusion’s Skill Divide by Brian Kotek.
He basically found that CF programmers mainly fall into two extremes those who embrace cutting edge development techniques (and software engineering practices) and those who “embed queries in their display pages”. I think his observations hold true for programmers in general. There are people who content with whatever process in place (main focus is to get jobs done period) and those who seek to improve (get jobs done in better quality with as a result of a better process).
*Side note: I found out some of a company’s (name withheld for privacy and confidential issues) past projects were laid out using HTML tables and these were sites built at least after the year 2000 when surely CSS has accepted as a web standard. I cannot judge on why this was the case, as I wasn’t there when these sites are built. But one very plausible cause is either over worked developers or developers not interested in skill improvements.
I find it hard to believe that anyone who wants to be in the IT industry should want to be in the first category. Nothing is wrong with just aiming “get jobs done period”, cause at the end of the day that what’s management wants, but I think having that sort of mentality will disadvantage the developers themselves in the long run.
So if I want to be a developer who can improve over the time, what should I do? Well firstly, I need to start read up more, I enjoy reading tech blogs (so far I follow some CF-centric blogs) and I enjoy finding out the best practices in software engineering field.
I want to push my fellow workers to their technical limit, read some more, play around with frameworks, do comparison studies on competitors, read some more and share your knowledge with the team. But maybe I am just being naive here, do people have the necessary skills and willingness to learn?
If we are advancing our development process and practices, we will leave some people behind. Brian has similar thought: "This creates a problem. As our development group has kept advancing, we’ve embraced frameworks and design patterns and best-practices… So bringing someone in who isn’t at least somewhat familiar with these ideas is going to require a substantial ramp-up period to become productive.“
If I am advocating new things and everyone else is not on board with me (or just find it too hard to follow), this will just put more workload to me. I think I have already being overloaded with work compared to most of my colleagues (there is only one developer at the office who has more work than me I think -> but he’s top developer in the company, so it’s to be expected :) ).