Contact Us Today!   |   + 1 (301) 424 3903



State of the CF Union Survey 2016 - Results Part II

(This is part II of the State of The CF Union report - which was so long it would not fit in the 32k max size for posts! You can read Part I of the State of the CF Union Survey 2016 here.

Table of Contents

Types of Deployments Being Used

Used for Building REST APIs

CF Team Size

Company Size

Comments

Full Survey data

Types of Deployments Being Used

 

We are still seeing the cloud growing in importance this year, but it is still play catch up. The In-house deployment got the most votes with 58%. Second spot is managed servers, while third is VPS. The Amazon EC2 is being used by 21% of voters, while 16% use shared hosting.

Used for Building REST APIs

Among the survey participants, 30% said they don't use REST at all. There are 22% who use home-grown, while Taffy.io got 15% of the votes. ColdBox REST got 13% votes and 4% votes for FW/1 REST. The rest of the participants say they don't use CFML for REST APIs.

CF Team Size

Over half of  CFers work in organizations with 2-10 other ColdFusion developers. With the rest in larger groups. If you work on CF alone in your company I recommend reaching out to other CF developers at conferences or online via the Slack channel or FB/LI groups.

Company Size

ColdFusion continues to be used in all sizes of organization. Ranging in size from one person shops, mid-sized companies to Fortune 500 companies, universities and government departments.

Comments

We received 68 write in comments from the survey participants. Thanks for those and for everyone taking the time to fill out the survey! Here are some of them below. There is a mix of joy of using CF, concern over declining us, happiness about the rise of open source Lucee CFML and some suggestions for improving the survey next year (we are listening!).

“We love CF and have no plans to move off it. We have yet to find anything faster for app development. For us the fact that it's 'tag' based, I guess you'd say and not a scripting language per se, is an advantage over developing in more 'modern', script or language based environments. We're a small company; we need to be able to be quick on our feet, and CF lets us do that.”

"We're testing our apps w/ CF 12 pre-release."

“Keep CF alive! We love it!”

“Lately it seems that some of the traditional anti cf bias that we hear from older developers is not as strong with younger developers.”

“Some general observations. Adobe either needs to invest more in Coldfusion or kill it off. We seem to be in a state of limbo with an understaffed Adobe CF development and product team that seems to be out of touch with the developer community.”

“Still using and love ColdFusion. Easy and fast development to deploy a myriad of web solutions easily.”

“I use CF10 for work and Lucee for my personal projects. I no longer use cfquery and instead use stored procedures called via the cfscript syntax exclusively.”

"Lucee for testing code and CF 8 for an old production system."

"Migrating to Lucee as servers are replaced. Adobe CF is no longer cost-effective."

"I use whichever version the client has. I run CF11."

"Lucee saved CFML"Lucee saved CFML"

"Lucee all the way now"Lucee all the way now"

"We will be updating to CF 11 (or 12 if it comes out before I get around to the upgrade)."

"Moved to Lucee after working with ColdFusion for a while. Much prefer Lucee."

"Lucee 5 is my prefered"

"Switched everything to Lucee and never looked back"

"Switched all our Railo servers to lucee"

"All CFML servers are now in maintenance mode. Upgrades are only made for security and compliance requirements. No new CFML development is taking place."

"I keep hearing that CF is going away...that's stressful considering all the things we've created, but it seems the company wants to move to other platforms, like ASP.net. I'm not an administrator, so our server and cfml engine is a guess."

"Please make cf popular, unsecure feeling while working."

“Still an awesome language, with some awesome people developing in it, just shame there's too few of us”

“Based on Gartner research indicating ColdFusion is at the “Dusk of Obsolescence,” Boeing Information Technology declared the ColdFusion product as “Legacy” for web application development. No new application development for ColdFusion technology is authorized. Where the heck is Adobe and why aren’t they working with the Boeing Company to overturn this?”

“We are very happy with Coldfusion, and it helps us accelerate development in many ways. Just want to make sure it stays around.”

“It takes a bit of effort to find ColdFusion on the Adobe website! And it is misunderstood by many who simply hate it and don't even know why... I say get it out of Adobe's hands and into some other company that can appreciate the beauty of it and remarket/rebrand it to compete head on against .Net, PHP, et al.”

“This Survey is good information to what we should know about in CF-world. Great!”

“Thanks for "supporting"/caring about CF!”

“What about next time we include some questions to capture: - people's enthusiasm for CFML; eg. why do you prefer using CFML - what the state of people's projects are; are you maintaining, migrating from/to or building new apps in CFML - people's involvement in OS; eg. are you using or contributing to CFML related OS projects”

“You forgot continuous integration.”

“I didn't notice any mention of the CFML Slack group, but this has been an indispensable help for me since it was started. Being able to interact with so many key people within the CF community has been a breath of fresh air and I feel that I am pushing myself to be a better CF developer as a result of this.”

“I think ColdFusion is still relevant, but the gap between developers and the CF Dev team is getting wider and because that, seems like more people are moving from CF to Lucee or away from CF all together. The use of Slack Channel has helped bring the devs together and we have Anit from Adobe to try to bring us all together. Looking forward to how Raijin turns out and how we can influence the next version of CF.”

Full Survey data

You can check out the full details of the survey results and any write in answers and comments in the  State of the CF Union survey 2016 - partial results page.

Get part I of the State of the CF Union Survey 2016 here.
 

 

State of the CF Union Survey 2016 - Results Part I

In this year's State of the CF Union survey report, we have detailed breakdowns of tools and techniques used by the top CFML developers around the world. This year we had 602 responses to the survey, which is up over last year.

Before we begin with the results, we'd like to thank everyone who participated and responded to this year's survey. And a special thanks to Brad Wood who helped me edit the survey questions and reviewed the results with me.

And in the unlikely event that you are new to ColdFusion. It is a development platform for creating modern web applications on the JVM. The CFML language has tags that resemble HTML syntax for templating HTML and script that resembles JavaScript syntax for writing business logic. It is designed to be powerful, expressive and easy to get started coding in. Many features are built into ColdFusion that require add ons for other languages.

Table of Contents

CFML Engines Used

Type of CFML

CF Server OS

Browsers/Client Platforms

Databases Used

Code Frameworks

Javascript Libraries

CSS Framework Used

CFC Dependency Injection Framework

Persistence Frameworks

Testing and Mocking Frameworks

Code Reuse

Source Code Control

Tools/IDEs Used

Browser Dev Tools

CFML Usage

OO Usage

Other Languages/Environments Used

Attendees of ColdFusion User Group Meetings

Conferences Attended by Developers

Mobile Development Frameworks Used

CFML Challenges

Caching Solutions

Miscellaneous Frameworks

Monitoring Tools

(Part II)

Types of Deployments Being Used

Used for Building REST APIs

CF Team Size

Company Size

Comments

Full Survey data


 

CFML Engines Used


 

CF11 is now the most used CFML Engine with 51.8% of the votes. CF10, which was in the top spot in 2015, is now the second most used CFML engine. The open source Lucee Server is coming up fast in third place. BlueDragon Commercial got the lowest of votes, the same with last year's result. “It is dead Jim.”

I am surprised by how many developers are still using CF 9 or earlier. CF 9 went end of life in December 2014 with no more security patches being issued by Adobe. Ditto for earlier versions. If you are running CF 9 or earlier you are just asking hackers to steal your data and crash your server.

While we didn’t list the upcoming CF 2016 (aka CF12) in our survey as it is not released yet, some developers are already trying out the beta version on their apps. Partly to try out new features and also so they can influence the future direction of ACF.

Type of CFML

 

The result is no different compared to last year's. Enterprise is still the most used CFML engine among the survey respondents. Which indicates how much ColdFusion is used for enterprise development and hosting mission critical apps.

For me one of the most useful Enterprise features is separate instances. This let you host different collections of websites in different CF instances and if one instance runs slow or even crashes the others are not affected. This is great for keeping “bad” apps from upsetting “good” ones. Or just for keeping resource hogs like reporting from slowing down other apps.

CF Server OS


 

Most developers are still using Windows for their server with 83% of votes. Linux came second with 41% of votes and Mac with 15% votes.

While Linux may have security or cost advantages, the commonality of Windows admins and servers makes it a common choice for running CF on top of. In addition many CF shop use MS-SQL Server which is another reason for using Windows. Just be sure you keep your Windows server patching up to date to prevent new hacker exploits, as this is a major way that servers get compromised.

Browsers/Client Platforms

 

The top three browsers are neck and neck in being supported by applications. Chrome is just ahead  with 94% of votes, followed by Firefox with 93% votes and Internet Explorer on the third spot with 91% votes. Safari comes up with a respectable 62% and Opera is way behind at 26%.

Interesting app support for mobile is growing with both iOS and Android being supported by 50% of apps. If your users are out on the streets or just in the corridors of your office building, you should look at supporting mobile browsers. In the CSS Framework Used part of this year’s survey most developers are using Bootstrap, which is a good example of a responsive CSS framework that makes mobile and desktop browser support from one code base easy.

Databases Used

Most developers who participated in the survey are still using MS-SQL Server, taking the top spot with 78% of votes. The open source MySQL got the second spot at 55% votes.

SQL Server is the most common database supported in businesses, can handle larges amounts of data when correctly tuned and has an easy-to-learn interface, so no surprise that is is the go-to database for ColdFusion. However saving thousands of dollars on licensing by using the open source MySQL has obvious appeal. And as MySQL features, GUI options and industrial strength performance have been catching up with SQL Server over the past few years, more developers are using it.

Some CFML developers, who are evangelists for the open source movement, see MySQL as part of a CF alternative to the popular all open source LAMP stack; using the open source Lucee in place of PHP to provide the CFML application server.

(FYI there is a free version of MS-SQL, Express, which works well for smaller databases. Thanks Russ for pointing that out!)

Honorable mentions this year go to MongoDB for leading the NoSQL document based database movement in the CF world. And for MariaDB, a MySQL fork, that provides open source clustering with Galera - we have seen several clients this go to this set up for more reliability and geographic automatic distribution of data.

Some 8.5% of CFers still run apps on Access. A bad idea for any public sites due to security and performance issues but an easy way to start an intranet app if you don’t have other databases available. As the interface to SQL Server is so similar to Access and the upsizing process is straightforward I don’t see the point in remaining in Access these days.

Whichever database you use make sure you keep its patches up to date and lock down any insecure features, such as the ability to run shell scripts from SQL. SQL injection is the number one way web applications get hacked, so you want to protect against that too in your database code and CFML.

Also before you complain about the slowness of your database or CF code and throw money at more memory or CPUs, consider that the main cause we see of slow apps in our optimization work is poor SQL and unoptimized databases.

Code Frameworks

 

FW/1 and ColdBox are joint top frameworks with 28% of votes each. A lot of participants still use custom/home grown code frameworks, which got the third spot. And the first ColdFusion framework, Fusebox,  is falling behind.

If you are not using a framework then consider it as a way to organize your code to make maintenance easier and to provide building functionality for your app so you don’t have to re-code it every time. The advantage of a pre built framework over a homegrown one are that there is a community of other developers using it who can help you out if you get stuck and that others are adding new features for you.

Javascript Libraries

 

jQuery is again the most used Javascript library this year, same as last year. It got a total of 93% votes, while Angular JS taking the second spot with 32% votes. Using jQuery is almost universal these days. It provides cross browser support for working with the HTML DOM, AJAX, form validation.

Angular takes a more radical approach, replacing the static DOM model with its own dynamic programming system build on top of JavaScript. It provides all the features you want for creating modern web apps on top of a ColdFusion backend.

CSS Framework Used

 

As we mentioned early, the leading CSS framework is Bootstrap with 74% votes. Why? Because it makes creating responsive web apps that will run on desktop, tablet or browser from one code base easy.That it works well with the most popular JavaScript library, jQuery, helps too. There are also BootStrap components for Angular.

CFC Dependency Injection Framework

 

50% of the participants are not using any CFC dependency injection frameworks which blows my mind. Unless you only have a few CFCs you need some way to test and mock out objects while you build them. And lets you easily swap out one implementation of a service for another without affecting other code. If you are new to DI this stack exchange answer give some background.

The top DI framework is Wirebox, which 20% of developers are using. It works well with the other “box” frameworks. The FW/1 family of components DI solution,  DI/1 - Inject One, is nearly as popular with 19% of votes. Really if you are using a lot of CFCs you should use one of the dependency injection frameworks.

Persistence Frameworks

 

Most of the participants are not using any persistence frameworks, which is weird considering OO Usage question where 90% of developers are doing some OO coding. Means that the majority don’t use OO for a data layer between the application and the database.

For those persisting data in objects nearly all use the built in ColdFusion ColdFusion ORM* (Hibernate). Transfer (nice explanation of ORM) and Reactor which were popular with OO first came to ColdFusion are nearly dead.

* ORM = Object Relational Mapper. It generates and populates CFCs that are Objects that represent the data in your application based on an XML configuration file. From there, it is able to automatically insert, update, delete that data into, and out of your database, without you having to write any of the SQL or CFML to do it. (Text from above Transfer link)

If you think that your database might change radically in the future or you love objects to do repetitive data work for you, then you should be using ORM.

Testing and Mocking Frameworks

 

The results are exactly the same as last year's. Most developers are not using any testing framework for test automation. Which given how much Test Driven Development improve your code quality is surprising! (TTD  is where you write the test first, then write the code. And continually test until your code passes the test. It makes refactoring code and automated re-testing easier. It also means that your code can nearly always pass a TTD  is where you write the test first, then write the code. And continually test until your code passes the test. It makes refactoring code and automated re-testing easier. It also means that your code can nearly always pass a smoke test.

Those that do use testing frameworks go for TestBox with 24% of votes and MXUnit with 23% votes. As TestBox is backwards compatible with MXUnit scripts I image its use will grow over time. One of the original automated testing tools, TestBox is backwards compatible with MXUnit scripts I image its use will grow over time. One of the original automated testing tools, Selenium is still used by 14% of developers.

Even fewer developers are using mocking frameworks than do test driven development. I hope that will improve over time because in larger projects mocking or stubbing out code lets your code be testable before all the pieces are complete. It let’s you write and run those automated tests before you write the full code. The leading CFML mocking framework is MockBox, which as you might guess works well with TestBox. Actually given the usage of MightMock being close to zero I could have said more than leading, but lets leave it at that. More on Why Mocking Matters in this blog.

Code reuse

 

Nearly 100% of CFML developer do code reuse. Take a pat on the back CF community! The years of spagetti code are behind us.

The most popular method is CFCs, while the old methods of CFIncludes, custom tags and custom functions are also heavily used. We didn’t include SQL stored procedures in our survey this year and that is another common way to reuse database code, as someone mentioned in the survey comments.

Source Code Control


 

Source control is a subject close to my heart, as I starting using it on a VAX in my first programming job, and then having learned it was made source control manager on a 60 person Oracle project. It save our bacon on backing out mistaken changes many times. No more checking if Fred or Jane are editing the same code I am with file locking. I moved on to PVCS, CVS, MS-Source Safe (now Team Foundation Server), Subversion and currently Git. (Even more source version control systems that that exist, it is a popular software category!)

The open source Git got the top spot this year with 51% of votes, while the related commercial GitHub and BitBucket come in strong as a way to have private Git repositories and other features such as user permission for organizations. (BitBucket cloud private Git repositories are free for upto 5 team members or more if you are in an .edu, so there is no reason not to try it out)

Git is great at easy branching and merging back code changes from other developers. And it distributed approach is great for teams. You can create a branch to try out an idea, commit a few times, switch back to where you branched from, apply a patch, switch back to where you are experimenting, and merge it in. Or if your coding experiment doesn’t work out, delete the branch without anyone knowing.

As you can image this is great if you are doing agile development!

The open source Subversion is still used, but is not as popular these days as it once was. It is not distributed and runs slower than Git.Git.

Surprisingly about 25% of developers don’t use source control, or run homebrew solutions such as zipping up folders every so often, copying directories or comparing files. These developers are missing out on being able to track code changes through different versions, easily roll back “bad” changes, and automatically merge changes with other developers.

Tools/IDEs Used

 

The IDE is where CFML developers spend most of their time coding, so the productivity of your IDE is key. The shareware SublimeText is still the most used tool/IDE this year. The commercial  ColdFusion Builder got the second spot and the freeware Notepad++ at third spot.

Browser Dev Tools

 

For browser development tools, Chrome still got the first spot with 81% of votes. Second is Firefox with 58% of votes, third is Firebug with 53% of votes. The results are the same as last year's.

CFML Usage

 

Most of the participants in the survey have been using CFML for more than 15 years; 46%. The second 30% has been using it for more than 10 years. There are 0.36% of the participants who are still new to CFML and are using it for less than a year.

It is unclear whether CF surveys reach more experienced users better due to Slack, blogging and tweets being read more by them. Or if few new developers are learning CFML. Perhaps a bit of both.CFML. Perhaps a bit of both.

The good news is that Adobe Complimentary ColdFusion Standard is available to all education institution’s students and faculty for free (for learning/teaching, not production use) and the open source Lucee CFML being free to all users. So there is no longer a barrier to new developers learning CF.

OO Usage

 

For Object Oriented code usage, 34% of the participants have been using it for 6-10 years. 26% are using it for more than 10 years. There is still 8% who are not using it at all. If you haven’t started using OO in your ColdFusion code then 2016 might be the year to try out some CFC coding!

Other Languages/Environments Used

 

Naturally JavaScript got the top spot with 88% of votes, which is the same as last year's. AJAX got the second spot with 49% of votes, while Java got the third spot with 33% of votes. With PHP and .Net trailing a bit.

CFers as a group program in a wide variety of other languages! JavaScript and AJAX are both front end languages that all back end web developers can use. Java on the other hand is another back end language and it the one that CFML compiles into. So it makes sense it is the top other language used.

Attendees of ColdFusion User Group Meetings

 

User groups meeting are a great way to meet other CFML developers, learn new techniques and tool and get problems solved. 63% of the survey participants do not attend any CF user group meetings. Maybe because there is not one near them (as some survey comments say). Or perhaps people don’t know what they are missing out on, or are too busy at work/home to attend. If that is the case checkout the ColdFusion MeetupMeetup (organized by Charlie Arehart), which has over 300 meeting under the belt with recordings.Arehart), which has over 300 meeting under the belt with recordings.



 

Conferences Attended by Developers

 

Similarly conferences are a more in depth way to meet other CFML developers, learn new techniques and tool and get problems solved.  Among the participants, 21% attend the dev.Objective() conference, and 20% attend the Adobe ColdFusion Summit.

There are 52% of participants who do not attend any CF conferences. I think they are missing out big time. On learning new CF and other technology programming techniques, on networking with their peers and speakers and just in general being fired up about CF! If you can not afford the big conferences time and money then try a smaller regional one such as NCDevCon or CFCamp.



 

Mobile Development Frameworks Used

 

PhoneGap is the most used mobile development framework this year with 20% of the vote. Second is  Cordova, while Angular focused Ionic got the third spot, which is about level with native iOS and Android development. All 3 frameworks are open source.

A mobile framework lets you code once while it deals with the details of iOS or Android SDK and store requirements so you don’t have to.

Still, 64% of participants do not do any mobile development. Which given the growth curve of mobile and tablets seems strange. Perhaps some of them use responsive layouts to address mobile users.

CFML Challenges

 

For CFML challenges, 54% of the participants say that they encounter CF "dying"/legacy issues. Second most encountered challenge is maintaining someone else's badly written code. Third most encountered problem is hiring CF developers. Having bugs in ColdFusion also got 26% of votes, while 29% of the participants have a problem with lack of marketing/PR for CF.

With Adobe CF 2016 (aka version 12) around the corner and Lucee leading the open source CFML space, ColdFusion is here to stay no matter how many times a  “CF is dying” thread pops up on its annual comet like journey around the developer sun.

Caching Solutions

 

Majority of the participants use EHCache (built in to CF) for caching solutions. 37% are using Railo/Lucee cache, while 27% are using CacheBox.

If you have a high volume application and are not using caching then you are missing out on easy performance gains.

Miscellaneous Frameworks

 

CFML command line and package management tool CommandBox is being used by 81% of the participants who use a miscellaneous framework, while 35% are using logging library LogBox. CFML based Web Application Firewall FuseGuard is being used by 14% and documentation tool DocBox with 12% of votes.

Monitoring Tools

 

Real time monitoring of your server for slow downs and crashes is key to having high reliability for your app. For monitoring tools, FusionReactor got the top spot with 48% of votes. The new version even allows real time production debugging when you have problem. ColdFusion Server built in monitoring tools got the second spot. 26% of the participants are not using any monitoring tools.

Get part II of the State of the CF Union Survey 2016 here.

(This blog post was so long it would

State of the CF Union survey 2016 - partial results

Below are the partial results to date for the 2016 State of the CF Union survey. If you missed the survey you can take it here. See how you compare with other CFML developers. Discover what most developers use for tools, languages, database and development methods.

Can you help? If you are on a ColdFusion list, LinkedIn, Facebook, Google group please share the survey so that we can get a more complete picture of the current State of the CF Union. Thanks!


I will announce the final results on Friday, February 5th, 2016


Scroll right to see numbers and percentages, scroll down to view more results

 


Note that the results are batched processed so they may not include your votes immediately. Check back in a few hours if you want to be sure.batched processed so they may not include your votes immediately. Check back in a few hours if you want to be sure.

State of the CF Union Survey 2016


This year's State of the CF Union survey is now live!
Let Your Voice Be Heard. Participate to the 2016 CF State of the Union Survey.
Thanks for participating! It will help us all determine what versions of CFML are most popular today, plus the top frameworks, tools, etc. 

The summary results will be available afterwards to everyone who completes the survey,so that you can compare yourself with other CFers. 


 

The survey will help you stay up-to-date on the tools that most developers use, top databases and see get to know more about the project issues you encounter and if other developers have them too.

The final results of the survey will be announced on Friday, February 5th, 2016. Thanks for taking the survey today.

Scaling your Software Development Team

Do your senior developers have what it really takes to be a team leader? 

The skills required for each are very different. So! What would be the best thing to do in case you want to promote your star coder to show your appreciation?


Here are some tips from an article on Forbes.com.

Allow them to have options

  • ask your web developer if she is prepared for management and if it's the path she is willing to undertake
  • if not then reward them with a pay increase, extra time off or flex time

Find the mentor in them

  • being a great coder, there is a chance that they can help other web developers develop the same skills
  • see if they are open to mentoring other coders
  • bonus: this can help you find and attract the best developers for your company

Open communication between tech and the sales team

  • there is growth when sales people can openly address customer issues to the tech team
  • have developers easily access feedback and customer support questions

Culture screening

  • only hire web developers who fit in to your company culture
  • make sure all team members share the same values at work

Scaling tech teams is very different from promoting people on other departments. It takes having the right person in the right position, knowing what they are comfortable and are willing to do, and having clear communication within the organization.

Let me know your thoughts on promoting senior developers?

First looks at WorkFlowly for Todo list, planning and GTD

This is my initial thoughts on WorkFlowy intuitive productivity app that I started using a week ago for my todo lists, project planning, requirements and Getting Things Done system. Curious if anyone else is using WorkFlowy and what your tips and thoughts on it are?

I got the Pro version of the app free for a year from this AppSumo offer http://www.appsumo.com/workflowy/ 

Stewart Butterfield and his team used WorkFlowy to brainstorm and implement the first version of Slack.

I have organized my todos/planning many ways over the years, I wasn't satisfied with my prior methods, so I thought I would play with WorkFlowy for a week to see if I liked it. Turns out I love it!

What is WorkFlowy and what do I love about it (++ items below)?

  • Half to-do list, half planning software
  • folding editor for indented lists - so easy to hide stuff you are not currently focused on
  • web, Android and iOS versions
  • ++ no extra fluff features or bloatware (I am looking at you Evernote!)
  • ++ no need to create notes or save documents - just type in your stuff
  • ++ search across list
  • ++ smart tagging using # and @ (more on how I am using that below)
  • ++ Fast zoom in and out of lists from details, projects, 30,000 foot level using the levels breadcrumbs or clicking on the little bullet icon at the front of every list item
  • ++ It is freeform - you can create your own structure of list hierarchy, tags, starred pages.
  • can share just parts of your lists with others eg for requirements

Other organizing tools didn't work for me

Other organizing tools I have used and issues I had with them

  • Just remember it (human brain)

    • +instant notes even in the shower or other places where you don't have computer/phone/notebook
    • - limited to about 7 items in short term memory, long term memory is apparently infinite but retrieval is spotty, uses up a lot of CPU if you have more than 1-2 items to remember, no checking off an item satisfaction when task is completed, hard to share with others unless you shell out for the telepathy 2.0 addon
    • can be improved with mnemonic devices plug in (costs extra learning time to install) to remember long lists, still waiting on chip implant for direct storage to cloud
  • paper notebook 
    • + fast to add items, free form, satisfying to check to do off
    • - can't move items around - have to rewrite lists, can't add space if a list grows, undone items get orphaned pages back from current page, no organization to notes
  • planner pad/other organizer systems
    • + organized sections and prioritizing built in, include calendar
    • - same issues as paper notebook
  • separate pieces of paper/index cards
    • +only have to carried one piece of paper with you
    • -very limited storage, tends to get a mess once you have a bunch of cards/pieces of paper
    • bar napkins can expand storage but tend to be hard to read later 
  • Evernote
    • +can organize with tags/notebooks/titles, search all notes, todo check boxes, bullet lists, web, PC, Mac, Android, iOS
    • -has gotten bloated and buggy over last 18 months, search, typing and adding notes can hang for a minute or more
  • Word or Google docs
    • +expandable, lots of formating tools (too many for list making!), can include images, google docs easy to share
    • - too many features/bloat, hard to zoom in or collapse lists without using advanced features
  • Basecamp/other PM software
    • +great for project task lists, deadlines, seeing calendar of all tasks, good discussion features
    • -heavy weight adding new items vs just typing a list, no sub-sub lists or tagging, hard to just share parts of a list with others

[images from article http://iterationz.com/2013/07/09/task-management-with-workflowy/ which is also a great review of WorkFlowy ]

WorkFlowy tips

  • Just start dumping items from your brain, paper, planning docs or other GTD systems into it for the first day or so. Then figure out what top level sections make sense for you. It is easy to drag and drop or cut/paste lists around, so no need to "get it right" the first time
  • For GTD I use # tags for #today, #waiting, #week, #someday-maybe, #goal, #NextAction
    • I love that tags automatically get added to a smart drop down list so when I start typing #t up pops #today.
    • Also love that tags are hyperlinks to search by that tag
    • When you search by a tag it shows all items with that tag across all lists. This is super powerful if you just want to focus and bang out stuff. Or if you want to take a 30,000 view of your goals
  • To track delegated items I @ tags eg @John
    • again you can search by tags to see all the tags you delegated to John
    • I also use for location specific tasks eg @phone, @shopping, @UK
    • To prioritize put *s in the list item. * = important, **= super-important, *** = mega-super-important. These are not WorkFlowy tags and the cool thing is that when you search for * it shows all of these list items, then as you enter another * it narrows down to more important items and so on
  • There are keyboard shortcuts that can speed up your work eg Esc = search, Tab = intent, Shift-Tab = Outdent, ctrl- Space = Collapse/expand list, ctrl-? = display/hide keyboard shortcuts
  • Hovering over the bullet at the start of any list displays a little menu for completing a task, exporting that sublist , sharing, duplicating list etc.
    • Clicking the bullet drills down to just display items in that list. At the same time you see a "breadcrumb" menu of list sub levels so you can navigate fast back up to a higher level view
    • Clicking the + or - expands or collapses that list, so you can see the big picture or details fast
  • You can star any list that you use a lot (note that staring is not the same as typing *s that I mentioned earlier)
    • Hitting the star shows all the starred lists
    • A starred page remembers the last search you used in it - useful for regular GTD searches like Today's tasks
  • You can duplicate a list and all it's sub items  - great for templates of common tasks
  • You can share sublists with other users (I haven't tested this yet)
  • Use it for both current todo items, longer term planning, jotting down ideas or business/life planning. Easy to move items around during your weekly GTD review or 30,000 reviews.

Conclusion

If you haven't tried WorkFlowy I highly recommend playing with it for an hour to see if you love it or not. I was skeptical at first at Yet Another GTD app and figured it is free, let me play with it. Their 5 minute onboarding training/try it out had me hooked!

What are your WorkFlowy tips and thoughts? How do you stay organized with your todos, requirements and planning? Let me know in the comments.

Why you want ideal developers on your team

Why is it so important to have ideal developers on your team?

In a survey I did last year 17% of participants said they had incompetent staff on their projects. Which means bad code, more bugs and bad team dynamics. Ouch!

There is a ten to one variance between the worst programmer and the best programmer. And the worst programmers actually have negative ability because they introduce more bugs than they actually produce good code!

Paradox: 85% of a programmers success is due to human factors rather than pure technical skills.

What are the true costs of bad developers?

  • Bad code, more bugs, even server crashes
  • Bad hiring increases turnover cost
  • More management headaches
  • Other team members moral goes down
  • Learning curve and training time
  • Days lost to changing team members in and out

So you are probably asking yourself what is an ideal developer like? 

Ideal Developer

Here is my take on this:

An ideal developer:

  • Writes great programs that users love to use
  • Code is easy to maintain
  • Works well in teams
  • Has few bugs
  • Is good at solving problems in a simple way

But you only find this out once you have hired them. So! I look for character traits that predict this behavior ahead of time in the interview process.

What 7 character traits does an ideal developer have?

  • Humble
  • Curious
  • Honest
  • Communication
  • Coding conventions
  • Lazy
  • Thinking and Planning

For example Humble

  • My brain can’t take in the whole program at once - uses coding crutches
  • Egoless programming - doesn't take their code personally if others need to change it
  • Rewrites complex code to make it simpler to read
  • Gets their code reviewed by another developer
  • Asks for help if stuck for more than 15 minutes on a problem
  • Holds back Murphy’s law with defensive coding methods
  • Gives examples in comments
  • Reference Change Tracker issue# and Description in comments
  • Documents algorithm used in comments

These traits are from a user group talk I gave on "Guru Coders". If you want to read about the other 6 traits in more detail I posted the slides on my LinkedIn profile.  And if we are not connected on LI already I invite you to connect with me while you are there!

How to make Conscious Decisions in Software Development and Hiring

You have a close decision to make on hiring a software developer or several different ways to architect a program.

If one sucked and the other was brilliant it would be easy (pick the brilliant one!)

But often there are two or more options that are really close and it is hard to decide which is best. And the ramifications of a bad decision could be thousands of dollars of extra cost, a failed project and wasted days of work...

How to decide?


Some common ways are

  • The pros and cons list. List out the benefits and drawbacks of each choice. Pick the one with most benefits and least drawbacks

 

  • Weighted pros and cons. Same as previous method but give each aspect of the choice a weight depending on how important it is. Pros get a number +1 to +10 and cons a number -1 to -10, depending on how good or bad they are. Multiply the score by the weight and add them up. Pick the option with the best score. eg in hiring you might have one aspect of the choice is database design with weight 3. Candidate A is a +5. Candidate B is -2. So the contribution for for A is 3 x 5 = 15 and for B is 3 x (-2) = -6. Add these to the weighted scores for all other aspects of your decision to get the total scores.

I have used your weighted scoring system successfully too. Hey I was a mathematician by training at college! :-)

I give extra weight to a decision is easily reversible/gives early feedback on whether it is the right course/can be course corrected down the road.

Particular areas I have found this useful for are:

  • Scoring job candidates on the different skills and characteristics in the job req
  • Scoring clients by idealness (ie easy to work with, have budget for our kind of task, communicate clearly, appreciate quality software development etc) and then "firing" the bottom 10% each year.
  • Scoring prospects the same kind of way and focusing my energy on the top scorers.

  • Flip a coin. If the choices are really nearly equal it doesn't matter. Pick one at random. Then see how you feel about the decision. If you feel good, great go with it. If you get a bad feeling in your stomach the it is not a good choice, pick the other one! (You just realized new information about the first choice).

 

  • Test them out with a trial. Perhaps you can hire there different candidates for a few hours of paid work to see how you get on and what they really can do. Or if you have different program designs you can hack out the essence part of the algorithm (with no UI) and throw together some realistic volume of test data and compare speed (or does the algorithm even work at all!).

All the above methods are pretty common in management and software development. Here are two further thoughts on close decisions:

1. The time value of decisions. The values of the different options are usually not fixed over time. Often they decline over time.In addition the days and energy you spend making a decision are time and energy you could have spent on other productive tasks in your business, so they have a cost too.

For example in hiring, the slower you are at responding to the different candidates the less enthusiastic they are about the job, and the more likely they are to pick another company. Plus the more time you have lost to other money making tasks.

Suppose you have two candidates A and B with values of 51 and 49 on Day 1 and that they loose 3 points each day you wait/it costs 3 points in your energy used each day.

Here are the values of the options over time:

Day 1 A 51 B 49
Day 2 A 48 B 46
Day 3 A 45 B 43

 

In this case making a fast "bad" decision on Day 1 by hiring B at 49 points is actually better than the slow "correct" decision of hiring A on Day 3 at 45 points.

True sometimes the value of the choices might not change over time but the cost of continuing to spend your time/energy on the decision day after day definitely applies. Time that could have been spent making money for your business other ways. So there is still a time value to a decision.

The only way to avoid that is to not worry about the decision or spend any time on it at all until you next consider the choice. A deliberately delayed decision. I have seen entrepreneurs successfully do this when they realize that they are too busy/lack resources to implement yet another change this year and "consciously decide not to decide" until next January.

I also did not include the lost opportunity cost of a delayed decision. All the profits/new deals you could have made in the days (weeks?) spent decision making using either choice A or B.

We are not just comparing choice A to B. But also to choice N - do nothing. In the case of a 49/51 near equal decision I imagine the value of N is much less than either A or B.

In sales often clients don't take the cost of choice N into account because they have had the problem and been in this choice for so long. It is my job wearing my salesperson hat to help them see the true costs of choice N, as well as the costs and benefits of choosing buying from me. Bringing more consciousness to their buying decision.

 

2. Intuitive decision making. When a decision is pretty equal and complex then using intuition processes all the complexity at a subconscious level, saving my conscious processing power for other thoughts. It is also fast to do.

This is one method for making intuitive decisions, or at least giving you extra info for your conscious decision process.

Heart based decision process (example for picking from 4 choices)

  • Drop down into your heart (imagine your consciousness is in an elevator from your head).
  • Hold each of options 1 - 4 in your hand one at a time.
  • Bring your hand to your heart and notice what you feel.
  • Then bring option 5) Something else (that I don't consciously know right now) to your heart too.
  • Pick the option that makes your heart feel most open and happy.
  • Notice any extra info you get on each option eg heart feels heavy, a color or sound that appear, other body sensations, new inspired thoughts that come to you
  • If you get the "Something else" option then be ok to be patient a few days and see what occurs to you or synchronisities that occur that point to what it is.

(Exercise from the book "Beyond Human").

There are many other ways to access your intuition, pick what works for you.

 

 

 

How to not create shelfware - webinar 7/8/2014 1pm EDT

If you don't get users involved early in the project, you risk ending up with shelfware. That means that you wrote some great code, the operation was a success but the patient died on the table. None of the users want to use the application and it's left on the shelf.  What can you do about this? 

Some of the keys to successful projects are getting

·        executive support

·        having a project champion

·        early user buy-in

·        early usability testing

 

 

 

Presenter bio:

Michael Smith is the founder and CEO of TeraTech, a private custom software development company. Since Michael founded it in 1989, TeraTech has become the ColdFusion specialist company:

“Custom ColdFusion apps on budget and on time, guaranteed.”
He has been programming and managing projects for over thirty-five years. 
Michael has used ColdFusion since version 1.5 in 1997 and has advanced the ColdFusion developer community:


·         Presented at over 50 conferences and user group meetings,
·         Written over 20 articles on ColdFusion software development,
·         Founded the highly successful CFUnited Conference which ran for 11 years with up to 900 attendees annually, and
·         Ran the Maryland ColdFusion User Group for 12 years. 
Reach him at michael (at) teratech.com, www.teratech.com or +1 (301) 424 3903 x110.
Connect with Michael on LinkedIn http://www.linkedin.com/in/abundantmichael.

 

Register to the webinar:



July webinar 2014
First Name
Last Name*
Email*
Company*
No. of Employees*
Job Title
Street
City
State
Zip Code
Country
Phone
Website
Questions & Comments
MailingList
July webinar 2014
Webinar

Streaming Video to a Browser with no plugins 6/24/14

The world of streaming video has been constantly evolving, with solutions moving from one browser plugin to the next (Real Player, Windows Media, Quick Time, Flash, Silverlight, etc.)  However, with advances in the open standard MPEG-DASH as well as extensions to the W3C specification, it is now possible to stream video directly to a browser without the need for any plugins.

This session will explore the leading edge in the world of video delivery, an open standard, supported by the industry’s biggest players, named MPEG-DASH and its companion project dash.js. While we are constantly building DASH players offers the promise of high-quality streams in a JavaScript client for platforms including:

  • Desktop
  • Browser
  • Flash
  • Connected TVs and Mobile Devices
  • dash.js

As the lead architect on the dash.js project, Jeff has intimate knowledge of the inner workings of this project, and he is actively collaborating with contributors from Microsoft, Google and others.

The technology for dash.js is new, and it’s not yet supported on every device, but we are working with many of the key players to make it a reality and the list of supported devices grows daily. So join us as we explore:

  • DASH standard
  • discuss how dash players are built
  • dig through the dash.js codebase
  • see dash playing on mobile devices
     

Presenter bio:

Jeff Tapper has over a 19 years of experience developing Internet applications for a myriad of clients, including ESPN, Major League Baseball, CNBC and many others. He is actively involved in the Streaming Media industry, and is a frequent speaker at NAB, IBC, Streaming Media East and West. He has authored over a dozen books on internet technologies. Jeff is a founding partner at Digital Primates and the lead architect of the dash.js project.

 

Register Now:



June Webinar 2014
First Name*
Last Name*
Email*
Company*
No. of Employees*
Job Title
Street
City
State
Zip Code
Country
Phone
Website
MailingList
Webinar
Wbnr - Streaming Vid. to Brwser w/ no plugins 2014

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9.8.012. Contact Blog Owner