Monday, September 3, 2018

How to Train Your ColdFusion Developer

There are two types of startup entrepreneurs.  Those who love, live and breathe technology and those who don’t.  Both kinds, though, will ultimately have to deal with training their ColdFusion developers as they come on board.  On the one hand, it’s a bit of a hassle, but on the other hand, it’s a chance to shape the culture and expectations of some of your most important resources, your employees.

Be A Guide, Not A Task Master

When hiring a developer, any developer, you’ll have certain expectations. Usually, those are spelled out on the job notice. The thing is, though, that until bots are fully designing and implementing your code, you’re going to have to deal with humans.  Humans have a great capacity for learning new things, particularly when allowed to fail and learn from those failures.  So, encouraging a new developer to bring up new ideas is a plus.  Obviously, few of those ideas will be grand slams until a familiarity with the environment is established, but it is still important to show the new employees what is expected, why it’s expected and how it’s done.  Then, find out if they have any questions. If they never seem to have any questions, ask them to explain the process back and listen to how they describe things.  This will be useful in knowing how your developer’s mind works and how you can work to their strengths.  Sometimes you may have to fall back on the “that’s just how things are done” argument, but only as a last resort.

How does this apply to ColdFusion? Well, unless you’re lucky enough to have access to the perfect ColdFusion developer right off the bat, you’re going to have to train them.  These days, there are tons of code out there that use CF that was written by less code savvy individuals than we’d like to admit.  The fortunate thing is that ColdFusion is a powerful development environment that is easy to pick up. Unfortunately, writing good CF code will take learning additional discipline since you’re not inherently forced into good coding practices to succeed.  Have your employee practice writing code that’ll accomplish a necessary task, then find out why they chose the process they did.  If there is a better way, bring it up.  An understanding of the code use in context will always be necessary.

Be Clear About Expectations and Provide Reference Materials

A ColdFusion developer, particularly a new one, may have a background in other programming languages. This is great, but it can also set up conflict surrounding the use of ColdFusion and why certain things are done the way they are.  Whether one is the ‘right’ way to do things is usually debatable.  It is at this point where it may be useful to have a company code style guide and standard operating procedure in a readily available place for reference. ColdFusion CFML and CFScript are loosely typed.  For a startup, this means that unless you have a reference that spells out what the expectations are, you may have one person using variables one way and another developer using it another way.  While it may work in production, the maintenance time in deciphering someone else’s intention can be costly.   The true value in code is less about the syntax itself and more about getting things done efficiently, but syntax elegantly implemented in a way that your current and future developers can read quickly is priceless.

As for reference materials, there are a number of websites available that can provide the CF specific documentation for syntax and processing. Learn CF In A Week, Try CF, Adobe CFML Reference, CFMLife, etc. are just a few.

Trust and Verify

When a startup is starting up, speed is the name of the game. This is one of the reasons a rapid application development platform like ColdFusion is valuable.  Being able to prototype functionality, build an application and test it quickly is one of the ways CF excels. As mentioned before, this is also something that’ll have to be reviewed before allowing your new developer’s code into production, or even the primary code base.  Code review and QA testing will need to be reviewed and enforced early on.  In many startups, your code is what your business is built on.  Making sure it follows standards and meets expectations before merging it back into your master code repository will be a primary concern.  You don’t want to have to hold your developer’s hand with every project, but creating and enforcing standards early on will go a long way towards keeping your code in check and helping newer developers work well within your organization.

Show Me Your Documents, Please

When you start training your developer, remember that you may have an easier time if there are multiple ways you can explain a concept.  What is means is, you should have your code’s documentation created and made available.  Sometimes a visual representation of the workflow helps to explain a process better than a wall of text.  Hopefully, when starting a development project, you have created some sort of explanation of what you’re looking for and what needs to happen within a program.  If these are created and kept up to date for maintenance purposes, be ready to share this.  If there is no documentation, then get some.  Some CF developers may not see the value in creating formal documentation, but an hour of writing may be what saves your company a day of code exploration during a crisis.

Finally, bear in mind that on boarding a new employee is a process that takes time.  Also, no one process will always work for all employees, but establishing a common baseline will go a long way towards keeping your sanity.  As a startup entrepreneur, you’re going to have a lot to think about.  If you’re not the one personally training new developers, you still should keep these points in mind and make sure that your lead is keeping things in check.

No comments:

Post a Comment