Bill Clementson's Blog

Bits and pieces (mostly Lisp-related) that I collect from the ether.

February 2004
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29
Jan  Mar

How to make money with Lisp

Saturday, February 21, 2004

You sometimes hear people on c.l.l. complain that they can't find ads for Lisp programming jobs. Rather than bemoan the lack of Lisp jobs on the Monster job web site, it might be more useful to focus on what Lisp is good for and work out how those Lisp-specific qualities might help you make money. Fast Company recently pointed to a weblog posting by Dave Pollard about the 10 most important business ideas of 2003. Reading through this list, I was struck by how well-positioned Lisp is in some of the areas highlighted by Dave:

  1. Profit needn't be the bottom line:
    "What is coalescing is the concept of a business enterprise of self-selected and self-managed equals, whose objective is to achieve the self-defined well-being of its members, and to respect and advance the social and environmental needs of the communities in which it operates."

    Lisp is well suited for small, focused development efforts with talented development teams that don't have to conform to a corporate development standard. When the focus is on achieving results rather than on conforming to programming standards that are geared towards allowing mediocre programmers to perform acceptably in a corporate environment, Lisp is a very viable language choice. Private organizations and non-profits are often more receptive to non-mainstream development alternatives as they aren't being compared to the same set of criteria that publicly-traded companies are.
  2. Bigger is worse:
    "Several books and articles this year argue compellingly that big corporations are less efficient, less responsive to customers, less innovative, and worse places to work than smaller enterprises. Although the concept of autonomous, loosely-managed business units is not new, it has received new credence, in works such as Shulman & Stallkamps' new best-seller Getting Bigger by Growing Smaller, which calls for breaking big companies into Strategic Entrepreneurial Units (SEUs), provides data that such decentralized and fragmented businesses outperform their larger peers, and provides models for decentralization. Indeed, there is considerable evidence that many of the problems facing big business -- complexity, risk management, information dissemination, leadership, scaling of operations, cross-communication and 'matrix management' -- are all largely products of unwieldy size, and disappear when the business is broken into SEUs with autonomy to make decisions, and local control, responsibility, authority and ownership."

    Again, Lisp shines as an alternative development language when you start talking about small, autonomous business units that are individually accountable for their own profit margins. A common complaint that people make when you suggest this as an option is that Java (or C++ or whatever) is the corporate standard and there is no way that Lisp would be allowed. Having worked for some large companies, I realize that it is very difficult to introduce a completely different programming language into an organization. However, managers will often consider alternative approaches when there is a critical time element and/or a project doesn't involve production code. Therefore, Lisp might be introduced in some large organizations as a fast prototyping tool or for a "skunkworks" project (but suggest this only when Lisp really will make a difference!). This is more likely to be successful in SEU's that have a greater degree of decision-making authority.
  3. New Market Disruptions could slay today's business giants:
    "Clay Christensen, who previously wrote The Innovator's Dilemma, is back this year with a sequel co-written with Michael Raynor entitled The Innovator's Solution: Creating and Sustaining Successful Growth. The new book provides another quantum leap advance in our understanding of what innovation is and how it impacts business. The authors say that innovation, which Cap Gemini recently and brilliantly defined as 'a robust creative process that turns out a very distinct output with significant impact on the market', comes in two forms: 'Low-end disruptive innovation', the subject of the earlier book, fills a particular niche, usually at the low-margin end of the market and then, as it is improved, starts to encroach on the higher-end market. Steel minimills and discount airlines and retailers are examples, and TiVo may prove to be one also. The second type of innovation, introduced in this book, is 'New Market Disruption', which opens an existing type of product to a vastly larger untapped market by either making it much simpler or much cheaper, cannibalizing the pre-existing market in the process. The authors' advice to entrepreneurs is to exploit New Market Disruption by (a) looking for new potential markets for an existing product in areas and applications far removed from their current application, (b) looking for new potential distribution channels or new customer groups for an existing product, and (c) building the core competencies needed to introduce and support the New Market Disruption."

    Lisp is ideal for applications that require either a high level of abstraction or their own DSL. It is also a great rapid prototyping tool. Paul Graham succeeded with ViaWeb because he knew what Lisp was good for and exploited it really well. As he says: "Software is a very competitive business, prone to natural monopolies. A company that gets software written faster and better will, all other things being equal, put its competitors out of business. And when you're starting a startup, you feel this very keenly. Startups tend to be an all or nothing proposition. You either get rich, or you get nothing. In a startup, if you bet on the wrong technology, your competitors will crush you."
  4. Viral marketing is soaring in importance as trust in business tanks:
    With every additional business scandal, the public becomes more cynical about advertising, PR and product claims. The concept of viral marketing is not new: Seven years ago Jeff Rayport of Fast Company introduced its six fundamental principles: Use stealth and subtlety to convey your message, give stuff away free up-front, exploit peer-to-peer networks to spread the message, make the message memorable and 'sticky', exploit the strength of weak ties, and work to reach a 'tipping point'."

    Viral marketing seems to be slowly working with Lisp. Look at the number of people who have come to Lisp after reading some of Paul Graham's essays about Lisp. Since starting up this weblog, I've been amazed by the number of emails I've gotten from people reading my blog whom I had never heard of (or from) before (despite the fact that I don't provide a facility for people to post comments on my weblog). There are many Lisp implementations available, both free and commercial products. This makes it easy for people to get started with Lisp and gives companies a stronger assurance that Lisp is a real option.
  5. A business is nothing more than the sum of its people's productive efforts:
    'Best practices' no longer work because every situation is different, every aspect of every project unique. The best thing management can do is hire the top people, establish goals and roles and suggest general processes to achieve them, and get out of the way. With everyone's job different, the best infrastructure is decentralized and personal, which is why Business 2.0 was right to call Social Network Applications the Technology of the Year, and why personal content management systems, built on a blog-like platform, and open to individuals' networks inside and outside the enterprise, will succeed where centralized systems and databases and intranets failed."

    I like the following quote from Richard Gabriel when talking about why he would use Lisp instead of current programming language choices: "Our current popular languages are designed to help losers lose less." The 'Best practices' that are used in most development shops are geared towards "least common denominator" programming teams. When you hire top people (or collaboratively utilize the efforts of top people), you can focus more on what makes those people the most productive they can be.
  6. Innovation only flourishes in an environment that is open, collaborative and agile:
    "In his new book The Slow Pace of Fast Change, Bhaskar Chakravorti explains why the atmosphere in Fortune 500 companies in the past few years has been so averse to innovation. These large enterprises are not only heavily invested in the status quo, they are also largely closed systems, with exchange of information outside the organization (sometimes even outside the department) viewed as risky, as a breach of confidentiality, and as giving away something of the organization's 'competitive advantage'. Worse, these enterprises are highly competitive, not collaborative -- employees try to 'win' in the marketplace against competitors, vie against other business units and compete one-on-one in the marketplace -- the antithesis of cooperation. And finally these organizations are hierarchical and committed to existing products and processes, and discouraged from challenging them. Chakravorti's book, and several other 2003 business bestsellers, stress the importance of either changing that culture or allowing the innovation to occur in separate, autonomous units where openness, collaboration and agility are viewed as advantages, not threats."

    I think that the work that Marc Battyani's company Fractal Concept is doing in using Lisp with a combination of proprietary and open source code to target industrial microprocessors is an excellent example of a combination open, collaborative and agile approach. Would this type of innovation have occurred in a large corporation? It isn't even being done by many independent developers. In fact, as Duane Rettig notes, this is an area of Lisp development that is not often targeted by Lisp developers despite the advantages Lisp has in this space.
  7. Stories are subversive, and far more persuasive than presentations, prescriptions and reports:
    "Not only is this more engaging, it is more consistent with how we learn, and more persuasive because it slyly leads us to reach our own conclusion, unaware at how the narrative is manipulating us to that end. Having reached that conclusion, we embrace it more readily than if someone else tried to 'sell' us on it, and we remember it better because we recall the 'journey' that took us to it."

    Again, look at the reaction of people to Paul Graham's essays about Lisp. People need to be convinced that Lisp is an appropriate tool by hearing stories about its successes, not by weighing up the technical merits of the language as compared to Java or C++ or issues with J2EE as a programming platform. If Lisp is appropriate for a project, use stories to illustrate why it is the correct choice.
  8. Business will evolve into a World of Ends, with federations of small, specialized, networked enterprises replacing hierarchical, vertically-integrated conglomerates:
    "In recent years, large organizations have outsourced, and more recently offshored, millions of jobs in an unending attempt to eliminate everything they do that is not a 'core competency' -- something they do better than virtually anyone else in the world. The risk they take doing this is that the core competencies that are left -- things like specialized decision-making, raising capital, and allocating resources -- are so shallow that they don't justify the freight -- the high rates and mark-up the organization charges for providing these   services. As a consequence, if Searls & Weinberger's World of Ends model applies as well to business as it does to the Internet -- and there's evidence it does -- the consequence might be that the hollowed out conglomerates might be dis-intermediated out of existence as well-networked, specialized, independent manufacturers, distributors, servicers and R&D houses (many of them in the third world where they've become quite expert at doing this) contract directly with each other and cut out the (Western) middleman entirely."

    There has been a lot of concern lately among American developers over the trend to send development work offshore. Regardless of whether you feel this is positive or negative and whether it will continue or it can be stopped, it is important to realize that the greatest impact is on the commodity application developer. Developers that have unique or very specialized skill sets will be less impacted by this trend. In fact, if this does herald a move towards smaller, networked heterogeneous enterprise development teams with loosely-defined interface points, this suits the Lisp developer very nicely.
  9. When a business' relationship with its customers is adversarial, it's in its death throes:
    "From the RIAA suing its customers to Nike and others going to court to defend their right to lie to customers in their PR and advertising, to ExxonMobil contributing 5% of the world's pollution and refusing to pay a penny to clean up the mess they are creating, there are signs that many large, established companies and industry groups are entering the fourth and final stage of their business cycle -- start-up, rapid growth, maturity, decline -- and doing whatever they can to stave off their inevitable (and by now, in most customers' eyes, welcome) collapse and demise. It is increasingly common wisdom that customers are every company's greatest and most fragile asset. Corporate actions that are clearly not in the customer's best interests are evidence of desperation. The most visible evidence of this in 2003 was the frantic lobbying by these dying companies to entrench themselves a little longer by extending and expanding what they can register as intellectual capital. To the point where many experts are starting to say that patents are innovation's worst enemy."

    Look at where large companies are pursuing protectionist practices - there is normally a market to be found here. Lisp lets a developer take an idea from concept to product very quickly and is an ideal tool for exploiting such market shifts.
  10. Developing 'Purple Cows' - Innovations that are truly remarkable, is the best way to break out of the pack:
    "In his book Purple Cow, Seth Godin says if you really want to distinguish yourself, forget product extensions, product enhancements, and product 'sequels', and employ some truly novel thinking to develop products, processes, services, channels or technologies that are real eye-openers."

    Lisp is probably the best language out there for developing 'Purple Cows'. ;-)
So, to summarize, here are some of the areas where I think it is possible to make money with Lisp today: Lastly, have a look at where other people have used Lisp successfully in the past. Every programming language has its strong points and its weak points. Here are some links to Lisp success stories: Exploit Lisp in the areas where it is strong and you can make money with Lisp.

emacs Copyright © 2005 by Bill Clementson