Are You a SharePoint Developer Moving to Apps? You’re a Moron!

I was briefly part of a discussion on SPYam where Michal Pisarek mentioned he’d been talking to some iOS people coming to SharePoint and loving the new App model in SP2013. His question was whether existing SharePoint developers were falling behind by not adopting the new model.

I say no. In fact, I say that if you are an existing SharePoint developer and you’re jumping on the App model, you’re a moron.

Microsoft’s SharePoint Dilemma

SharePoint is a failure. Lack of adoption success, the MySpace situation, and the constant nagging from professionals about how difficult everything is, Microsoft’s need to introduce a new framework to ‘solve’ some kind of problem; these are signs of disease, not of success.

Of course, SharePoint has reached millions of users and virtually all of the US Fortune 500 companies. Isn’t that a measure of success? Well, that greatly depends on your definition of success. It’s certainly a success for Microsoft, considering that most of at least the larger installations are paid licenses. It may not be a success if you measure the return-on-investment for smaller companies.

Still, Microsoft needs to do something. They’re already selling licenses to almost all relevant companies. If SharePoint is to be a growing business for Microsoft, they need to find new ways of increasing sales.

Keep in mind that Microsoft’s interest in a customer ends the second the customer purchases a license. Microsoft doesn’t care whether you make a profit from your investment, nor whether you actually use your product. They’ve reaped all possible benefits from you being a customer; no matter how well your solution or investment performs or fails, Microsoft won’t make a dime more.

In other words, with the pre-SharePoint 2013 models, Microsoft has peaked its earnings from SharePoint. They need something new in order to grow their SharePoint revenue.

Let’s Talk About You

This is where you come in. There are simply no new methods that Microsoft can use to increase sales on their own, so they need external help. Luckily, you’re here to help them; to earn money for them.

Microsoft earns a cut every time someone buys your App, which is a fine enough model. They provide access to their customers, you provide a new revenue stream for them. This is a win-win situation.

However, as all App developers will tell you, only a few Apps actually make money, at least enough to defend the efforts involved in building and maintaining them. For every Angry Birds, there’s hundreds of games you’ve never even seen, built by people like you with just as many good intentions and ideas. The more successful an App platform becomes, the more difficult it becomes to make a dime for the developer.

On the flip side, Microsoft gains benefits by having a large App fauna, both in terms of marketing and the more obvious revenue streams. Their model is infinitely scalable, getting a cut for every sale regardless of whether there are five or five million Apps in their store. Your model depends on continuously working on improving, marketing, and supporting your App.

This may be a fine thing for someone who has few or no other ways of reaching this audience. For example, those that are already building Apps for other platforms and have extensive experience and skills in HTML and JavaScript will have few problems migrating those skills to SharePoint. They need to pick up on a few new object models and APIs, but they do that as frequent as they have breakfast, and it’s in their blood. Apps aren’t bad by design, but you’re a moron if you think you’ll be rich or even make a living if you jump your current ship to get on the bandwagon. Apps are designed to appeal to App developers.

You, however, who already have skills and experience in traditional SharePoint development start sucking at what you used to do the moment you shift your attention to something else.

Break a Leg

And I mean that literally. If you’re in a part of the world where there’s snow and ice, go outside, find a steep road, and run down it. If you’re a woman, first of all, I love that you’re doing SharePoint, and second, put on your highest-heeled shoes and run down an escalator at a local mall. Just make sure you break something; and arm, a leg, anything.

Now, who would you like to fix you up? Your two choices are a surgeon who knows about every possible treatment for any known disease, or the emergency room doctor who, despite his lack of neurology training, does nothing all day long than patch up broken legs?

Unless you’re an idiot, you’ll want the ER doctor. After all, he or she knows how to patch your leg up with their hands tied behind their backs and while blindfolded. The super-surgeon may know about 15 ways of patching a leg, but if he or she doesn’t actively practice those methods, they’ll be about as useful as a text-book on the subject. You don’t want a doctor Googling your treatment, you want someone who no later than 15 minutes ago did the exact same procedure, and who does nothing or little else all day long.

The thing is, you don’t get good by learning. You get good with practice. If you learn every skill on the planet, you will suck at everything. If you learn just one or a few things and consistently practice those, you get insanely good. Michael Phelps didn’t get good at swimming by playing chess or juggling 26 balls at once. He got good by swimming, and doing that a lot.

If you already are skilled in SharePoint development, moving into a new area means you have no experience and you are no good at what you will be doing. You need to build the skills and the experience from scratch. You do this for the promise of having perhaps a 1 in 200 shot at making a profitable App.

Simultaneously, in the area you just left, all those that chose to remain will keep improving their skills and experience while your skills and experience stops. In fact, you’ll get worse, because you don’t get good at not doing something, so the longer you don’t do what you already know, the more you’ll forget and the more you’ll dwindle.

But it gets worse.

But What About My Career?

You may be concerned that you’ll be left behind. You may be concerned that while all the cool kids play with SP2013 Apps, you’ll be stuck building farm solutions or configuring DataView Web Parts the next couple of years. At least, that’s what you should hope happens.

If you’re concerned with your career, then there’s nothing better than to have a huge chink of your competition move somewhere else.

But what if everyone moves to SP2013 Apps, what then? Well, even better! You see, the problems facing organizations do not change when Microsoft introduces a new framework. They are still face with the same inefficiencies in the Human Resources department. They still struggle to get the same customers to pay on time. They still need to support new employees and ensure they get onboarded properly.

These problems have been solved by people like you for years now, using SharePoint or other platforms. It’s not a matter of whether the problems can be solved; they can be solved, to exactly the same degree as before. And let’s be honest, if a company problem goes away, which version of a tool makes it go away is completely beyond the point of interest to most organizations.

By diverting focus, however, you start to suck at what you do. Nobody is good at SP 2013 Apps now; even the people who have already been doing it for years suck. If you’re the best SP2013 App developer in the world, you have at best half the experience that even the most mediocre SharePoint 2007 developer has.

You’ll continue to suck at SP2013 Apps for a long time, probably forever.  In the meantime, those that remain with what they know and consistently practice that, facing ever more challenges and solving them using tools they already know, will progress exactly as fast as you are.

In other words, in one year, you’ll have one more year of experience and have seen X new problems you’ve solved, incidentally exactly the amount of experience and new problems someone who stays with what they know will have gained. Relatively, you’ll suck exactly the same amount in a year.

Welcome To The Future

If you are a SharePoint developer and you’re completely unable to find work then first of all, welcome to the future, we have something called The Internet, and you cannot possibly be online and know how to spell SharePoint without getting a job these days.

However, at some point in the future, perhaps there will be a shortage of work for SharePoint developers. At that time, I’ll be the first to grant you that moving to something else makes complete sense.

Until then, SharePoint doesn’t need more people who know jack about a wide range of topics. SharePoint needs experts with deep understanding of their chosen field, whether that is development, administration, or business usage.

The developers that stay with what they know will have one more year of experience in 12 months, and so will you, regardless which path you take.

.b

Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Pin It

Published by

Bjørn Furuknap

I previously did SharePoint. These days, I try new things to see where I can find the passion. If you have great ideas, cool projects, or is in general an awesome person, get in touch and we might find out together.

24 thoughts on “Are You a SharePoint Developer Moving to Apps? You’re a Moron!”

  1. Your advice to specialize sucks and for one simple reason: nobody wants to pay for experts. Your analogy between SharePoint and Medical care is quite possibly the worst comparison I have ever seen. Of course the masses want experts when it comes to their own health, but no one really cares that much about their business process to associate their own monetary resources (bonus checks). Middle management and day-to-day operations might posture themselves and their process to be mission critical or complicated but only for self-promotion. Once upper management questions the money involved in their process they have no qualms finding the cheapest resource around. English speaking skills not required! Just pick the cheapest quote and run with it. When the project fails, blame the external resource for failing to meet deadlines with misconstrued requirement gatherings etc.

    Even better is that offshore resources are *still* so cheap that projects can fail multiple times and it costs far less than paying for an ‘expert’ once.

    The corporate world only wants to pay for ‘good enough’ and your developer-like ‘gold plating’ is going to get your loyal readers in trouble.

    We all should want to have a skill set that can target the largest audience as possible. Have fun selling Christmas ornaments in June, my crappy product sells year ’round.

    1. @bitterac as both a developer and an upper management consumer of developer products / services, I have to cast a vote against your analysis. You might be right when it comes to a lot of companies, but I’m not in the market for crap, especially when it has to run in SharePoint. I’ve had my fill of SharePoint add-ons that break and make the page they reside on unreachable until an admin can remove them, and I’m tired of kinda-sorta-ok-apps on any platform. I don’t care if it was free, $0.99 or several thousand dollars, when it breaks, it starts using my resources and its price basically starts increasing. Tech-support costs money, administrator time costs money and frustrated users are costing companies money, even if they long ago cut the check for the piece of crap that is at the root of the problem.

      Your analysis of the use of off-shore resources is particularly confusing. I can well imagine the reaction of my end-users and/or my boss if I tried to explain how we are still ahead of the game after a project has failed multiple times.

      For my money, I will rely on the in-house resources I have hired and the “expert” contractors I have come to depend upon.

    2. I’ll speak as a consultant, but whenever we come in and pick up “crappy products” where others left them off, I can tell you management is happy to see us.

      More specialized is not always lineraly correlated with more expensive. I’ve seen a lot of crappy consultant who charge as much or more than I do. I know others who are much better and don’t charge a significantly higher rate. Better also equals more demand for your skills. Many people are ready to pay more if they know it means it will take less time and be done better.

      You seem to live in a bitter(ac), dysfunctional office world. Maybe you should specialize in something?!

      Not that I entirely agree with everything in the article..

  2. Awesome truth:
    Keep in mind that Microsoft’s interest in a customer ends the second the customer purchases a license. Microsoft doesn’t care whether you make a profit from your investment, nor whether you actually use your product. They’ve reaped all possible benefits from you being a customer; no matter how well your solution or investment performs or fails, Microsoft won’t make a dime more.

    thanks,
    Stephan

  3. For some of us, this app thing will be a natural extension of what we’ve already been doing. We’ve been morons for a while already.

    M.

    1. I don’t mind choices. I am happy to do a full-trust solution where it makes sense, a sandbox solution where it makes sense, or use the new App-Model. I think they all have their sweet spots depending on what you want to accomplish, and telling developers they should constrain themselves to only knowing one application architecture seems unfounded. A good developer is one who fits the best solution to solving a problem, and in some cases the new App model may well be the best solution.

      1. Chris,

        The choice of application architecture is a question for an architect, no? I know many developers also has the role of an architect, especially when the number of skilled people is as low as it is for SharePoint, but that doesn’t change that knowing which architecture to use is not a question for a developer.

        .b

  4. Well I just can’t agree to the part where you say MS wont care about the customer once he buys the license, because thats where we (Partners) come into the party and helps them to make better use of the software and the followup. As software developer, i’m sure nobody will change to Apps model alone, but consider and offer every possible solution where it would apply.

  5. Hmm. I have some doubts about “apps” (as anyone who’s seen one of my recent apps talks can attest to), but I don’t find myself agreeing with most of these points – aside from Chris Beckett’s comments above. In terms of the business aspects, I’d say:

    – I don’t buy your assertion that apps are about increasing revenue by 3rd party developers “earning money for them” from the cut from app sales. I think the drivers are around bringing flexibility and power to Office 365, facilitating healthy on-premises platforms, ease of upgrade (which *is* sometimes linked to revenue) and the resulting happy end-users and service owners.
    – I strongly disagree with “Microsoft’s interest in a customer ends the second the customer purchases a license. Microsoft doesn’t care whether you make a profit from your investment, nor whether you actually use your product.” Any business graduate will tell you it’s far cheaper to retain existing customers than acquire new ones – especially the case where technology migrations (e.g. Google Docs to SharePoint) are concerned. Also, I contracted to Microsoft for a while, and whilst there I saw an initiative to help customers “get the most out of the money they’ve already spent” – they had stats around lots of unused licenses/unused functionality which clients had paid for but not made the most of. So, lots of TAMs and engineers would visit clients to help them with a feature set (e.g. BI) at no direct cost to the client – the bill would have been very large indeed, but it was an investment for the long-term healthiness of the client/Microsoft relationship. This wasn’t just a regional initiative.

    Just back on those “app” drivers for a second – having analysed many SharePoint environments on behalf of Microsoft, you do get a sense of how many folks have issues caused by poor SharePoint code, and in general are not doing a great job of running SharePoint in terms of patching, backup/recovery, DR etc. At this point, the apps model (and indeed Office 365) start to make a lot of sense.

    Also, in the SP2010 timeframe we developed some customisations which were effectively the SP2013 social capability. It would have been great commercially if we could have packaged this as a sandboxed solution (for Office 365), but we couldn’t find a way – there were too many scheduled processes (timer jobs), and it just didn’t fit into the sandbox model. It *IS* interesting to consider, however, that the app model would deal with this just fine – it would most likely need to be a provider-hosted app, but the obstacles in the SP2010 timeframe have effectively been removed. At the same time, the integrity of the SharePoint environment itself is preserved in terms of stability/performance etc.

    Finally, I can’t really agree with your “skills” arguments at the end either. Sure, there’s lots to learn about apps, but most of the devs I know are (without realising it) well on the way. On historic projects, our customers said things like “looks great, but please stop the page reloading all the time” or “I don’t know what it is, but it’s very flickery” – so we moved with the times and started developing in a more AJAX way, using jQuery, REST and CSOM. Our solutions are all the better for it, and clients love the responsiveness of what we build. I note that my blog article series on this is now 2 years old (at the time of writing). Any developer who has transitioned their skills (or has started to) to client-side development in JavaScript is in a great place for apps. Even if they haven’t, provider-hosted apps mean they could still program in C# with the .NET CSOM if they wanted to. But the argument of “sticking what you know is always better” seems an unusual perspective for a technical person (even though the other extreme of “using a new approach simply for the sake of it” doesn’t make sense to me either).

    Personally, I’m just going to learn as much about apps as I can – so that I’m best placed to guide my clients on their suitability (or not) for their needs. I’ll get fewer provocative headlines, but not to worry.

  6. I think that the App model finally gives consultants the ability to deliver solutions into Sharepoint that historically did not belong in sharepoint. Many times I have delivered solutions that would be far better as a stand alone .net app but the client was sold Sharepoint and the answer to all their prayers. If we are now able as developers to use the right technology for the job AND deliver it in SharePoint app model then I think it can only be a plus.

  7. While I do agree with the point that it’s impossible to become a master of many things and that diversion will lead to a degradation of skills, I think there are good commercial reasons to consider the App model when developing products to run on SharePoint.

    The biggest problem with SharePoint is that the vast majority of organizations lack the skills to properly implement and support it. While that’s great news for us as specialists in the product, it becomes painful when we adopt the role of developing products that run on the SharePoint platform since it there is no clear boundary between problems caused by misconfiguration/mismanagement of SharePoint and problems introduced by our product. The result is that we end up bogged down in providing free support and consultancy to fill the skills gap rather then focusing on our product.

    The App model allows us to implement a solution that has a well defined boundary. It’s unlikely that anybody will build any serious solutions purely using the App model but as a component in a larger solution that uses ‘traditional’ techniques the App model provides a way to reduce the footprint and therefore the support costs of our products. From that perspective it’s worth getting to grips with.

  8. I mostly agree with Chris OBrien and I’d just add this : you’d be a moron not to learn the new App Model for a simple reason : it’s just part of the product now and you simply can’t ignore it!

    I’m not imagining myself saying in front of a customer “I’m not interested by this new app model so please hire another consultant for that…and I woudln’t want to say : it’s just crap without knowing it, so learning it is a prerequisite!”.

    This App Model is just too big to ignore it and as Chris mentioned, it has a lot of impacts on the way you deploy your SharePoint platform. The release calendar can be completely reviewed since the deployment processes can be completely spread over cloud/internal cloud/onpremise installations. I’d even add that to me, this is really what the App model brings, all about deployment because regarding development, it is just reusing well-known languages & libraries. I’ve been using both the client object model and the REST APIs regularly during those past 2/3 years. So, IMHO, the effort to learn how to develop Apps is rather limited in terms of pure programming.

    1. It’s interesting to see how many people argue by rushing to defend their decisions rather than reading what’s actually been said. Although certainly not unique to you, you really seem to think this article is an attack on Apps.

      I’m guessing wildly that you’ve committed to switching to Apps. That’s fine. However, this article has nothing to do with that and I’m somewhat surprised at how many people seem to completely miss the point when they feel their decisions are under scrutiny.

      .b

      1. Hi Bjorn,

        It’s funny, I think I’ve read the post entirely plus, isn’t the title

        “Are You a SharePoint Developer Moving to Apps? You’re a Moron!” ?

        So, if it’s not related to Apps, then indeed, I’m not sure to catch your point :). That said, I love your way of writing blog posts and it’s always a pleasure to read them! I like people who have opinions good or bad way better than people having no opinion :).

        My understanding of your post can be summarized in a few bullets:

        – You more or less say that people can keep working on their usual way and more or less “ignore” the new App Model
        – You talk about money
        – You more or less say, let the others go to Apps so that you’ll have less concurrents in the non-app world.

        While the last argument is of course true, I think that for the reasons I’ve explained in my previous reply, ignoring Apps would be a silly mistake and doing that, you’d be a moron.

        Apps are based on existing technologies and I take the bet, will be widely & heavily used in the 3 coming years! Of course, I don’t say developers must give up with what you’ve learnt so far, certainly not but they need to make this extra effort to jump on the Apps as well :). My 2 cents of course!

        Cheers

        1. Stephane,

          Try switching the word Apps with something else, for example WordPress or Facebook development and see if you get the point of the article then.

          It’s not about Apps, it’s about focus. You can’t focus as much on two topics so diverting attention means you’ll develop slower in both topics. If you’re already good at one topic and not in another, you’ll also need far more time and effort to reach the same level of competence in the other topic, and that time and effort will need to be deducted from the time and effort needed for the first topic.

          In other words, X-Yhttp://blog.furuknap.net/become-a-sharepoint-professional-key-questions-to-ask-part-3-how-do-i-become-a-true-sharepoint-expert

          The chances that anyone are fully trained in what they already do and can’t improve massively is slim to none. SharePoint developers still have massive amounts of learning to do. If they stop or even divert attention to something else, that skill increase takes proportionally longer. As such, if you move from something in which you’ve already spent a vast amount of time into something in which you are completely blank, you’re a moron.

          .b

  9. As ever Bjorn stirs up the community! It’s a great article. ‘Apps’ is the sexy phrase for development these days and Microsoft are no different in trying to hang their hats on this. Maybe SP Devs don’t have a choice in what they will have to work on, maybe their own bosses and customers are demanding that they work on ‘Apps’.

    But Bjorn’s point is well made. You can’t be an expert at everything and that you are better to specialise. But easier said than done. Companies want all rounders who can do bits of everything. Doesn’t mean they are experts at it. Hell no. But it is cheaper for companies to work that way. And if it doesn’t work? Well it’s because SharePoint sucks, isn’t it….???? 😉

  10. Your advice to specialize for one simple reason: nobody wants to pay for experts. Your analogy between Share Point and Medical care is quite possibly the worst comparison.

    1. Nobody wants to go to the dentist either, but it’s a damn good idea.

      .b

      PS: I removed your link to your ‘hire a reputable SharePoint company” because the company to which your comment spam links eventually lead is about as reputable as North-Korea
      PPS: It’s called SharePoint.
      PPPS: You’re one of those idiots, for other reasons than what’s mentioned here.
      PPPPS: To other bloggers, the company Tatvasoft is mass spamming comment fields these days by linking to seemingly relevant articles that are designed to look like regular blog articles but are really just spam marketing.

  11. I need a little help here people, i have worked for 3 years as a software engineer and worked in different Microsoft’s technologies like ASP.NET, Silverlight and MVC. Now i just got shifted to a Sharepoint project. I believe that if i use the formula of making myself expert in one technology then i think i would have been lost somewhere in the past when i was working in silverlight and suddenly got the news that Microsoft is not moving to its enhancements and giving support for it. Today i am really happy that i am kind of person who is definitely not an expert in any technology but can work in any technology.

    Personally i believe that our field is not about “What we know, but what we can do”. Its not not about “Knowing the solution of a problem, its about finding it”.

    What do you think ? I really need some good and positive advice here.

    1. Google experts tend to fall very short of delivering value, at least in the long term. They are excellent at portraying knowledge to anyone who doesn’t see them Googling. They are fakes and frauds, but yeah, they make money, and they’re cheap because they don’t actually need any real skill that has taken years to build.

      There is a difference between specializing and using only one tool. You have neurosurgeons who specialize in fixing your brain, but that’s hardly the same as being a surgeon that uses only scalpels. You’d be a horrible surgeon if you only used a scalpel.

      So, being an expert is still a good idea. Specializing inn using only one tool is not, nor will it make you an expert, at least not a usable one.

      .b

Leave a Reply

Your email address will not be published.