October 10, 2020
Framework Training – Part 2 – Learning How to develop using the ColdBox Framework
Comments
(2)
October 10, 2020
Framework Training – Part 2 – Learning How to develop using the ColdBox Framework
Wizard 39 posts
Followers: 21 people
(2)

This is intended to be a three part series on my experience with ColdBox training from Ortus Solutions.

  • In the first part of this series I discussed my history and thoughts on frameworks in general.
  • This part, the second part will give details on my experience in attending Ortus Solutions “ColdBox, Zero to Hero” training as instructed by Gavin Pickin.
  • The third part of the series will be written after the training itself as a follow up to changes in my impressions of ColdBox and frameworks in general.

On October 8 and 9, 2020, I attended Ortus Solutions “Coldbox, Zero to Hero” training as instructed by Gavin Pickin.  I’ve seen this course offered around CF Summit in Las Vegas, and I’ve been wanting to attend, but frankly the $900 price tag stopped me for a while.  It wasn’t until lately that I decided to bite the bullet and pay the cost.  I’m a contractor, so my jobs don’t offer to send me to training.  It comes out of pocket.  I sucked it up… told the wife not to get me anything for Christmas, and bought my ticket.

The evening before the training I received an instruction email from Ortus that was clear and concise.  This was nice, though I wish it would have been sent a couple of days before the training as opposed to the night before since there were some prerequisites that needed to be ready in order to hit the ground running.  Not a big deal though.

I lucked out when it came to the training in that I was the only person in the class.  The way I figure it, I’m late to the party… Everyone else already knows ColdBox well enough not to require training, or they’ve already taken it.  Either way, since it was only going to Gavin and I on Zoom for two days straight, I could really focus and ask questions without feeling embarrassed in front of a group of people.  That was an unexpected bonus.

I’m sure that Ortus records many of their training sessions in order to review and look for ways to improve their process, but they let me know that they intended to record this session with the intention of releasing it as a video series, probably on the cfcasts.com website.  I get it… if there’s only one person in the class, why not try to capitalize on the material.  At first I was worried that it might take away from the learning experience, but I was pleased that it didn’t at all.

My general impression of the course is this; it’s called “Zero to Hero” and from an application standpoint, you do go from nothing to a full blown application quickly.  However, I felt that the baseline of “Zero” was relative.  I feel like there was an expectation that the students in the class would know ColdFusion inside and out.  If someone came in without ColdFusion experience, they would be completely screwed in my opinion.  I also feel that there was an expectation that the students would have a decent grasp of model-view-controller and object-oriented programming principles.  The students needed to know what test-driven and behaviour-driven development was and be on board with developing applications in that manner.

I do okay in each of these fields.  I know ColdFusion inside and out.  For some reason, I have a mental block when it comes to OOP.  I’ve seen OO applications that obfuscate and hide programming in so many places with beans and services and factories and DAO’s and helpers… they got overwhelming just trying to determine where anything took place in the application.  I think I have some mild form of PTSD from my early forays into OO.  As such, my criticism of this course comes from that standpoint; you need to have a decent grasp of what you’re doing and how OO and MVC works if you expect to get the most benefit from this course. 

Side note:  That’s something I believe is missing in the ColdFusion training space:  fundamentals and basics.

That being said, the information provided in the course was excellent.  I learned a lot.  Gavin is a wonderful (and patient) instructor who worked through all of the concepts clearly.  He took the time to explain when I came up with questions like, “how would I have known to use that helper?” or, “why would I do that instead of this?”  The course content is excellent and you learn a lot very quickly about how ColdBox makes development easier, with a caveat; I feel like to get the most benefit out of coldbox, you have to relinquish some of the intrinsic control over the application and get on board with the ColdBox way of doing things… but that’s the point of a framework, right?  As long as you’re sold on ColdBox, modules, understanding and learning how it wants things to be done, the performance and development benefits are immeasurable.  There’s a learning curve… just like when you started with ColdFusion.

When we were done with the session, I felt encouraged and empowered.  I was motivated to try and use ColdBox.  Now comes the real test… was it enough for me to start using it in my applications, or am I going to default to what I know and what is comfortable?

I’ll wait a few weeks and follow up with part three in this series.

2 Comments
2020-10-12 16:40:28
2020-10-12 16:40:28

David,

Thank for writing this series.  Your no-holds-barred honesty about, not only the course, but of general thinking about Frameworks and your own understanding of programming concepts and how CF has been used is really stikes home.  Makes me think yours and my ‘growth’ with CF has been on similar paths all these years.

Looking forward to part 3 of the series.

[Side note: Does anyone else wonder why Adobe’s ColdFusion pages and blogs are written with PHP?  Must be why they load so damn slow.]

Like
(1)
(1)
>
Paul Mascari
's comment
2020-10-12 18:04:23
2020-10-12 18:04:23
>
Paul Mascari
's comment

Paul, it’s that Adobe as an org has chosen to use WordPress for their blogs. It’s not a slam of CF…but of course many will see it that way. It’s simply that there’s no CFML blog as full-featured as WP. We can lament that all we want, but it’s just a reality.

And sure, there are SOME blog packages written in CFML, though relatively few and nearly all past ones have died on the vine. And there are of course blogging capabilities built into more full-featured CMS packages, some of which are written in CFML, but some people may just want a blog and not a CMS.

And those who want to run a blog (like the Adobe folks who make such decisions, which I believe is NOT the CF team) may simply be more inclined to standardize on one that is so widely known and well-supported as WP. And sure, that means that someone will eventually notice that the CF portal blog runs on WP and therefore PHP. And sure, it will lead to some ridicule. Clearly, the Adobe folks responsible for that decision opted for it anyway.

As for the slowness, I don’t find it to be universal–but I do find it to be occasional. I realize your experience may be otherwise. And like any web app, it could likely stand attention being paid to performance. Here again, I suspect that the people responsible for this blog may well be responsible for other Adobe blogs–and like most web app teams, performance falls between the cracks unless someone makes a commitment to it.

I follow nearly every post/comment, and discussion, and I have to say that I have not seen complaints about the speed before, though again I have experienced them and just let them go, realizing this can happen. If folks make a more concerted focus to suggest the problem (perhaps by creating a discussion topic on it), then we may see Adobe respond and perhaps even address it, though there are no guarantees.

Again, I’m just reporting what I’ve observed. I don’t speak for them–and they have been known to surprise me. 🙂

Like
Add Comment