10 Skills Developers Will Need
April 6, 2009 · 12 Comments
An interesting blog post from TechRepublic was doing the rounds on Twitter this morning so I thought I'd comment on it in terms of revelance to the CF community. The blog post was 10 skills developers will need in the next five years. Let's go through each of the ten items in turn...1: One of the “Big Three” (.NET, Java, PHP) I thought it was interesting that the author elevates PHP to the same level as .NET and Java. He means more than just the language (in case you haven't read the article!). I expect some CFers know PHP well and I'm sure some CFers know Java well but I suspect most CFers don't currently hit this point. See also #6. 2: Rich Internet Applications (RIAs) If Adobe's promotion of Flex and AIR hasn't hit you yet as a CF developer, you need to get on board. The author hints at AJAX being part of this point but he's really talking Flash, JavaFX and Silverlight. Fortunately, since ColdFusion integrates so well with Flex, and we as CF developers are being asked to create more complex and more engaging applications, this should be an easy on-ramp for most of us. I expect many of us will score on this point. 3: Web development Ding! Remember, the author is talking to the broader developer community and a lot of corporate developers - even in the .NET and Java space - are not building web applications yet. CFers have been doing this for years - score one for the home team! 4: Web services Ding! How many CFers these days have never consumed a web service and never published one? It's a declining number and we're lucky that CFML makes this brain-dead simple for us. Most of us should score on this one too. 5: Soft skills Always hard for developers but I suspect more CFers interact directly with their customers / clients than almost any other sector of development. Why? Because many (most?) CFers came to CFML from non-programming backgrounds where CFML was "just" a great tool to help them solve real business problems easily. Sure, we all know some CFers who have little or no people skills but I bet many of us score on this one. 6: One dynamic and/or functional programming language Ding! OK, so CFML was not on the author's list but he's really angling at the concepts in these languages. The ability to play fast and loose with the type system, pretty much any of the advanced techniques available with CFCs. You may not yet be very far down the path on dynamic programming techniques but CFML has already put you on the ladder. As the author says "Every top-flight developer I’ve met recommends learning at least one dynamic or functional programming language to learn new ways of thinking, and from personal experience, I can tell you that it works." 7: Agile methodologies When you work in a RAD environment for the web, you tend to adopt a number of agile practices without even being aware of them so even tho' you may think of "Agile" as a buzzword / fad, it shouldn't be all that foreign to you: short release cycles, customer involvement, focus on working software. Test-driven development is picking up momentum in the CF community - another Agile practice. I know some CFers who are long way down the Agile path so you may score on this point. 8: Domain knowledge Many CFers came to programming from the business side. They know their domain well and CFML allowed them to build solutions in that domain. Domain knowledge allows you to add value by guiding the client and by proactively anticipating business requirements. Do you score? 9: Development “hygiene” Bug tracking, source code control, being organized about how you develop code. It still continues to surprise me how many CF shops don't have some of these basics in place. Still, there are several evangelists for SVN, Ant, Trac and so on within our community and over the last few years I've seen a shift towards better practice. Keep it up! 10: Mobile development The author mentions both web development and RIAs as ways to attack mobile development. It may not be common for us now but our close association with Adobe and its huge push into this space gives us a good path to learn how. The author says you should hit at least seven of these ten as soon as possible. So how did you score?