Outsell Gilbane WCM Banner
Bill Cava

7 Tips to Being a Highly Successful Cms Developer

June 20, 2011By Bill Cava Comments

Building a successful website can be a tricky thing. Plenty of good web developers have built CMS-driven sites that are challenging to navigate and fail to deliver expected results. For many web developers, building a CMS-powered website is a departure from building a standard web application. In fact, the average developer is usually not prepared to handle the opportunities and challenges associated with developing a CMS website.

Building a CMS-driven site is different from developing a standard web application. On the surface, there are a good number of similarities between web apps and web sites. Both interact with users through some type of browser. Both interact with users through a series of pages and forms. Both leverage similar technologies on the web stack.

But you can see how they differ by looking at how they generally each measure success. For a web application such as an online banking application, success is defined by how well it performs certain concrete tasks without failure-- displaying account balance statements, transferring money, scheduling a bill payment. From a developer's perspective, these tasks translate into discrete methods that can be easily verified during development and testing. Sure usability plays a part too, but that can be tested reasonably well in development through usability studies.

On the other hand, the success of a CMS-driven website is generally proportional to how well it can guide site visitors through loads of information and help them to perform actions that lead to some desired business outcome. Creating an intuitive and efficient system for users to navigate through a large volume of information is a challenge that doesn't always fit into the typical development mold. To show what I mean, look at site search. Unit tests can be written to check if a search feature works, but they can't always test whether it actually returns the information a user is looking for.

From a developer's perspective, the ultimate success of a website isn't something that can be easily verified in development. Don't believe me? Ask yourself-- how many developers are even aware of what the desired business outcomes for a website are -- let alone measure, verify, and optimize them during development, quality assurance, and usability testing.

Developing Your CMS-Fu 

In my mind, a good CMS developer is someone that understands this, either intuitively or through experience and lessons learned. And for those developers that aren't sure which side of the fence you sit on, making the transition to becoming a highly successful CMS developer is about expanding your focus from just writing and optimizing code to developing a wider set of skills that will contribute to the ultimate success of your website. From my perspective, here's what it takes:

  1. Develop Business Skills. Just because you're generally on the technical side of the equation, don't let that stop you from getting a deep and clear understanding of the business objectives for your website. As a developer, this understanding can help you prioritize your work, it will inform your decisions, encourage you to raise technical concerns that conflict with business priorities, and give you an overall picture of the business that makes you more valuable as an employee. Also, while it might be more comfortable to glue your eyes to your monitor and keep your eyes on code, any career growth really depends on your developing some level of business acumen. If none of that interests you, it's always nice to know where the money for your paycheck comes from.
  2. Plan Plan Plan. Dwight D. Eisenhower said "Plans are nothing; planning is everything." While planning doesn't solve everything, it usually pays off exponentially when it comes to building a website. Too often developers are content to settle with a few wire frames and a sitemap and start piecing together templates with little understanding of the big picture. Needless to say this often leads to confusion later in the project. "That's not what I wanted!" "You spent a week on that??" Take time to ask questions and push for details and get as much in writing as possible. You should continue to push until you have a reasonably clear idea how you're going to achieve the business objectives from (#1).
  3. Think Content. Force the development team to focus first on content modeling and structure and allow this to drive the code, not vice-versa. This is one of the biggest pitfalls I've seen, because novice developers are so eager to jump into things and get going. Your presentation tier should be dealing with business objects that closely model the domain language. This means that you need to spend a good amount of time with content before touching a line of code.
  4. Measure. Now that you understand the business objectives (#1) and how you're going to accomplish them (#2), consider what you can do as a developer to improve the ability for the organization to measure the success of a website. I don't mean just performance stats, but think of what data points are needed to prove (or disprove) that the site is meeting business goals. Developers often leave this to the marketing department, but consider what you (and your CMS) can add to the picture. It's possible someone less technical has no idea what data is available to capture. It's impossible to measure, analyze, and improve on anything if you're not tracking the right data.
  5. Know thy CMS. Get to know the system extremely well and understand the tools available. Make it a personal goal to become the system expert. Read quick start guides or tutorials and skim through developer documentation to become familiar with what's available. Make time to watch developer webinars and videos. Sure it's impossible to remember every detail, but continuing to expand your knowledge of the platform will ultimately result in new solutions to old problems. It's like the old saying, "if all you have is a hammer, everything looks like a nail." Don't settle with a small bag of tricks, push yourself to expand your skillset.
  6. Leverage the Platform. For some developers, particularly those just starting out, it's tempting to write everything from scratch. "A user registration system, I can write that!" But keep in mind that thousands of hours of development have been invested in any serious CMS platform. There's a good chance that the features provided by the CMS are going to be more robust, stable, and optimized than code written by a smaller team in the time span of a single project. Leveraging this collective development effort makes it possible to get more done in a shorter period of time and helps ensure that functionality stays consistent during upgrades. Also keep in mind that bypassing APIs and writing against a database can often put cause issues during upgrades, can make the site less scalable, and above all, can cause the developers to waste time writing code that has already been written. This makes projects more challenging and can result in missed deadlines and blown budgets. Learn the platform and leverage what it offers.
  7. Join the Community. A good CMS vendor will support both the online and offline development communities. Get in touch and get involved, because the challenge you face today may be the same hurdle someone else solved yesterday. Given the social channels available online, it's also common for product engineers and technical support to engage with these communities directly (via Twitter, Facebook, and so on), providing a direct line to people with deep internal knowledge. In my opinion, these are highly underutilized ways to contribute knowledge, ask questions, and have fun connecting with other developers.

In a follow up blog post next week, I will list a comprehensive set of resources to help developers put the above points into action and widen your CMS skills.  

 

Can you think of another tip that should be on the list? I'd love to hear it, post it in the comments below.

Comments (7)

  • Excellent post Bill, and great advice for ANY web developer and development project, not just one on a CMS platform.
    Posted by Joe Mayberry / June 20, 2011
  • Great read Bill, I think you hit the nail on the head. You covered the major points and brought up a few interesting things most don't think about. To get a little more granular on the 'planning' and 'know thy cms' points would be architecture (along with best practices). Too often plans are put through on websites that don't match the architecture of the system they were designed to run on. Know the strengths and weaknesses of what you're developing for to avoid collapses of the system in the future especially when a load is put on the site. Of course a great way to know these are being active in your respective developer community!
    Posted by Andrew Eddy / June 20, 2011
  • Hey Joe & Andrew, thanks for the comments. That's a good point about architecture. In my next blog post, I'm going to be putting together a list of resources, if you have any recommendations let me know would love to see them
    Posted by BillC / June 20, 2011
  • "Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein. In this fast paced industry developers need to be excellent communicators. Don't be afraid to ask for help or raise flags. Good Technical Leads, Development Managers and Project Managers will be able to find additional resources and help with coaching to find the best solution! Don't internalise a problem and get stressed. Ever notice the happiest developers tend to be the most efficent developers? Another great blog Bill!
    Posted by Andrew Marsland / June 20, 2011
  • I would add, have a really good understanding of basic IA concepts. Understand your user base -- their capabilities and limitations. Also, re: #6 -- you guys should remember this too. Ektron has a history of re-inventing tools that the .Net framework provides.
    Posted by Deane / June 21, 2011
  • @Deane Regarding IA, I agree entirely and mentally consider this apart of #3, "think content." If I were to expand #3, I would have included exactly that point, so I'm glad you brought it up. The idea of thinking content first, not code first is worth a full blog post and I've put this into my queue. Regarding the second point on ektron "re-inventing tools that .NET Framework provides" - while historically there may have been some truth to this (circa .NET 2.0), it is not true of modern releases. When people make this observation, they typically point to EKML. Things like EKML have been on the path to deprecation for some time and as of the 8.5 release, it's officially being deprecated in place of Framework API / Content Types / Data Binding, which uses the same templated server control approach Microsoft largely started pushing with the ListView server control with the ASP.NET 3.5 release. See this blog post for a developer's experience with the new approach http://bit.ly/maSAOa.
    Posted by BillC / June 21, 2011
  • @andrewMarsland thanks for comments- agreed it's definitely better to ask for help than to sit an spin (tho those were fun http://www.youtube.com/watch?v=yqpus9N5e2k). There's also something to be said for being eager to solve and answer your own questions too. Finding a balance is important, I've got a blog post cooking on this.
    Posted by BillC / June 21, 2011
Submit
Leave a comment
Name *
Email *
Homepage
Comment


Note: Captcha letters are case sensitive.
Gartner Magic Quadrant for Web Content Management
Gartner Magic Quadrant for Web Content ManagementDownload the new Gartner Magic Quadrant for Web Content Management. This report rates top Web CMS Vendors on their ability to execute and completeness of vision.
Web Innovation Now

Jeffrey Hayzlett on 'Running the Gauntlet' in 2012

Watch Now

Recent Videos
Loading...
Back to top
  • 1.866.4.EKTRON (1.866.435.8766)