I thought I would do a quick post before Thanksgiving and things get even more crazy around here!
One of the earliest questions that managers might ask when starting a new portal project is, "Does my team have the skills necessary to pull this off?" Of course you always think they do, but can you help ease the transition and headaches that could be associated with the project. Some companies do not provide any training at all and expect their development team members to pick up new skills as required on the job. This can be very difficult if a team stays stagnate, working only with the same other team members on similar type of projects. Often new blood is required to inject new skills and ideas into the team. At the very least some new project stimulus is required to provide the opportunity to learn new skills.
As some of you may know, I have been involved in a series of article on developerWorks around building portal projects. This series is focused more on the softer side of planning and running a project, rather then the specifics of any one set of requirements or solution. In article 3 of the series, recently published, Ken Polleck and I discuss briefly the roles necessary for a portal project. One of those roles is of course the role of the the developer who is skilled in portal development.
What does this mean, to be skilled in portal development? In brief terms, a good portal developer should know Java and especially J2EE programming. This means an understanding of Servlet and JSP programming at some level of detail. In addition, WebSphere Application Server (WAS) specific programming skills are important. WAS provides a great many interfaces and layers that developers can take advantage of, not only to speed their development effort, but to improve performance and scalability as well. Finally, WebSphere Portal programming has its own particular requirements in understanding the APIs that are available as well as knowing how the application will need to be designed to work well in a portal environment. Additionally, topics such as XML, WebServices, SDO, Security, and perhaps Tooling training can be just as important depending upon the requirements of each particular developer. I also personally believe that developers should know how to install and configure the portal environment, (read portal administration skils) at the very least on their own machine. This knowledge of the basic infrastructure will help them make better design decisions down the road.
How do you get this training? There are actually a number of ways. Not all of your team has to be experts in all areas. There is a base level of knowledge just to be called a developer, but of course some of your team will be more skilled then others. IBM Learning has dozens of courses that can assist in getting a team up to the right skill level. Java, JSF, WebSphere, Portal, XML, WebServices, and SOA, are just a few of the topics that can help some team members learn the latest skills and interact with developers from other organizations, bringing fresh ideas into your project.
Managers may think, "My developers are the best, they can figure it out". We'll guess what? Your right! They can figure it out. Unfortunally the cost of going it alone, may be way more then what it might have cost you to spring for a little training and education up front. Unfortunately some projects may never understand what the longer term cost really ends up being. Many times you can hire some additional subject matter expertise to help with an initial project and provide some good knowledge transfer. Make sure you narrow the focus of anyone you bring on board to help out. Are they there to develop, or are they there to teach and train? In many cases it can be difficult to do both, and neither ends up getting done satisfactory. At the very least ensure you allocate enough time for what you expect.
There are also a ton of tutorials available from IBM Learning and on developerWorks that can be helpful to learn specific tasks or technologies without the travel cost associated with a full classroom setting. I don't know if there is such a thing as a generic roadmap. Every developers skills, background, and requirements are a little different and many times these developers need different sets of skills. Fortunately, not everyone on the team needs to be an exert in every area. Most developers know where they are lacking and what skills they are looking to build. Believe it or not, most of the time they are focused on what may help them better do their job. The down side of this effort is to go from non-Java developer to portal expert, is a hugh effort. There is simply too much to learn in any short time frame, so usually skills are built in incremental steps over several years, before someone can truly be considered an expert
For all portal or wannabee portal developers out there, add it to your resolutions to create an education plan and talk to your manager about training for the new year. Remind him or her or some of the war stories from your last project and how a few weeks of training might have spared everyone a little misery.
For those of you who are not trying to deliver a project before the end of the year, Happy Holidays. For the rest of you, my sympathies, and good luck!