ColdFusion Muse

ColdFusion Security Patches ColdFusion 11 Update 13 and ColdFusion 2016 Update 5

Adobe just released security updates for ColdFusion 11 and ColdFusion 2016. This is a critical security update and you should be updating your ColdFusion servers. The information below is from the CF Webtools operations group. If you need help upgrading your VM or patching your server (or anything else) our operations group is standing by 24/7 - give us a call at 402-408-3733, or send a note to operations at cfwebtools.com. Meanwhile, this info below will help IT staff and DIY types get started.

With ColdFusion 11 Update 12 and ColdFusion 2016 Update 5 there are additional manual updates that are required to complete the security patch. The additional requirements are the same for both ColdFusion 11 and ColdFusion 2016 and the remaining information pertains to both versions. Both updates require that ColdFusion be running on Java version 1.8.0_121 or higher. For reference, ColdFusion 11 comes with Java version 1.8.0_25 and ColdFusion 2016 comes with Java version 1.8.0_72. The Java that needs to be installed is different from the "Windows User" Java client that may already be installed. The installer is available from Oracle. Once the new Java version installed, the jvm.config file for each ColdFusion instance needs to be updated to point to the new Java version installation path. If you're running the Enterprise version of ColdFusion, there's a likely chance there is more than one ColdFusion instance running.

Part of the instructions from Adobe says that if your ColdFusion server is installed as J2EE server then there is an addiction manual configuration that you ned to do. However, every installation of ColdFusion since the release of ColdFusion 10 is a J2EE or JEE installation. What Adobe really meant was that if you are using a third party JEE server and not the built-in Tomcat JEE server.

If your ColdFusion server is running on a third party JEE server such as WebLogic, Wildly, custom Apache Tomcat, etc (Not the built in Tomcat that comes with ColdFusion), then the following step needs to be completed.

Set the following JVM flag, "-Djdk.serialFilter=!org.mozilla.** ", in the respective startup file depending on the type of Application Server being used.

For example,

  • On Apache Tomcat Application Server, edit JAVA_OPTS in the 'Catalina.bat/sh' file
  • On WebLogic Application Server, edit JAVA_OPTIONS in the 'startWeblogic.cmd' file
  • On a WildFly/EAP Application Server, edit JAVA_OPTS in the 'standalone.conf' file

This is one more friendly reminder to make sure your ColdFusion servers are patched! Either patch them yourself, have your hosting provider patch them or if they are not familiar or knowledgeable with ColdFusion contact us at CF Webtools to patch your servers.

As always, if you need help migrating to the next version, scanning your ColdFusion server for security vectors or installing this patch and new Java version, contact your project or account manager directly, or send an email to support@cfwebtools.com. You can also simply respond to this email (or call 403-408-3733).

*Note: ColdFusion11 when it was first released came with a version of Java 1.7.0_nn. Adobe later re-released ColdFusion 11 with Java 1.8.0_25. If you have ColdFusion 11 still running on Java 1.7 I highly recommend that Java be upgraded to Java 1.8. Oracle is no longer supporting Java 1.7 and 1.7 is long past it's end of life. Even though the Adobe instructions for this current security update states that you can run Java 1.7.0_131, I highly recommend upgrading to Java 1.8.

Mary Jo Sminkey: Robust Error Handling Part 3 - Ajax

Part 3 in the super-guru's Mary Jo Sminkey's series on robust error handling. Enjoy!


So in my last post on error handling, I promised in this next one to cover logging of Ajax requests. As more and more of our site involves Ajax requests, this has become an important part of my error logging and debug work. If you want to know how to do this read on!

[More]

"Send us a Developer Oh Lord!" - He cried from his lonely chariot.

p> Yes yes yes! CF Webtools is hiring again. We are looking for 1 to 3 advanced ColdFusion programmers to add to our already large team of CF folks. Here's the stuff everyone wants to know.
  • Yes these are remote development positions.
  • No we are not hiring outside the U.S. (sorry!)
  • Yes the position is W2 with benefits after a short (30 day) trial period.
  • Yes benefits include health care.
  • No our health care is not as good as congress' health care - but it's pretty good for a small company.
  • Yes there are other benefits - 401k, dental, PTOs, disability, life insurance, and hearing from me almost every day.
  • No our developers don't walk on water every day - we save that for the second Tuesday of months ending in "Y".
  • Yes we work on interesting projects and applications accross the board in Insurance, government, health care, finance etc.

We are a company out to build a positive culture and work environment where you can shine and feel good about what you do. We are looking for developers that match our culture of Can-do, Caring, Communication and Competency. Here are some examples of what we expect.

  • You should be able to setup multiple local environments, or at least not be scratching your head at that phrase. Mac and windows are required. Advanced developers do advanced things like (for example) set up an Apache or IIS web site and connect ColdFusion to it. We see this as indicative of your problem solving ability as well.
  • You should be able to work with SVN or GIT (and no we don't want to see your white paper on why GIT is superior).
  • Maintain positive attitude - We are not looking to hear about your pet technology peeves, your problems with Adobe or why the command line is always superior to a gui. If you are not interested in being a net blessing to a larger group (or if a lack of snark makes you queasy) we are probably not a place for you.
  • Maintain and enhance your skills set - you will be given the opportunity to work on lots of code, different versions, platforms, integrations, libraries and SDLC organization and procedure. Everyone of these is a growth opportunity. If that has you licking your chops climb aboard.
  • Balance - We like devs who have a full life. If you enjoy fencing, equestrian sports, skydiving, guitar playing, dog training, macrame, Golf, racquetball, Mandarin, Politics (careful!), family outings, child rearing, school plays, choirs, baking (all activities enjoyed by folks on our team) then we think those things make you a better developer! We aren't looking for 80 hour a week developers slavishly devoted to coding. We are looking for eclectic, interesting people who enjoy coding and want to do it for a living.
Hopefully this helps explain how we operate enough to pique your interest. If you want to take a shot send your resume to jobs@cfwebtools.com or call (402) 408-3733 ext 102 and ask for Jason. We look forward to hearing from you!

Up to $1000 Referral Fee!!

CF Webtools has revamped its awesome referral program to make it awesomer - or even more awesome. As you may know we have been offering generous referral bonuses to developers for years. If you bring us business we try and reward you. In 2016 CF Webtools paid out nearly $100,000 in referral bonuses! But our old program was hard to understand so our marketing guy - Curt - has twisted my arm to make better.

Here's the Deal

If you bring us business you get $500.00. Any business. A mom and pop store, someone selling pet insurance, an app for measuring dog poo by volume and color - we don't care. If it's business and we make a sale, you get $500. But wait there's more. If said business turns into at least 150 hours you get an additional $500! So, you can make $1000 just by name dropping.

The Part Curt Doesn't Like

Now I will have to avoid Curt for a few days after I say this, but if you bring us a whale - a customer with regular work involving at least half a developer (hopefully the top half) I will be even generouser - or even more generous. Call me and we'll make a deal. I promise we'll make it worth your while.

CF Webtools Pledge

So, your grandma is selling needle point online and you want to refer her to us but you are afraid. Maybe you fear we will treat her poorly, or that we won't take "needlinggrandma.com" seriously. Be reassured by the following Muse Pledge to you:

We will Reward You.

We will Make you Proud.

We will not Embarrass you.

We want to make you happy you turned over work to us. We will make every effort to insure it is a good experience.

What sort of thing qualifies?

CF Webtools has a large and diverse staff. Don't assume we won't be interested just because we shout "ColdFusion" all the time. We have a dedicated operations group for managing large technology stacks. We do IOS and Droid development. We manage complex databases and are familiar with many different environments. Give us a call and find out.

It's complicated

Ok, so you have a problem client or former employer where you had a bad experience. We get that. From month to month we are often embroiled in handling a "hand off" from a developer or company where things went south. We specialize in working hard to smooth things out for the customer and we do it without throwing the former developer under the bus. We will concentrate on the work and do our best to make you look good. If you don't want us to mention your name we won't. If it will help and you say it's ok we will. You will find us easy, dare I say charming to work with.

How do I make it happen?

  • Call Curt Lovegren at (402) 408-3733 ext 104 or...
  • Email your lead with as much information as you wish to cfleads@cfwebtools.com.
Before we call or email your lead we will contact you via email (or phone or carrier pigeon, whatever you prefer) and discuss the details and how to move forward. Our approach can involve you directly or we can leave you out of it - it's totally up to you.

We'll look to glean any information that can help us be of benefit to the prospective customer. Just reach out and let our staff do the rest. Easy, right?

Building a Robust Error Handler Part 2

The Muse is fortunate to have a number of very talented and smart developers work for him. Mary Jo Sminkey has been with CF Webtools for several years now and we simply love having her around. She's a fantastic developer and a fantastic resource. You might catch her at cf.objective() where she will be speaking next week.

Meanwhile, you might remember part 1 of this series – Building a Robust Error Handler. Below is part 2 in that 3 part series. Enjoy!


Well it's taken a couple years to get around to it, but at long last here is part 2 of my error handling post! Of course, in that time I've continued to work on improvements to my error handler, so many changes that I'm going to need to break THIS post up into multiple parts as well. I'll try not to take too long to get the final part out to you!

So in part one we looked at things like using the error handler for both global errors as well as in cfcatch blocks, dumping all the available scopes while scrubbing them for any sensitive data, keeping track of already reported errors to prevent receiving tons of duplicate emails for the same error, etc.

In this post (part 2) we will expand the functionality of the error handler and talk about strategies for use throughout the application. Let's start with how to handle errors "in depth".

[More]

Customers and how they Contribute to Estimating Angst

This is the moment the developers have been waiting for. After having thrown both the developer and his application under the bus, we are going to make room under there for the customer. Now if you are customer reading this, take heart. While I'm going to say some things that will hurt, in the end I'm going to rub salve on the wound and we will all sing Kumbaya together. Here we go.

The Muse finally has a number - a project that we've estimated at 350 hours. Of course, this estimate is not correct. Why? Because no estimate is ever correct. Please refer back to the first post in this series. The majority of estimates are wild guesses. We've done our best to find out all we can about the system, requirements, priorities and every little nitpicky detail we can imagine. Our estimate is based on that discovery. If all of our dozens of assumptions are correct then our estimate is rock solid. But of course, there are still things we don't know and many of our assumptions are simply off. Much of what we need to know we simply can't know until we dig in and start doing the work. For that reason we will give Bob a range of hours - say 275 to 375 hours - and dozens of caveats that he will epically fail to hear and absorb. What he will hear is the number 275 and that will be the basis of his expectations.

Let's check in with the Muse and Bob as they finalize the project.

  • Muse: Well Bob, as you can see by the painstakingly detailed 13 page document in front of you, we estimate 275 to 375 hours. Have you read the document?
  • Bob: I read... I got to page 2... uh... I did see the estimate at the end. So, 275 hours?
  • Muse: [caveat 1] 275 hours to 375 hours. You can expect it to be somewhere in the middle.
  • Bob: 275 eh? Wow that's a lot. But I get everything I asked for?
  • Muse:[caveat 2] To be clear you get everything we have carefully outlined and detailed in the proposal. If it's not in the proposal it would be "out of scope" - not included in this estimate.
  • Bob: Well, I can probably swing 275 as long as I can have it in 6 weeks.
  • Muse: [caveat 3] Well the timeline depends on resources and other factors. This is probably a one-woman job. It will take her around 4-5 weeks to do the core programming, then QA, revisions etc. You are probably looking at 8 to 10 weeks. [Caveat 1 again] It's 275 to 375 hours not including out of scope items that tend to arise.
  • Bob: Hmmm.... ok, I think we can do it. But just one thing. Did we discuss adding reporting to this application?
  • Muse: ...
  • Bob: Muse... you there? Did we lose our connection?
  • Muse: I'm here Bob... I was just asking my assistant to quickly remove sharp objects from my immediate vicinity. Now about your reporting...

Most clients are not quite as bad as Bob. Still, every contractor or development shop owner has a story remarkably similar to the one above. I know most Muse readers are developers. I can see you now in my mind's eye with righteous indignation and clenched fist saying, "You tell them muse, clients are the worst!" But actually, this is not their fault. Your customer has his or her own domain of knowledge. I have a customer who is a commodity trader. I expect him to know the difference between a bull call and a butterfly spread, but I do not expect him to know the difference between MySQL and MS SQL, how the cloud works, or why it takes 10 hours to program something. The basic issue is threefold:

  • Communication
  • Expectations
  • Cart and Horse problems
Today let's tackle the first two.

[More]

Developers, Can't Live With 'em, Can't Deprecate 'em

When last we checked in with Bob and the Muse (part 1 - applications) they were trying to come to grips with Bob's complex... I mean his application's complexity. We are now at the stage called "developer involvement" where he and the Muse are speaking with Sugar Sweet - the Muse's crack developer (and the name of a girl I dated in college). Let's go live to the conference call (be careful not to spook them).

  • Muse: Ok, we've outlined changes to the onboarding and broken it out into 3 programming tasks. Sugar will get us an estimate but it seems straightforward.
  • Sugar: Muse, a moment.
  • Muse: Sure what is it sweetie? (Don't judge me - it's her nickname so it's not harassment)
  • Sugar: I've taken a look at this application and the entire thing will need to be rewritten.
  • Bob: Wait what? That sounds expensive.
  • Sugar: I'm afraid we have no choice Bob. It's written in tags and the variable naming is all wrong. Plus the previous developers used... sorry, this is hard, I'm getting a little choked up... cfqueries instead of stored procedures. [small sob]
  • Muse: I'm going to step in here while Sugar get's a drink of water. We will work to retain as much of the legacy code as we can and focus only on security issues Bob. In other words we Won't refactor your code unless it's necessary to protect your investment. How does that sound.
  • Sugar: [sounding a little hurt] But the queries... and our best practice guide!
  • Muse: I think we can work with what we have here...
  • Sugar: This is so hard. I feel beet down. I'm not sure I cane work here anymore.

Developers come in all stripes and their views will greatly impact your estimate. Some of them have a religious devotion to certain technologies, libraries and approaches to development. To be a developer (at least on my staff) requires high aptitude, intelligence, breadth of knowledge and confidence. Those traits generate towering personalities like the Muse (whose lack of modesty is his only real flaw), and of course egos. They have opinions and they are usually not afraid to use them. Their defensive ferocity increases exponentially the closer you get to their favorite technology. If you don't believe me try yelling "Windows rules" at an IOS conference (and hope it's not an open carry state). For this reason, it's always a good idea to have non-developers involved in your estimates. Around here we call them project managers. They use their knowledge of the developer and the customer to "find the sweet spot" that meets the needs of the application and its stakeholders.

Muse Wisdom: Estimating is usually a joint effort.

Of course, not every estimate needs the once over by a project manager, but larger projects or enhancements should always be a collaboration. Developers need to be able to justify the estimates they provide to someone who knows them well enough to understand how they might get tripped up. Here are a few "types" of developer estimators.

The Refactorer

Sugar is in this camp. She will like over-estimate every task on older code because she sees any legacy code as debt that needs to be paid. To her this isn't optional, it's essential. In the real world it's definitely optional. Is script better than tags - in most cases yes (don't email me). Is using jQuery better than custom JS libraries? I believe it is. Are stored procs better than queries? Usually they are (though I've seen some god-awful stored procs). Best practices, frameworks, indentation, file naming conventions - these are all important parts of competent development. But when approaching legacy code there is a lot to consider. For example, has the customer managed to get a return on his initial investment? If he has, he may be ready for a rewrite. If not, we may need to work with what is there and not break the bank rewriting huge swaths of code. The business decisions rule the day. It's important for developers to understand the economics in play.

The Blithe Underestimator

Estimating is about imagining what could happen. What if the user doesn't check the box - what happens then? What happens when a user doesn't follow your pattern and puts in letters where numbers are indicated? Most developers react to these conditions with frustration. Who would do that? Why would a user use the application in that way when it's clearly designed to be used this way. A good estimator considers all these what-ifs. Estimating is also about accounting for what you still don't know. It's about challenging your assumptions. The underestimator concentrates on what he sees in front of him. His estimate comes with the caveat "if all my broad assumptions are correct". A good project manager will know the developer well enough to A) challenge him on his assumptions and B) add hours to the final estimate to insure it's adequate.

The Over-Complicator (Chicken Little)

Some developers are the opposite of the blithe underestimator. Instead of broad assumptions they build a huge list of unknowns and caveats. How do you know if you are an overcomplicator? Here's a little test for you. Let's say uou pull up Google and the page fails to load. Order the following list by probability.

  1. Google is down
  2. The entire internet is down
  3. It's the zombie apocalypse
  4. You've typed in "gloogle.com" accidently
  5. Your wireless connection is bad
  6. The network is under attack
  7. Your mom changed the wireless password again (for those you working in your basement)
  8. The NSA is monitoring your computer
  9. DNS is not responding
If anything but number 4, 5, 7 or 9 is near the top of your list you may be an over complicator.

Some time ago I was helping a Muse reader with an error via screen share. On the screen the error debug information had query code and indicated a malformed query. I asked what he had tried. "I tried a new DB driver, checked the network connection and I've been googling how cached execution plans work." I took a closer look at the debug output on the screen, highlighted a portion and said "You are missing a comma after this column." A good manager will know his devs well enough to spot an over estimator and adjust estimates accordingly.

The Technology Hammerer

Finally, there is the developer for whom everything is about tech. The saying goes that when your only tool is a hammer everything looks like a nail. Developers need to be reminded that what they are solving are behavior problems, not (typically) technical problems. When we build a new search engine for a company selling nuts and bolts, the problem we are solving is not faster indexing, better sorting, or more granular pattern matching. nope. It's the basic problem of folks rummaging through bins trying to figure out thread and length. We are trying to make that task easier.

The tech hammerer will turn to the technical aspects of a project over and over because that is her comfort zone. She will suggest products, approaches and solutions that may or may not solve the basic problem underlying the project.

Tech hammerers usually need to learn that it is highly beneficial to gather domain knowledge about your customer. What does the company do? How do they make money? (that's the most important question for a dev company like ours) What sort of problems do they solve with their application? These questions inform our decisions in ways that mere technical questions cannot. Moreover, they tend to make us better partners - better at suggesting changes that save or make money for the customer. "What if we chose to do it this way Bob, would that save your users a step? Do you really need this field, it seems like we have this covered with earlier data. Explain how this will help your user - I want to understand."

Conclusion

The main takeaway here is that developers and their personalities have an impact on your estimates. Estimating is a team effort and requires give and take from several sectors. In our next post we are going to throw customers under the bus - gently of course.

Why is Estimating So Dang Hard

Let's go Live to Bob and the Muse

Consider this typical interaction with a prospective customer:

  • Muse: Tell me what you need Bob.
  • Bob: I have an application hosted on ColdFusion 9. I want to upgrade to the latest version and move it to the cloud.
  • Muse: That's a good choice. The latest version of ColdFusion performs splendidly in the cloud and is much easier to manage. (yes the Muse uses words like "splendidly").
  • Bob: Great! How much will it cost me.
  • Muse: Well.... [lengthy pause]
  • Bob: Did I lose you? Muse... Hello...
  • Muse: Oh I'm here. I have some questions. What kind of application is it?
  • Bob: It's a customer portal where folks log in and use our whizzbang service.
  • Muse: Do you use any third party APIs?
  • Bob: Pbbbt... of course not.
  • Muse: Excellent - how about jar files. Do you remember using any jar files in your code to access Java stuff?
  • Bob: Jar files? What in the ham sandwich is a jar file?
  • Muse: It's a way you package Java classes. You might use it to do some complicated Java thing that ColdFusion can't handle on its own.
  • Bob: Uh... [Lengthy Pause]
  • Muse: Did I lose you? Bob... hello? Maybe we'll put a pin in that one.
  • Bob: Sorry my eyes just glazed over there for a second. Anyway, how much did you say?
  • Muse: Well I'm not sure I have enough information to uh...
  • Bob: Oh! and we also need to upgrade our thingy that posts reviews to Amazon and Yelp. Something about bees... apiary or something.
  • Muse: API Library maybe?
  • Bob: That's it!
  • Muse: [banging head on the desk] ok how about you walk me through the app.
  • Bob: Sure ... but... how much will it cost?

Now it's not the Muse's fault that he's having a hard time communicating. After all, if it was easy I'd be flipping burgers and still driving my '72 delta 88 from College. And before you get all up in Bob's grill, it's not his fault either. We IT natives tend to use lingo as if everyone has been exposed to the concept of an "API" or "java integration" or a "mouse".

So I'm going to let you in on a little secret. The bald truth is that development companies usually have no idea what something will cost even after you describe it to them thoroughly. The most accurate estimate for enhancements will always come from the original developer, and even then, they are often guessing wildly.

Muse Wisdom: Don't trust quick estimates or high levels of certainty!

Chances are if someone is throwing numbers around without asking a lot of questions and without being nervous about "guaranteeing" the cost, you are about to enter a relationship you will regret. Think Vegas chapel and too much bourbon and you'll get the idea. To help further the conversation about estimates I offer this 3-part blog series on "The hard task of estimating". My hope is that in the end, readers who are customers and readers who are developers will both come to understand a little more about this maddeningly ticklish task that we all must do.

Estimating is hard and estimates are often unreliable because of three main areas where issues arise:

  • Applications
  • Developers
  • Stakeholders or Customers
In this post we are going to talk about your application.

[More]

Job Opening - ColdFusion Developer, ORM, FW1 & AngularJS - Jan 2017

Yes it is that time again. The Muse wants to add another talented developer to his aggregate brain. If you think you might qualify send your resume (yes, we would like a resume) to jobs@cfwebtools.com Please note: All of our developer jobs are remote. That does mean you need to be stand offish. It means you work from home. We prefer you take a shower and get dressed each day, but honestly we have a don't-ask-don't-tell policy on that. In addition all our positions are US based (sorry Indian friends, we love you but we are sticking stateside for now) and all of our jobs are W2 with benefits. Here's the "hard skill" list.

  • Strong ColdFusion skills of recent vintage. We will test you so no faking it. :)
  • Strong SQL skills. With my apologies to the Mongo/Couch/NoSQL and ORMish folks in the audience, this is still vital skill virtually everywhere. You need to be better than average in at least 1 of the 3 main platforms (MySQL, MSSQL or Oracle).
  • Frameworks - in particular we are looking for FW/1 for this go around.
  • ORM - yes I know I was snarky about ORM above but as it happens we do need this skill this time.
  • Angular - for this particular job we are going to need some Angularjs expertise.
  • Something else - if all you know if ColdFusion then you are going to struggle here. Our devs know lots of things even if they specialize in ColdFusion - hardware, .NET, PHP, JS - pick a feature.
Our jobs pay well and include benefits (health, life, 401k, disability etc). We have a great track record of attracting and keeping talent.

What else?

I'm glad you asked. CF Webtools has four core values.

  • Can-Do Attitude - We are helpful and collaborative with our clients offering solutions and problem solving.
  • Caring community - We are a caring community of family, faith (if you are into that sort of thing) and friendship.
  • Competence - We exude confidence and competence in technical areas.
  • Communication - We over communicate to each other and our clients, preferring sharing and transparency over silos and black boxes.
Our goal is to build a positive culture with rewarding work that you can be proud of. We hire experts and pay them well. As such we need some things from you too. Take a look at this list from our last job posting.
  • You should be able to setup multiple local environments, or at least not be scratching your head at that phrase. Mac and windows are required. Advanced developers do advanced things like (for example) set up an Apache or IIS web site and connect ColdFusion to it. We see this as indicative of your problem solving ability as well.
  • You should be able to work with SVN or GIT (and no we don't want to see your white paper on why GIT is superior).
  • Maintain positive attitude - We are not looking to hear about your pet technology peeves, your problems with Adobe or why the command line is always superior to a gui. If you are not interested in being a net blessing to a larger group (or if a lack of snark makes you queasy) we are probably not a place for you.
  • Maintain and enhance your skills set - you will be given the opportunity to work on lots of code, different versions, platforms, integrations, libraries and SDLC organization and procedure. Everyone of these is a growth opportunity. If that has you licking your chops climb aboard.
  • Balance - We like devs who have a full life. If you enjoy fencing, equestrian sports, skydiving, guitar playing, dog training, macrame, Golf, racquetball, Mandarin, Politics (careful!), family outings, child rearing, school plays, choirs, baking (all activities enjoyed by folks on our team) then we think those things make you a better developer! We aren't looking for 80 hour a week developers slavishly devoted to coding. We are looking for eclectic, interesting people who enjoy coding and want to do it for a living.
Hopefully this helps explain how we operate enough to pique your interest. If you want to take a shot send your resume to jobs@cfwebtools.com or call (402) 408-3733 ext 102 and ask for Jason. We look forward to hearing from you!

Clarion Call for ColdFusion Developers (Sep. 2016)

CF Webtools is looking to add ColdFusion developers to our expert team. We provide an engaging community, good salary, full benefits and the opportunity to work on interesting code of infinite variety. You have to be proficient in ColdFusion of course (we will test you). You have to have more than just ColdFusion however. Every advanced developer has additional skills sets. We look for expertise in these as they add to our ginormous aggregate brain. Here is an incomplete list of the kinds of things we look for.

  • SQL language skills -If you have to learn one other thing learn this. For you forward thinkers who love ORM and Mongo, sorry. SQL is simply not going anywhere.
  • Java Script libraries - The most popular are jQuery and Angular. Mobile versions of JS libraries are also a plus. If you've never used jQuery get cracking!
  • Bootstrap, Responsive Design and CSS - CSS skills go along with managing your front end code. We aren't looking for designers, but you should be able to work within these techs on the front end.
  • Integrations - If you've worked with popular APIs using REST, oAuth et al that's a plus.
  • Mobile Dev - If you've done native dev on IOS or DROID we like that too!
  • Familiarity with the Stack - more about this below, but if you don't know how CF runs on various platforms, what version of Java it uses, and how it connects to Tomcat, these are areas you should fill in.

Enough of the Hard Stuff - What about Soft Skills?

I'm glad you asked. CF Webtools has four core values.

  • Can-Do Attitude - We are helpful and collaborative with our clients offering solutions and problem solving.
  • Caring community - We are a caring community of family, faith (if you are into that sort of thing) and friendship.
  • Competence - We exude confidence and competence in technical areas.
  • Communication - We over communicate to each other and our clients, preferring sharing and transparency over silos and black boxes.
Right off the bat you can see we need open, competent, helpful and positive people for our team. Here's a list of some other things that often trip up developers looking to join. Hint: Use this as a primer for your interviews.
  • You should be able to setup multiple local environments, or at least not be scratching your head at that phrase. Mac and windows are required. Advanced developers do advanced things like (for example) set up an Apache or IIS web site and connect ColdFusion to it. We see this as indicative of your problem solving ability as well.
  • You should be able to work with SVN or GIT (and no we don't want to see your white paper on why GIT is superior).
  • Maintain positive attitude - We are not looking to hear about your pet technology peeves, your problems with Adobe or why the command line is always superior to a gui. If you are not interested in being a net blessing to a larger group (or if a lack of snark makes you queasy) we are probably not a place for you.
  • Maintain and enhance your skills set - you will be given the opportunity to work on lots of code, different versions, platforms, integrations, libraries and SDLC organization and procedure. Everyone of these is a growth opportunity. If that has you licking your chops climb aboard.
  • Balance - We like devs who have a full life. If you enjoy fencing, equestrian sports, skydiving, guitar playing, dog training, macrame, Golf, racquetball, Mandarin, Politics (careful!), family outings, child rearing, school plays, choirs, baking (all activities enjoyed by folks on our team) then we think those things make you a better developer! We aren't looking for 80 hour a week developers slavishly devoted to coding. We are looking for eclectic, interesting people who enjoy coding and want to do it for a living.
Hopefully this helps explain how we operate enough to pique your interest. If you want to take a shot send your resume to jobs@cfwebtools.com or call (402) 408-3733 ext 102 and ask for Jason. We look forward to hearing from you!

Yes we ARE Looking for ColdFusion Developers - Send Resume!

Feb. 2016 Job Posting

As many of my readers know, we generally look for new developers every 2 to 3 months. So the time is come again.

Soft Skills

Yes these come first for us.

  • Ownership - You see the big picture and work to accomplish goals for the client rather than checking off individual tasks.
  • Eclectic Tech - You are always picking up widgets, gadgets, languages and libraries to improve your effort for the client.
  • Community - You genuinely love others and are committed to their professional and personal well being.
  • Autodidact - You learn naturally and organically and learning motivates you.
  • Overcommunicator - You enjoy breaking down complex tech ideas into concepts a customer can grasp and use to make decisions. NOTE: this is a core component for us!.
  • Sense of Humor and Fun - You are quirky and fun with a gentle sense of humor that allows you to laugh as well as encourage.
And here are the Tech Skills:
  • Advanced ColdFusion - Yes you will have to complete coding challenge to prove it. no exceptions. :)
  • Environment Setup - You should know how to accomplish a basic local setup including web server (IIS and Apache), CF Application server, checking out code from Git or SVN, using an Eclipse environment etc. You should not be a campaigner for Mac or Windows or Linux - you will end up being exposed to all environments. We don't judge here. :)
  • Advanced Database Skills - You need MySQL, MSSQL and/or Oracle skills for writing queries, stored procedures etc. You should have more than a passing familiarity with DB architecture and design.
  • Some diverse technology skills - Mobile skills are a plus, jQuery, Angular, Node, Java - bring something else to the table.
For more info on what it takes to be a CFWT consultant check out my post on You Might be a Muse All-Star.

Frequently Asked Questions

  • Do you allow telecommuting? Yes all our development positions are full-time remote positions.
  • What sort of dev environment can I expect? We are an eclipse shop and rely on SVN, Jenkins, and an agile like approach to development. Having said that, as an outsource development company we frequently integrate with external teams. Yes, Windows and IIS will no doubt be in play for you.
  • What Industries are you working in? We have sites we develop and maintain in the Financial sector (stocks, options, commodities, retirement planning and management etc.), Tax planning, Civil Government, Insurance, Medical, Pharmaceutical, retail sales, real estate, etc. We have a very broad client list.
  • Will I get to meet the Muse? Of course, but it's probably not all it's cracked up to be.
  • Do you use frameworks? Yes - all of them all the way back to Fusebox 2. We work on new projects in common frameworks like Coldbox, FW/1 or DI/1, but we also support a host of legacy applications done on custom frameworks or with no framework at all. So get ready for multiple challenges.

We pay a competitive salary and benefits. CF Webtools maintains sites on virtually all ColdFusion and Database platforms with dev and QA servers and full SDLC. Our work is challenging, invigorating, sometimes frustrating, but rarely boring. Our development group is full of witty, interesting, overcommunicating and extremely talented developers. It's a true mentoring community. If that sounds like a place you would like to work (and you meet our high skill-set standards) send your resume to jobs@cfwebtools.com - or contact the Muse directly if you like. Tweet me @cfwebtools or use the "Ask a Muse" link on this blog (I'm easy to find). You can also call 402 408 3733 and ask for Mark or Jason - we'll be thrilled to speak with you about our opportunity. The official job posting may be found on our corporate site at the Job Openings page.

Muse Tips

Be prepared to talk about your overall work habits, life experiences and approach to people. Don't fall into the trap of riffing on this tech or that tech or putting something down. Tell us about new things you are doing - complex and interesting problems you have solved and new tech you are excited about.

Expanding again! Looking for Advance ColdFusion Developers

CF Webtools is expanding (again) and looking for high quality ColdFusion developers. If you have some mobile skills you might end up at the front of the line.

Here are the soft skills we are looking for.
  • Ownership - Your focus is not on your job description or shifting responsibility but on outcomes that satisfy the client.
  • Eclectic Tech - You think about things up and down the technology stack and are not just focused on your skills or favorite tech.
  • Community - You love to share with others as well as engage and learn. Love is an intentional word! We don't use it casually - we mean it.
  • Autodidact - You have evolving skills and you are constantly picking up new ones.
  • Overcommunicator - You explain technical concepts to non-technical folks without condescension. You thrive on copious detail. This is a core competency for us. You have to be relational with our customers.
  • Sense of Humor and Fun - You like to laugh and hang around with a funny people - without the need to put anyone down. No kidding this is a requirement! No Eyors!
And here are the Tech Skills:
  • Advanced ColdFusion - we will test you. We are looking for folks who know more than syntax on a web page. Everything you do with regard to the test is being evaluated. That means not just the skills you portray but getting connected to the VPN, using the IDE, the kind of questions you ask and how you respond to feedback.
  • Environment Setup - You should be used to setting up sites in a local environment (i.e. on your workstation) using CF, IIS and/or Apache. We can help of course and sites can be idiosyncratic and require some effort. But you should not be scratching your head over how to organize code, SVN, Eclipse, IIS setting etc. That needs to be a part of your core skills.
  • Advanced Database Skills - I don't mean you need to know how to build, manage and restore DBs. But you should know how to write a complex query and/or a stored procedure for one or more of the "big three" DB platforms.
  • Some diverse technology skills - At the moment we are looking for mobile skills (responsive design, bootstrap, jQuery mobile, angular etc.).
For more info on what it takes to be a CFWT consultant check out my post on You Might be a Muse All-Star.

Frequently Asked Questions

  • Do you allow telecommuting? Yes all our development positions are full-time remote positions.
  • What sort of dev environment can I expect? We are an eclipse shop and rely on SVN, Jenkins, and an agile like approach to development. Having said that, as an outsource development company we frequently integrate with external teams. Yes, Windows and IIS will no doubt be in play for you.
  • What Industries are you working in? We have sites we develop and maintain in the Financial sector (stocks, options, commodities, retirement planning and management etc.), Tax planning, Civil Government, Insurance, Medical, Pharmaceutical, retail sales, real estate, etc. We have a very broad client list.
  • Will I get to meet the Muse? Of course, but it's probably not all it's cracked up to be.
  • Do you use frameworks? Yes - all of them all the way back to Fusebox 2. We work on new projects in common frameworks like Coldbox, FW/1 or DI/1, but we also support a host of legacy applications done on custom frameworks or with no framework at all. So get ready for multiple challenges.

We pay a competitive salary and benefits. CF Webtools maintains sites on virtually all ColdFusion and Database platforms with dev and QA servers and full SDLC. Our work is challenging, invigorating, sometimes frustrating, but rarely boring. Our development group is full of witty, interesting, overcommunicating and extremely talented developers. It's a true mentoring community. If that sounds like a place you would like to work (and you meet our high skill-set standards) send your resume to jobs@cfwebtools.com - or contact the Muse directly if you like. Tweet me @cfwebtools or use the "Ask a Muse" link on this blog (I'm easy to find). You can also call 402 408 3733 and ask for Mark or Jason - we'll be thrilled to speak with you about our opportunity. The official job posting may be found on our corporate site at the Job Openings page.

Rant

Not everyone is a good interviewee. That doesn't mean we discard you out of hand. We don't have a checklist of items that immediately cause us to strike you off the list. We expect you to be human. However... you should be an "advanced" developer capable of working with our team in a way that adds value. That means there are certain things that leave a bad taste in our mouth. Because the muse wants everyone to do well, I'm going to give you the keys to the kingdom in the following advice :

What does "Advanced" remote CF developer mean to the Muse and his team at CF Webtools? It means we won't have to hold your hand to:

  • Deal with hardware - We know that things happen, but we expect you to be able to maintain a dev environment and be able to solve your individual hardware issues. That's the price of being able to work from home and not have to spend an hour a day in traffic. :)
  • Deal with VPN and networking - We can help, but if you don't understand networking, you should get up to speed quickly. Remote development means you need a fast, reliable network and very good technical understanding of networks and VPN.
  • Deal with web servers and your local environment - This is an area where we are increasingly less flexible than we used to be. We expect developers to be well versed at setting up sites and dealing with the nuances of a CF application in a local environment.
  • Deal with your IDE issues - You are expected to know, use and learn CF Builder integrated with SVN or Git. We like integrated team environments. If you have another favorite IDE (sublime or whatever) that's great. You can even use it. But when we work with you we will expect to see CF Builder and we will expect you to be expert at it.
  • Deal with your soapbox - You will likely be required to work within a windows environment at some point. The Muse, who has 9 or 10 computers including Apple's latest and greatest, likes and uses Windows. You don't get points from me when you elbow me with your inside anti-MS, Pro-Apple jokes, or when you put a dollar sign in Micro$oft. Indeed you will find that you don't get points from me for needling any technology. We expect enough maturity from you to realize that your opinion about technology is a tiny part of an overall business effort. In fact, as some helpful Muse advice for life in general: Be "UP" on many things and "DOWN" on very few. Your success will never be dictated by how effectively your criticize someone or something. But it may indeed be dictated by your conscious choice to encourage and uplift someone else. If you are one of those folks who loves the inside joke that lets you be snarky and superior let me paraphrase John the Baptist and say, "Repent for the kingdom of the Muse is at hand!" Actually I heard a rumor he was a Presbyterian.
We have 2 legs of inquiry - technical and cultural. Technical interview dwells on your hard skills and cultural on your soft skills. Hard skills are "Pay to Play" - without them you don't get past the test. But soft skills are where we gain separation. We spend a great deal of time in our "cultural interview" trying to tease out attitudes that can help or hurt our staff. We have a very definite "type" of person we are looking for - helpful, highly communicative, work/life balanced and eclectic. So be forewarned - we want positive people who like others, like technology and understand the big picture. You now know everything you need to succeed should you choose to apply. Good luck!

Do I Sound Like a Brokent MP3 player? Time to Hire Again!

My brother Bill tells the following story. His oldest son at the age of 6 or 7 was harassing him about something the way children do. It might be a toy or a snack or an instance that you switch off of PBS and go back to Nickelodeon. Whatever the case he was going on an on - persisting in his request until finally, having had enough, Bill said, "Wriley, be quiet! You sound like a broken record."

This stopped my nephew who looked thoughtful for a moment and then asked, "Dad, what's a broken record?" He had never heard the skippity scratchy sound of a defective vinyl disk except perhaps on the radio as DJ flippity flunk manipulated a turn table.

Well at the risk of sounding like a broken record (not to mention using a deprecated metaphor), it's time to hire again. That's right - the Muse is recruiting high quality developers to add to his superior staff. You get to work with me every day (even if you don't want to) and put up with puns and groaners - as well as hyperbolic praise from time to time. At this time we are looking for straight up senior ColdFusion developers with the usual spate of ancillary skills (DB, jQuery, bootstrap, ajax, angular etc). If you think you fit the bill and are ready for the challenge send your resume to jobs@cfwebtools.com. We will be thrilled to speak with you and to get to know you whether we hire you or not. :) This is full time telecommuting (U.S. States only). Because I lack the energy to once again list all the benefits and nuances of working with CFWT I will refer you back to my previous post from a couple months ago (when we hired 4 new folks). I look forward to hearing from you ColdFusion folks and making new friends and colleagues.

ColdFusion, SSL, SNI, SAN and Wildcards - Stuff You Need to Know

The Muse welcomes back his friend and colleague (and super genius guru) Wil Genovese with an timely post on SSL and Certificate types. If you have had your head in the ground (or perhaps you have been guest staring on "Naked and Afraid" or "Survivor") you may have missed the hubbub surrounding TLS, SSL and changes and support. There is a lot going on and it is more important than ever that you get your hands around the issue to keep your users safe. Wil has done Yeomen's work identifying the types of certs, the versions of ColdFusion and Java that support them, and work arounds and caveats for those of you who need them. You will likely want to bookmark this one. Take it away Wil.

[More]

Time to Hire Again!

After a longer than usual hiatus CF Webtools is looking yet again for qualified advanced developers. We are looking now for both ColdFusion help and Flex, AIR and Phonegap help. Here's the good news blurb about CF Webtools:

  • Never Boring - our staff is lively, energetic, positive and usually funny (well... they think they are funny). Among our eclectic group are golfers, motorcycle enthusiasts, belly dancers, photographers, gamers (shocking I know), fencers (as in touche'), rock climbers, fisherman, fireman, musicians, family people, single people (mostly hot), dog people, cat people, PC people and Mac people. We even have the mother of a fashion model. With all that energy it's a wonder we get anything done. But the truth is we all love what we do and we are stronger together than separately.
  • Professionally Stimulating - Stay with us long enough and you'll work on every version of ColdFusion back to version 5 (or at least you'll hear stories). We have large legacy codebase's that we maintain, as well as pure greenfield projects. We have mobile (lots and lots of mobile), Mura, FW/1, Home Grown, Model Glue, Mach II, Fusebox, ColdBox, and a box of crackers in the break room. We use MS SQL, Oracle, MySQL, and Sybase. We have apps using maps, apps using web services, apps using APIs and API's using our apps. If there's a "way to do a ColdFusion application" we have seen it, done it and probably maintained, refactored it and maybe invented it. So if you are a lover of programming, programming languages and ColdFusion in particular, you will love it here.
  • Interested in Balance - as noted above we are not looking for developers who are so entrenched in a technical life that they have no time for anything else. Professional developers with high productivity and high aptitude are above all balanced. They love ColdFusion and can't wait to code (most days) but they also love eating out, movies, spending time with their kids, going to the gym, cruises, photography, and vacations. We have found that the developer with a whole life (I mean balanced and full of loving relationships - not the insurance) is the one that fits our staff, communicates well, and thrives here at CFWT.
  • Fully Remote - If you live and work in the big City, let CF Webtools give you your life back! We offer full time remote work with benefits to developers in the U.S. If you are used to commuting this can put 2 hours back into your life, not to mention finally getting you off of Lipitor.

You might have noticed I'm a little over the top when it comes to my company and staff. But we believe in who we are and we are looking for folks who like it and want to be a part of it.


Here are the soft skills we are looking for.
  • Take ownership of a problem. This involves continuing to think about solutions and outcomes even when you think it's not your responsibility. Meeting the need and fixing the problem has to be center stage.
  • Think around all angles of a problem for all possible solutions. This involves considering details within and outside of your expertise moving up and down the tech stack.
  • Love the tech community as a place to engage and learn. I'm not glib about love. I believe and practice it!
  • Have evolved skills in an eclectic mix of technologies and like to learn new ones.
  • Explain technical concepts to non-technical folks. This is a core competency for us. You have to be relational with our customers.
  • Know how to honor non-technical people for their own skills and expertise. Also a core competency here. If we make fun of end users we are gentle about it. We respect and honor our customers.
  • Can laugh, chortle, guffaw and otherwise split a gut with a group of insanely funny people - without the need to put anyone down. Actually some of them are mostly just insane, but they all think they are funny.
  • Are anxious to be a part of a close knit team who encourages and believes in you.
And here are the Tech Skills:
  • Advanced ColdFusion - note, we will test you. We are looking for folks who know more than syntax on a web page. You should be well versed in the guts of complex ColdFusion application building. Also note, everything you do with regard to the test is being evaluated. That means not just the skills you portray but getting connected to the VPN, using the IDE, the kind of questions you ask and how you respond to feedback.
  • Advanced Database Skills - I don't mean you need to know how to build, manage and restore DBs. But you should know how to write a complex query and/or a stored procedure for one or more of the "big three" DB platforms.
  • Some diverse technology skills - we don't necessarily dictate what that is but we are looking for folks with a broad swath of skills. Right now knowing and developing in .NET, doing IOS/Droid development, Phonegap, Flex, AIR, or troubleshooting CF servers and server admin are skills might give you an edge in your application. But if you come to us with several skills that we don't need at the moment you would still be an attractive candidate.
For more info on what it takes to be a CFWT consultant check out my post on You Might be a Muse All-Star.

Frequently Asked Questions

  • Do you allow telecommuting? Yes all our development positions are full-time remote positions.
  • What sort of dev environment can I expect? We are an eclipse shop and rely on SVN, Jenkins, and an agile like approach to development. Having said that, as an outsource development company we frequently integrate with external teams. Yes, Windows and IIS will no doubt be in play for you at times.
  • What Industries are you working in? We have sites we develop and maintain in the Financial sector (stocks, options, commodities, retirement planning and management etc.), Tax planning, Civil Government, Insurance, Medical, Pharmaceutical, retail sales, real estate, etc. We have a very broad client list.
  • Will I get to meet the Muse? Of course, but it's probably not all it's cracked up to be.
  • Do you use frameworks? Yes - all of them all the way back to Fusebox 2. We work on new projects in common frameworks like Coldbox, FW/1 or DI/1, but we also support a host of legacy applications done on custom frameworks or with no framework at all. So get ready for multiple challenges.

We pay a competitive salary and benefits. CF Webtools maintains sites on virtually all ColdFusion and Database platforms with dev and qa servers and full SDLC. Our work is challenging, invigorating, sometimes frustrating, but rarely boring. Our development group is full of witty, interesting, overcommunicating and extremely talented developers. It's a true mentoring community. If that sounds like a place you would like to work (and you meet our high skill-set standards) send your resume to jobs@cfwebtools.com - or contact the Muse directly if you like. Tweet me @cfwebtools or use the "Ask a Muse" link on this blog (I'm easy to find). You can also call 402 408 3733 and ask for Mark or Jason - we'll be thrilled to speak with you about our opportunity. The official job posting may be found on our corporate site at the Job Openings page.

Rant

Not everyone is a good interviewee. That doesn't mean we discard you out of hand. We don't have a checklist of items that immediately cause us to strike you off the list. We expect you to be human. However... you should be an "advanced" developer capable of working with our team in a way that adds value. That means there are certain things that leave a bad taste in our mouth. Because the muse wants everyone to do well, I'm going to give you the keys to the kingdom in the following advice:

What does "Advanced" remote CF developer mean to the Muse and his team at CF Webtools? It means we won't have to hold your hand to:

  • Deal with hardware - We know that things happen, but we expect you to be able to solve your crashed drive or video card problem on your own.
  • Deal with VPN and networking - If you don't understand networking, you should get up to speed quickly. You can start by reading the stuff on ColdFusion Muse related to networking. Meanwhile we should never have to "suggest" that you "try pinging" to see what IP address is resolving, or ask you if you are "internal" or "external" to a network.
  • Deal with web servers and your local environment - Yes we know you are an "Apache" person. Congratulations we are all very proud. Meanwhile, the environment is usually dictated by the client and not by your faith your favorite stack. You should also know and be familiar with IIS. When I say familiar it means you will have installed IIS in at least a local environment, set up ColdFusion within IIS, and developed against it. Customers love windows even if you don't. Frankly, the Muse wonders about this hubbub.
  • Deal with your soapbox - While we are on the subject, we are really thrilled that you are a "Mac" person. We know it's flashy and sexy and fast and makes you giddy to have a new iWhateverTheLatestIs. However, you will likely be required to work within a windows environment at some point. The Muse, who has 9 or 10 computers including Apple's latest and greatest, likes and uses Windows. You don't get points from me when you elbow me with your inside anti-MS, Pro-Apple jokes, or when you put a dollar sign in Micro$oft. We expect enough maturity from you to realize that your opinion about technology is a very small part of an overall business effort. The same is true of your favorite source control - sometimes we use Git, sometimes SVN, Sometimes something else (it's client dependent).
  • Deal with your IDE issues - You are expected to know, use and learn CF Builder integrated with SVN or Git. We like integrated team environments. If you have another favorite IDE (sublime or whatever) that's great. You can even use it. But when we work with you we will expect to see CF Builder and we will expect you to be expert at it.
We spend a great deal of time in our "cultural interview" trying to tease out some of these unhelpful attitudes. So be forewarned - we want positive people who like others, like technology and understand the big picture. You now know everything you need to succeed should you choose to apply. Good luck!

More Entries




Blog provided and hosted by CF Webtools. Blog Sofware by Ray Camden.