Examining my ColdFusion job search

My post on "Are there really ColdFusion jobs?" got a comment which was echoed by Sean Corfield on his blog (ColdFusion Jobs? Really?). It seems that I didn't answer my own question. In truth, I was using it as a jump off point but looking over the job attempts I've had recently, there are lessons to be learn in all of them. I'm not including things like my ongoing ColdFusion / SEO contract nor the emergency, server on fire calls I get. I'm only looking at the things I've actually sent my resume to:

  1. A mid term city contract - This is through a nice headhunter and is a waiting game. City contracts can take a long time, from the initial call for resumes to finally choosing someone to finally starting up the job. Advice: Learn patience
  2. Another city contract for some basic maintenance of a site with a few added features. The department was moving to .Net and wanted their current application to reflect some of the new features that would be in the final system. I was called in as a last minute, emergency resume by the same headhunter as above. When I was interviewed, the person must have been reading off of a script, and some of my responses were not the scripted, expected ones. In addition, I offered some advice for the server, trying to be helpful. I'm betting all of that lost me the contract. Advice: Learn when to shut up and just answer the questions simply. There are times when the interviewer expects open creativity and times when he expects set, standard responses. Know which time is which and control yourself.
  3. A perpetual request from an ecommerce company who really wants to pay the rate of a kid right out of college. I don't even bother sending my resume to them, especially as I know them and they always want to pay nothing, even for emergency contracts. Advice: Know when to walk away.
  4. A contract or two which I sent my resume into a few days after it was posted. Some really nice ones which I'm sure had been jumped all over in the first minute. Advice: you snooze, you lose.
  5. A contract which was mislabeled as being in NY but was actually in another state. The interview was quick and nice but the bottom line was that I would not move and the posting was in error. Advice: It's not your fault if the ad is wrong.
  6. One or two perpetual ads listed on multiple sites which are probably headhunters fishing for resumes. I bit. Advice: Sometimes an ad is just bait.
  7. Another ad or two on a site which required signing up and signing in. This is a bigger scam than the resume fishing. The more 'real' people that sign up to a site, the more that site can advertise as reaching. The site can also advertise as having X number of resumes on file. It's resume fishing plus. And I've never gotten a response from one of those types of ads. Advice: A scam is a scam is a scam.

There are also ads that I've seen which I have not pursued due to what I perceived as a lack of skill. I don't think I have enough .Net skill to take a ColdFusion to .Net transformation project. Of course, I'd be morally against such a contract unless I was in danger of losing a limb or the like. Just because a contract asks for every skill in the book doesn't mean you actually have to have them. Putting into your resume or cover letter that you are "familiar" with a language or technology may get you the job. You don't have to be an expert in everything. You just have to judge when a job will need familiarity and when it will need real knowledge. Advice: Know what you know well and what you know not so well.

Finally there have been a few ads that I didn't send a resume to but did contact about location. A New Jersey job right across the river from New York is reachable by public transportation. A job in the New Jersey Pine barrens is not. I just missed a job in Staten Island because I waited too long thinking it was not reachable. It was actually a lot closer than I thought. Advice: Know where things are.

Again, these are just my suggestions based on specific cases and I'm positive that there are sites out there with this advice and more. Now all I have to do is find the time to look for and read these sites. :)

Are there really ColdFusion jobs?

Are there really ColdFusion jobs out there or are they teasing us?

As of today, I'm married 14 years. This means that I've been using ColdFusion for 14 years and 1 week. In those years I've done everything from create some of what is considered best practices to helping build a framework to consulting with Allaire and Macromedia on the development of the language. Basically, my resume is stacked with ColdFusion. So if this is the case, why can't I get a ColdFusion job?

Let me rephrase that. Why are there so many ColdFusion jobs out there that never seem to be filled even though qualified people post to them? I've seen jobs come up on job boards and I've seen people post to them (sometimes including myself). I've seen the same jobs come up again and again, week after week, even after resumes are sent in. So what's up? Are the resumes being ignored? Is there a sinister plot out there to make ColdFusion job hunters feel rejected?

Rather than suspect that people are against us, lets instead wonder if we're to blame. Most job postings request one or more of the following:

  1. Job Requirements
  2. Current Resume
  3. Salary Requirements
  4. Cover Letter
  5. Code Sample

Job Requirements

Just about every job posting has requirements. It's not enough to be skilled in every requirement the job mentions, you have to explicitly state it and give examples. Do you know SQL? Then make sure one of your resume items mentions the SQL work you've done. Also, make sure your resume's skill set not only says SQL but mentions specific, high level features such as stored procedures. Assume that whoever is reading your resume can not make any assumptions.

Current Resume

Many of us have not updated our resume in a while. We may only list full time work we've done along with a vague "consulting" instead of detailing every contract. We may also list things that are outside of direct work, such as sites we do for free or as a community service. This isn't good enough. Every resume sent to a job has to be unique. Some past jobs should be removed. Others should be exemplified. The resume should read like it was written specifically for the job...because it was.
Oh, and if a job posting says to send your resume, send it. Don't include a link to is in Google Docs or on a site. If they're expecting an attached document, make sure it's there.

Salary Requirements

This tiny little feature is usually skipped by many job respondants. They either have no clue what to ask, are afraid of giving a number, or are too focused on the other parts of the job offer. My advice - Never skip this and never under bid. Judith just missed an editorial contract because she gave a realistic assessment of what the job would require and what it would be worth. The message she got back was that her offer was too low. If you're a professional then it's better to overbid than underbid. This shows them that you think your worth it and gives you room to negotiate. Just don't go too far over what you think is expected.

Cover Letter

This is where I usually fall down. What do you say in a cover letter? Hi, I want this job? Rather than hear me speak about it's requirements, let me have Judith tell you what she thinks.

Judith's words on Cover Letters

Cover letters are more important than most people realize. They are the best way to make a first impression and distinguish yourself from the job-seeking horde (your competitors for the job). A cover letter must pull your reader in and convince him or her that you are something special. It's your "elevator sales pitch". It should be short (no more than three paragraphs maximum) and targeted to the specific job. It should highlight what makes you, the job seeker, the best candidate for this job. It should make them want to read your resume. Many recruiters read the cover letter and don't even bother reading the resume if they're not impressed.

Code Sample

This is the one place where technical people fall down. They want to send some sweet code that just makes them look like God's own prophet. Well your holiness, think about it first. Does the code have anything to do with what the job post is about? Are they looking for a SQL guru and you're sending them the most perfect site scraping code around? As with the current resume above, make sure they're getting a code sample that fits exactly what you think they want. Take it one step further and try to make the code sample solve part of the job requirements. It'll make them think they're getting a bargan as you've already done the same type of work.

In Closing

This is just the tip of the iceberg when it comes to resumes and if you're looking for a job you should read up on how to write an effective one. And to paraphrase Chris Rock "If you have to give a friend a ride, get a white (collar) friend". You should never send off a resume without having someone else look at both the resume and the cover letter to make sure it fits the job. And finally, to quote Rodney Dangerfield "When you're using the name, don't give it a bad name". You're representing ColdFusion when you respond to a job. If you look bad, it reflects on ColdFusion and its users in general.

Wrong ColdFusion Religion

This is a realization that has been thrust upon me over the years. I belong to the wrong ColdFusion religion. My religion is that ColdFusion was designed for clean, understandable applications written in a quick and easy style by people of all levels of programming skills. This is NOT the current religion of Frameworks and OOP.

I was burnt a while back when daring to suggest that a framework could be altered to fit a client. I see that I was right then and I feel I'm still right now. I'll use a framework when it's required and will only use parts when they're required. I'll use OOP when it's required and only parts when they're required. I'm not going to accept the dogma that says that frameworks and OOP are the one, true way to go.

And the new golden child, ORM? Well I'll use it when it looks right for a project and reject it when not. And when (not if) this opinion gets people upset, well...too bad.

Yes, the above is a rant and one that's been sitting in reserve for years. It was true then and is even more true now.

CFML Builder by Railo

Pure Speculation

This is not reality. This is simply speculation. By looking at a few logical points, one can easily trace a path from Mark Drew and CFEclipse to a new open-source editor produced by Railo Technologies. As of now, such a product, let alone a concept, does not exist.

Points of Logic

The speculation leading to an open-source CFML editor follows a few simple points of logic:

  • Mark Drew is currently the driving force behind CFEclipse.
  • CFEclipse is an open-source CFML editor built on Eclipse
  • CFEclipse has kind of stagnated due to the need for development resources.
  • Mark Drew now works as the CEO of Railo Technologies UK.
  • Railo is an open-source CFML engine produced by Railo Technologies.
  • Adobe is creating a ColdFusion editor based on Eclipse code-named Bolt.

Tying It All Together

If Railo Technologies decided to put some resources behind Mark Drew with the express purpose of expanding out CFEclipse, they could easily do so. Such a product, which we'll refer to as CFML Builder, would be quick to market simply because it's built on a pre-existing codebase. This would be an open-source equivalent to Bolt, much as Railo is an open-source equivalent to the ColdFusion server.

How Do We Make It Happen?

As this is all speculation, we have no idea if Railo Technologies is actually doing this or not. But we can convince them that this is a good idea. Contact them. Ask them if there's any thought of such a product. Don't badger them, but put the idea in their heads. If 1,000+ ColdFusion programmers all ask about such a product, the chances of it becoming a reality are greater. The idea here is to show them that this is something that the community desires.

What I Want Out of It

I'm an unabashed HomeSite user. I've tried to use CFEclipse over the years, and just could not get into it, especially as it didn't do what I needed. If a few simple things were added to an editor, I would move. The main thing I use in HomeSite is the right-click Expression Builder. After that, I use the tag wizards and the help. I know all the tags; I know all the functions. But for some obscure ones, being able to see the exact spelling or arguments is useful. The ability to see things like the format options for dateformat(), timeformat(), and numberformat() is also a big reason for using the Expression Builder. I'm sure others have specific features of HomeSite which they truly enjoy, and you can find numerous posts from ColdFusion-Talk and various blogs discussing it. On the whole, I don't see the features that I want as being insurmountable, and I'm sure the features that others want would also be rather simple to put in. All that's needed is the resources to make it happen - resources that Railo Technologies could provide.

Adobe ColdFusion IDE announced

Ben (Forta for those that don't know) just announced that Adobe will be releasing an official IDE for ColdFusion, codenamed Bolt. Yes, official and yes from Adobe. You know, the people that have been accused of not caring about ColdFusion.

Yes, ColdFusion is still alive and those tech pundits that think otherwise will have to start singing a new tune.

You can sign up for beta access at the Bolt section of Adobe Labs. You can also sign up for the beta of the next release of ColdFusion (codenamed Centaur) at the Centaur section of Adobe Labs.

Fusion Authority will have an article up about this real soon.

The subtle pen, the invisible editor

I am the subtle pen, the invisible editor. Few know me for my work but it touches many without their knowledge. I do not have the professional editorial eye of Judith or Dana and they rarely leave me anything to do. My eye is for the small modification to a sentence, the missing word that helps connect someone to what their reading. My eye is the eye of others and how to make what they are reading comfortable. My eye is unseen but watches all that we print.

Discredited magazine publisher at war with Adobe

A discredited and SYStematically CONniving magazine publisher has fired yet another salvo at Adobe today in their usual manner. This involves taking a blog post, re-branding it as coming from their "news desk" and altering the title to fit their vendetta. The post in question was BlueDragon Open Source - Launch Date Announced by Alan Williamson about how the New Atlanta team is working hard to get a public release ready for display at cf.Objective() 2008. Informative and straight forward. The re-branded version had the same title with a single alteration, a prefix of "ColdFusion Killer".

At no time did Alan say anything about the open source BlueDragon being a ColdFusion killer. It's not something that's been said by anyone...other than the publisher in question.

Really guys, this is getting old and stale. Just because Adobe stopped advertising with you doesn't mean you have to commit fraud to get back at them. Lame.

ColdFusion 8 Per App Settings - Mappings

According to the documentation for this feature, Per App mappings allows you to dynamically set "logical aliases for paths to directories on your server." This sounds great but the code example in the documentation is wrong and this leads to a lot of frustration.

The first problem is that the docs show how to set a mapping for an application but not how to use it. We could experiment a bit and eventually find out the exact syntax needed except for the second problem - the example code given to set the mapping is wrong.

The documentation says to use the following to set a mapping of "MyMap" pointing to the location "c:\inetpub\myStuff".

<cfset this.mappings["MyMap"]="c:\inetpub\myStuff">
If we place a file called test.cfm into the "c:\inetpub\myStuff" directory we should be able to include it using standard cfinclude syntax. The problem is, no matter how we try, we can not get this to work.
<cfinclude template="MyMap/test.cfm">
<cfinclude template="/MyMap/test.cfm">
<cfinclude template="#MyMap#/test.cfm">
<cfinclude template="/#MyMap#/test.cfm">
<cfinclude template="this.mappings.MyMap/test.cfm">
<cfinclude template="/this.mappings.MyMap/test.cfm">
<cfinclude template="#this.mappings.MyMap#/test.cfm">
<cfinclude template="/#this.mappings.MyMap#/test.cfm">
<cfinclude template="this.mappings['MyMap']/test.cfm">
<cfinclude template="/this.mappings['MyMap']/test.cfm">
<cfinclude template="#this.mappings['MyMap']#/test.cfm">
<cfinclude template="/#this.mappings['MyMap']#/test.cfm">
Every one of the attempts above results in an error. This leads to a ton of frustration and a search across the net for working examples. The problem with that is that there are no clear cut examples showing how to make this work.

The solution lay partially in a blog post by Sean Corfield (Scazu Powered By ColdFusion 8) where he shows how he created a number of dynamic mappings for his application. In his example code he added a forward slash before the name of the mapping, something not mentioned in the ColdFusion documentation. This is the key. This single character makes the difference between frustrating failure and a successful feature. Adding the slash we get an setting of:

<cfset this.mappings["/MyMap"]="c:\inetpub\myStuff">
and a usage of
<cfinclude template="/MyMap/test.cfm">
Frustration solved.

So to recap, ColdFusion 8 allows an application to have dynamic mappings. These are defined in the application.cfc using a syntax of this.mappings["/MyMap"] where MyMap is the mapping name. Once set, the dynamic mapping is used like any other mapping with a syntax of "/MyMap/...".

One fast note - We can use any name we want for a dynamic mapping even if the name is in use by a mapping set in the administrator. The only restriction is that if we try to set a dynamic mapping with "/", an error will be thrown. We always have to have some text after the forward slash.

Flex Authority is not in the building

We're coming out with a Flex magazine along the same lines as the Fusion Authority Quarterly Update. One of the first steps in publishing a magazine is coming up with a good name. Flex Authority is a great name. Problem is, it's being squatted on and the squatters (a European company being represented by moniker.com) won't even talk to us unless we offer at least $5,000.

On one hand I'm rather pissed as they're just sitting on the domain with the idea that it'll be worth something and they can sell it. On the other hand, it's much like buying a piece of land to resell later for a profit. The problem is, while waiting to resell, that land is barren and not only looks bad but brings the value of the community down. The same applies here.

Flex Authority was once an Adobe Flex site. It gave value to the community. Now it's a vacant lot gathering weeds and makes the entire community look bad. Unfortunately, spending 5k for a domain name has no return for anyone in the community at the moment and the domain is just going to waste. I'd buy or trade for it but the squatters aren't interested in anything but cash. I've offered 2k, free advertising in the Flex magazine, a trade for www.satanstool.com and the result was silence.

If I knew that the name Flex Authority would add to the success of the Flex magazine then I'd think seriously about buying it but publishing is like buying grenades in an alley. You never know if you got a good one till you try it. :)

And I really don't want to encorage squatters by giving them any money. Schmucks

Confirming your address for spam

I just posted an idea up to the iMS list and got back an email from a list member asking me to confirm that I'm a human making a post. I rarely respond to these requests but on a whim I decided to check the domain that was making the request. The result was a failure. No website for the domain the mail was supposed to go to. This got me thinking.

A spammer values confirmed email addresses over all others. In the past, this confirmation came from people trying to unsubscribe from a spammer's list. This was quickly seen as a verification ploy and few do this anymore. So how would a spammer go about getting verifications for emails? Easy.

They subscribe to every mailing list they can and then set up a 'confirm' script to capture any list posts. Anyone who posts to the list will get a confirm message and most people just click the confirm without thought. The result is a list of confirmed email addresses that can then be used or sold.

The more I think about this and the more I write, the more I realize that this is a very powerful technique that can easily be automated. Just find a site that tracks mailing lists and set a bot to subscribe to all of the high traffic ones. A bot monitoring Yahoo and Google groups will do the job. I'd say the code to do this from start to finish should take someone less than a day using CF.

Scary

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9. Contact Blog Owner
House of Fusion | ColdFusion Jobs @ House of Fusion | Fusion Authority