The Invasion of the Lightweights

invastion-of-the-lightweightsSo two guys who code Assembly are talking about the new guy. He’s all proud of himself because his programs compile and run pretty fast. But not nearly as fast as their hand-coded Assembly. You see, they’ve been doing this a while. They know just how to build the programs they want to make them perform at top speeds. But the new guy? He doesn’t care. He sees this idea of using a higher-level programming language, Fortran, as a better way. A new way. A faster way. And they call him a lightweight.

It’s the invasion of the lightweights.

Skip forward a few years. Two guys who code C are talking about the new guy. He’s all proud of himself because his programs take him no time at all to code. But they’re not nearly as fast as their C. You see, they’ve been doing this a while. They know just how to write their programs, declare their variables and manage their memory. The new guy? He doesn’t care. He sees this idea of using a higher-level programming language, Visual Basic, as a better way. A new way. A faster way. And they call him a lightweight.

It’s the invasion of the lightweights.

Skip forward a few years. Two guys who code in Lotus Notes are talking about the new guy. He’s all proud of himself because he can put data on the web in no time flat. But it’s not nearly as sophisticated as how they do it. You see, they’ve been doing this a while. They know how to create CGI programs that will run fast and delivery custom data to their very own http daemon. The new guy? He doesn’t know any of that. He’s an HTML programmer. Programmer? They don’t call what he does programming. They call him a lightweight.

It’s the invasion of the lightweights.

And last night some guy who writes code using Rails and CodeIgniter hears that some WordPress guy is suggesting that people may want to use WordPress as an application platform. Much like every programmer before him, he can’t see it. He’s a hard core programmer. He likes his hard core tools. And he looks at the tools that new programmers might use (in this case WordPress), and all he sees are lightweights.

Real programmers use real tools.

Whether it’s a slam on the tools or the people, the notion is that a person developing a new piece of software should have to do it the way others have done it in the past. They must work as hard. They must toil with the same hurdles. They must face the same challenges.

But guess what?

With every new generation of developers comes a set of tools that take some shortcuts and make things easier. And every time that happens, it opens the doors to non-programmers. And it even helps turn non-programmers into programmers.

And that’s how we get the invasion of the lightweights.

There’s nothing wrong with Rails. They’re nothing wrong with CodeIgniter. There’s nothing wrong with the developers that use them. But there’s nothing wrong with a person who can create a software solution simply by assembling a few plugins, writing some custom post types and metaboxes (or even using a plugin to help them do it) and delighting a client.

You may call them a “configurer”, an “assembler”, or even a “lightweight.” But I can guarantee you this – if the program is done well, quickly, and delights a customer who couldn’t do it themselves, that person will be called “a solution developer.”

About chrislema

Did you like this post? If so, you might like getting my daily post via email - directly in your inbox.

32 Responses to “The Invasion of the Lightweights”

Read below or add a comment...

  1. Dave Bell says:

    I was floundering for a name for what I do. Then I read this post and remembered. I am a lightweight. And a “Solution Developer”. Thanks! I have never been nor will I ever be a programmer. But my clients will never be a Solution Developer so we are all set. Thanks for the much needed clarification. I am just a guy who loves WordPress almost as much as I love my cat and have devoted my business to it.

    Your blog sets the bar for mine. I have a ways to go, but have gotten my feet wet. Dave

  2. Norcross says:

    And they’ll get paid, too :)

  3. Justin says:

    Hi, I’m “some guy who writes code using Rails and CodeIgniter” and I enjoyed your post.

    I want to make something clear. I am not slamming tools or people. I use WordPress every day. WordPress was the first piece of software I started using as a development tool (back when I was a non-programmer). I was one of the non-programmers that you mentioned, who became a programmer. My delight with WordPress was a large factor in my deciding to learn to program.

    Since then I’ve tinkered with several different tools and I don’t call one tool better than the another, in general. Certain tools are right for certain jobs. As I stated in my post, WordPress is perfect for a blog or CMS, not for building web apps. If you can do it quickly and efficiently, and come out with a great product. Great, good for you.

    If you read my post and paid attention you would realize that my argument is about focusing on one thing and doing it very well. In my opinion, WordPress should worry about blogging and being a CMS, not being a web application framework. I say this because I care about the future of WordPress, and want to keep using it for blogs and CMS’s.

    Each of your comparisons share one commonality. The first technology is older than the second.

    Assembly -> Fortran
    A long time back -> 1957

    C -> Visual Basic
    1972 -> 1991

    Lotus Notes -> HTML
    1989 – 1990

    You then imply a comparison of Rails (2004) -> WordPress (2003)

    On two levels that doesn’t make sense. The obvious one is that Rails is newer than WordPress. That would make you the hardcore programmer who likes his hardcore tools and it would make me the lightweight.

    The second level is that Rails is all about DRY (Don’t Repeat Yourself) and abstracting out as much as possible to a point were it still makes sense. That means non programmers can get up and running with Rails perhaps faster than they could start coding their own WordPress themes. Sure if they want advanced features they will have to learn some real programming.

    But aside from all of that, you are either twisting or misunderstanding my post regarding WordPress as a web app framework. I’m not saying people should not use WordPress. I’m saying WordPress is great, but it should focus on it what already does and do that better. Blogging software that also creates web applications (that may or may not be blogs themselves) just doesn’t make sense. Would a car that manufactures others cars of all shapes and sizes be drivable? Hell no, it wouldn’t even fit on the road. You can’t be a car and a automobile factory at the same time. You pick one and do it right.

    • chrislema says:

      Thanks for commenting. Actually, there is another thing that all the language comparisons have in common – and the one I was drawing more attention to. The first ones were harder to learn and master while the second ones were easier to learn with less complexity. In that case, Rails is still for programmers, where non-programmers could build web applications sitting on top of WordPress without even programming. To me, that’s simpler.

      I agree that your argument was about focusing and doing one thing well. And that WordPress shouldn’t worry about doing something that other platforms already do well. My disagreement is that the barrier to entry in front of codeIgniter and Rails is that you have to be a programmer. WordPress poses no such barrier.

      I think where we disagree is that you call WordPress “blogging software.” So by claiming that corner, your rhetorical analogy of a car factory and car make sense to you. I disagree because I see WordPress already as a platform – one that provides a web framework for authentication, authorization, presentation layer customization and more. In that case, the fact that it displays content that someone calls a blog is nice but not restrictive.

      I’m glad we both think WordPress is great. I’ve used WordPress as a platform, precisely because it was easy and it made it possible for me to transfer the application to non-programmers who could maintain it. I could never have delivered them a Rails app unless I wanted to be their primary support as well. They make healthy revenues monthly using WordPress as a platform. So I like the direction Matt’s thinking about.

      • Lisa Faiss says:

        I agree with Chris that this isn’t about “age” of the software language. The first programming languages I learned were Assembly, Fortran, and the up-and-coming C. The trend in programming that I’ve witnessed has been towards higher order languages that abstract details of how the computer is breaking it down into the 1′s and 0′s it knows.

        Working on the MD11 automated flight crew software in early 90s, I remember discussions about how software engineers would be obsolete in 20-25 years. The place to be was in systems engineering where you determined clients needs and provided the detailed requirements to a small software team…or directly specified how a system works in a semantic language (which would be interpreted into machine code). I believe this directly translates into your Solutions Developer…great term.

        I think it’s funny when I hear people describe WordPress as a blogging platform because I’ve built quite a few websites now and no one has asked for a blog. I’ve pushed it’s use and customers don’t want to bother with it. It’s strength is a large community that shares reusable themes/plugins (lowers site costs and ensures a lot of testing), ease-of-use, and a CMS. Plus there is a huge community that solutions developers can fall back on.

        I smile when I hear the latest group of hot shot programmers looking down at the old-schoolers. I know it won’t be long before they’re old school as well.

    • modemlooper says:

      This is WordPress status.taptappress.com

      • Justin says:

        You could list 100 similar sites. On the hundredth one you would still be missing the point.

        • modemlooper says:

          Your argument that WordPress should stay a blogging software is short sighted. WordPress has been evolving since the day it was created. The fact that the web is turning to apps as the basis for connectivity is the reason this is being discussed.

    • Mitchel Laman says:

      “WordPress should worry about blogging and being a CMS…”

      …and iPhone should worry about being a PHONE with an iPod and browser built-in (or maybe; Apple should worry about making computers and stay out of the mobile phone industry)

      …and Amazon should worry about selling books.

      …and eBay worry about only selling other peoples junk

      …and Microsoft should worry about desktop os and stay out of the gaming business

  4. I too would be defined by this analysis as a lightweight. However, I know full Adobe Creative Suite 6, Dreamweaver, Illustrator, Photoshop, Flash and Dreamweaver and Word Press. I know HTML5, CSS3, JavaScript libraries and lots of process on how to perform graphic and web design, including Adobe motion graphics. I would rather do all of the above well than C # or Ruby. By the way I will be attending Phoenix Word Press camp in a few weeks. Hope to see you all there.
    Stephanie

  5. sé reed says:

    i totally agree with your premise and your point .. but i don’t think it speaks fully to the criticism being levyed in the article you’re responding to. mr. tallant may very well feel that folks who make WordPress sites are lightweights, and as a non-hardcore coder myself, i’m all for championing the cause of the “solution developer”. but, ignoring his comments on whether or not WordPress is good at what it does now, his primary critique was not about the people making the sites or that one should have to work hard to make web applications. his critique was about the software itself … that WordPress, the software, was built for blogging, not for building web applications. his position is that the software itself is inferior to Rails or CodeIgnitor. and that is the where his entire premise fails. perhaps that was true in 2009, but WordPress, the software, is at a point in its evolution where it can be molded and shaped in countless ways. not only MIGHT it be used for web applications in the guture, it IS being used for web applications, right now! and the Official WordPress Team/Automattic wasn’t even the initiator of that … they are simply smart enough to recognize that it’s happening and to adapt. in doing so, WordPress isn’t necessarily trying to “compete” with RoR or CodeIgniter … there are all sorts of needs out there and no one framework is going to be the best solution to meet all of them. but saying that WordPress shouldn’t bother to try to hone its capabilities as a web application platform because it started as a blogging platform is like saying that Apple shouldn’t have bothered making the iPod because it was supposed to making computers. (and besides Sony was doing such a great job with its Walkman!) the nature of technology is to evolve, and to do so at an ever-increasing pace. perhaps mr. tallant forgets that neither RoR and CodeIgniter are stuck at 1.0 … both frameworks have and will continue to evolve. and, thankfully, so will WordPress.

    • Justin says:

      I never said WordPress is inferior to Rails. It is not the right tool for the kind of job Rails does nor should it be. It’s funny you mention Apple. Apple is an incredibly focused company. They are successful because they focus on doing very few things and doing them very well. My entire argument is that WordPress is losing focus if it decides to go into the web application world. Maybe that would make sense after they had nearly perfected WordPress in it’s current use case (which is far from perfection) and launched the web app framework version of WordPress as a separate product, but so far that doesn’t appear to be the strategy. Like many others, you’re missing the point with your Walkman Sony comparison.

      • Rich Staats says:

        I don’t know that Automattic is really focused on pushing WordPress into an app framework..maybe they are, but definitely not at the pace that 3rd party developers are. A vanilla install of WordPress is nothing more than a robust blogging tool, if not a very simple SME CMS. It’s rather the themes and plugins we can easily add that are attempting to do things that Rails and CI are better known for. As long as Automattic keeps a tight focus on the core product, I’m ok with the mad scientists building app themes, complex plugins, etc to do things the core product hadn’t intended.

  6. Dave Bell says:

    To me the term lightweight was not in any way derogatory. It actually is what I am. I struggle everyday to learn more about WordPress, but there keeps on being more to learn :) I am simply grateful that I can do what I do and make almost enough money at it and also make clients very happy and help them be successful.

    But I figure I do OK for a 60 year old who got a late start on top of being a late bloomer :)

  7. I have a background in C++ and Java development which most would consider hardcore, it’s not assembly but it’s hard. I spent years developing in Perl and advise companies on OOD php development. My day job is in Ruby and Rails as well as Perl and I’m in the process of learning Closure and Scala. Yet I choose to attend and speak at WordCamps and do most of my hobby stuff in WordPress but why? Because regardless of how you feel about the platform or its ease of use, if you take a really good look at the core application, it’s damn good code period. Forget the great community, forget the endless streams of people excited to teach you something new every time, the base code when you take it apart is amazing and to think they’ve been able to get it to work flawlessly on millions of servers with a ridiculous myriad of configurations. Good code is good code regardless of where it’s coming from our how it was produced or what language it was written in. I’m sick and tired of one trick pony developers who only know maybe one language or platform putting down a system they maybe had some bad history with because they didn’t know what they were doing at first just because it’s not the platform they spent years trying to learn and master. WordPress is following all the rules I expect from a frame work and then some and they have yet to role out story driven BDD yet. It will only get better from here.

  8. pauldewouters says:

    ‘A web application framework (WAF) is a software framework that is designed to support the development of dynamic websites, web applications and web services’

    Sounds like Wordress to me.
    Funny though that Joomla is listed here under PHP and not WordPress
    http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#PHP

  9. Anton says:

    To continue the analogy of cars, one of the most sold types of cars sold in America are the SUV’s. They are not really good are going off road neither they are at going in the freeway. Hard to park and to maneuver but everybody seems to buy them because of convenience and versatility! That’s why WordPress is so popular, convenience and versatility. That’s what the customer wants!

    Sure, it’s great to be a purist and have a Hummer H1 for going off road, a Ferrari for the freeway and a van for all the family outings. But is this worth it? Or what happens if I am going in the freeway with my Ferrari and I get the call from my family to pick them up together with their friends? Do I go home take the van and come back? Same happens more than once with web/app development. People change their minds too often as well as project scope. What do you do in that case?

    Sure, when you have a proven model that is already developed and set in stone and speed needs start to bog down your site then yes, it’s well worth getting it redone in a lightweight manner. But for most of the people, being able to get an app done fast to see if the business model is viable is more important than a super fast scalable and expensive solution. That’s why WordPress is great as an app platform!

  10. David Bisset says:

    I was about to leave a comment but it turned into a blog post, so i posted my views on my blog. Which is rare. I rarely blog nowadays.

    But I will try to add something here and predict that we will be hearing alot more on this subject in 2013. Pros and cons to both sides. Nobody is saying (at least I hope) that Justin is putting down WordPress. But painting anything like WordPress into the “blogging” corner and saying they should stick to it seems to be as small-minded as saying that Rails and CodeIgnitor should only be for projects of a certain complexity.

    Some of the best pieces of software i’ve used throughout the years have come from people taking something and asking “why not” and making it happen.

    I would love to see more talks on this subject (maybe someone can speak about this at WordCamp Miami in April).

    Ok, i’m done. Rest of my stupid views are on my blog. Peace out.

  11. Ansel Taft says:

    This is why I’ve always felt a little insecure hanging out in WordCamp dev tracks. Confession: I’m a lightweight cobbler who is trying to learn PHP so I don’t feel like a poser.

  12. jb510 says:

    Just because WordPress was popularized as a blogging platform doesn’t mean that’s what it is.  WordPress has always been a publishing focused CMS and a very good one at that.

    I’ve been around this for 30 years and I’ve watched the hubris of tech gurus play out cycle after cycle just like Chris illustrates. WP is not the perfect solution for everything, anyone who says it is is just as foolish as those that think it’s just for blogging. There are a myriad of good solutions out there.

    As a developer the best solution is the one that you personally can use most efficiently to deliver what _your clients needs_. That isn’t necessarily the same solution another developer would use for the same result.  

    The car analogy is apt.  My client needs a lazy boy recliner delivered… I could do that in a pickup, suv, a panel  van, a semi-tractor trailer or strapped to the roof of a Camry.  Frankly my client doesn’t care which I use as long as I get it done and their involvement is the same.  Now this other client wants 140 eggs delivered every week, probably not best handled with the semi even if it’d work.  I could go on but it’s already a tired analogy. 

    I really wish WP devs would stop bashing Joomla, Drupal and Magento though.  I also wish RoR , CI, CakePHP, etc. devs would stop bashing CMSs.  They all have their place. Instead bash the devs that deliver poor solutions to their client’s needs. Magneto devs building $5k sites for tech phobic clients with 5 products for example…

    Lightweights and heavyweights alike… Whenever you say something else is trash without a specific and well supported example I think it’s you that’s a fool.

  13. Jeff Hester says:

    Chris, I am a huge proponent of WordPress, but I don’t see this as an “lightweight vs heavyweight” argument but more about picking the right tool for the job. I’ve starting coding back in the late 80s in LISP, then later HTML, ASP, .net, PHP and have used a number of CMS solutions along the way, including Drupal, Joomla, vBulletin and (in recent years) WordPress.

    Today, when it comes to building a web site, WordPress is my tool of choice. WordPress makes an excellent content management system and with a little basic knowledge, a small business can create and maintain their own content. WordPress handles eCommerce quite nicely, and can be modified and extended to do much, much more.

    But I share Tallant’s concern that trying to be the “swiss army knife” would be at a detriment to what WordPress does best (which is not blogging, per se, but web sites).

    Case in point, I have a multi-tool that can do many things (slice, file, saw, screw, etc.) but it really doesn’t do ANY of those things very well. When I needed to open my MBP to upgrade it to an SSD drive, the multi-tool–as handy as it is–was of no use. I had to use a 00 Philips head screwdriver or nothing at all.

    The point is that as solution developers (that’s really what we all are) we need to choose the right tool for the job rather than shoehorning a solution into the tool that we have in our hand.

    And while I love WordPress, I don’t want to see it turned into a Swiss-Army knife.

    • chrislema says:

      Jeff,
      Thanks for the comment. Just so I’m really clear: I don’t think WordPress is trying to become the next application platform. I think they’re trying to make sure they’re doing the smart things to make it friendly in that realm because people are already doing it. I don’t think WordPress is in danger of trying to do everything, nor do I see a lot of WP developers trying to make it do everything, even when an alternative approach is easier, faster, or performs better. But the introduction of custom post types and ease of creating meta boxes means that tons of simple applications that are predominantly content applications can rest on top of WordPress easily.

      I think you catch that dynamic well when watching Matt talk about where things are going. We need to make things simpler for people to do simple blogging and we need to make sure that we’re constantly optimizing what’s under the hood so that we don’t limit what others may want to do. I’m pretty sure Matt hasn’t suddenly decided that his passion for content, publishing content, and making content publishing easy will suddenly change to becoming an app developer and tool vendor. So I don’t think we need to worry much on that front.

  14. Robert says:

    Like it or not, WordPress is already a web application framework.

    I think most of the hostility in these situations comes from developers being afraid that it will become too easy to create things without fully understanding them. They worry that non devs will be able to replace them with easy buttons such as plugins and prebuilt themes.

    It will never happen. Shit will always break. Things will always need improved. Complex problems will always exist. There will always be a need for people who understand how things function no matter how low the barrier of entry gets. Chill out, keep making great shit, and everything will be fine.

  15. Dan Knauss says:

    In practice there is a WIDE range of skill sets and talent among “solution developers,” “site builders,” or whatever you want to call people who aren’t traditional/pure front end designers and programmers. Actually some are pretty traditional front end designers who get around the need to have a programmer by using something like WP+theme framework.

    Whether anything is “wrong” with that depends on specific cases. I don’t think we can generalize at all EXCEPT when it comes to people who don’t have any standard design or coding skills who nevertheless crank out sites for clients with a theme generator or highly parameterized framework and a raft of plugins.

    For the few who actually do this with results that look good and function well, how well their work holds up over time and the adequacy of the hosting they use (security and performance issues) is where I think you find a significant right way/wrong way distinction. Fast, cheap, and pretty on the surface turns into slow, expensive, and broken pretty quickly.

    Nobody is doing any favors for their clients if they sell them on the idea that that they can have an attractive, self-doctored, functioning CMS+/custom application built on WP that lasts for years and years without support from someone who understands the systems involved rather deeply. It’s all the worse if performance and security foundations are skipped for the “developer’s” convenience because you can always buy more horsepower, use Sucuri, etc. This approach directly impacts the total costs of ownership and long term problems facing site owners.

Leave a Reply