On the Current State of Microsoft

I wanted to write this post for a long time but I’ve been under the influence of Kool-Aid for many days. However, having calmed down, I’ll say this and probably cause a rift in the very fabric of the universe: Microsoft is doing almost everything right these days.

For the previous five years, I’ve been highly critical of Microsoft for a number of reasons, to a great extent because of how it worked with the SharePoint community. I was right, and history is proving that every day.

Since the end of the Ballmer era, however, Microsoft has taken an almost 180 degree turn, shifting from a focus on the nearest squirrel (FOCUS, MIKE! THERE IS NO SQUIRREL!) to getting back to the roots that made it great a decade or two ago, that of catering to the highly skilled IT professional as its core audience.

Microsoft seems to have realized once again that to build something great, you need an amazing foundation first. That foundation comes from its technical audience. Those people in return will be champions of Microsoft, either through promoting what they now perceive as a company that cares for their well-being (as opposed to just sucking the joy of life out of everyone for the sake of profits), or from building software and solutions that make Microsoft products and services valuable and the preferred option.

I’ve been doing a lot of development on multiple platforms lately. At my level, platform is about as relevant to what I do as the address of a pizza delivery. It’s something you look up, go there, do your job, and move on. One is pretty much the same as the next.

I thoroughly enjoy developing on the Microsoft platform. Visual Studio is leagues ahead of the rest. The maturity of .NET compared to Java (or heavens forbid Objective-C) is beyond description. Working with IntelliJ and Android Studio is like going back to the mid-90s; it’s slow, clunky, and feels like you’re developing with handcuffs. XCode is as pleasant as hanging upside-down from your testicles. I mean, who the f* comes up with the idea that in order to build software, you need a certain type of hardware? Apple does. And certain BDSM mistresses, I’m sure.

Microsoft’s challenge now is to keep a steady course. I don’t want to build Windows Phone (or Windows 10) apps, simply because there is no audience. The money isn’t there. The audience isn’t there. Build an iOS app, and the fanbois will buy it like it’s crack cocaine. Build a Windows app and it’s like a fart; only those closest to you will even notice, and it’s irrelevant a few moments later.

If Microsoft manages to keep it’s renewed focus on the foundations of its business, I’m confident that the audience will arrive. If it falters and goes back to its later Ballmer era ideas of sucking as much money as possible out of incompetent idiots, then they will fail.

Where does this leave SharePoint? I’m happy to say, I don’t care. SharePoint 2016 is coming out. I’ve been known for the previous decade as the person who dug into every single detail of upcoming versions. I barely know that it’s scheduled to arrive this year, and learning that is about as much attention as I’m going to give it.

SharePoint is dead or dying. It’s not part of Microsoft anymore. There are some ideas that just have a time and a place and you should move on after that, and SharePoint passed that time and place in early 2012. From then, it’s just a long hill down towards oblivion.

.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.
Donate Bitcoins

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!

Read full story Comments { 2 }

First Mobile Development Experience

After announcing that I’m going to leave SharePoint, I’ve had the rare opportunity to choose a brand new career at the ripe age of… more than 25.

Note: I’m still 26 years old. I’ve been for many years.

One opportunity that arose through an awesome client is mobile development. It’s been a somewhat mysterious space to me since its inception, but some of my best friends whose opinions I value greatly tell me it’s a nice space so there you go.

My first impression is that this could actually be far easier than I thought. The huge issue has been building a dev environment and understanding the various processes and tools required. Because I’m no longer constrained with the somewhat quirky SharePoint development experience, I can be bleeding edge on everything, and bleeding edge right now is Windows 10 and Visual Studio 2015. Which is a nightmare, but hey, that’s what you get for using pre-release software.

Once that was done a couple of days ago, however, I immediately dived into not doing mobile development at all. Because, you know, the best way to do mobile development is not to do it at all.

To elaborate, I’ve always been a proponent of building extensible and reusable components. I did so with SP SIN, which started out as a way of adding a style sheet to a master page and turned into a full-featured SharePoint app store that crosses versions and app platforms. I’ve done so with Magick, which started as a way to avoid redeploying WSPs and turned into the framework to end all SharePoint deployment issues. In fact, I did so with NB2, a project several decades ago, that started as a way to extend server-side includes in CGI and ended up as an extremely extensible framework for building content publishing applications.

You can say extensibility is in my blood.

So, when I started to look at something to do in mobile development, the first thought was to build a core portable library for Wizh.NET to allow building of ISENG clients more rapidly.

Note: For those not paying attention, Wizh.NET is my new platform for interactive stories and games, and ISENG is the backing format. Extremely extensible, of course.

By doing so, I can basically encapsulate all the nitty-gritty details of supporting various ISENG features, including extensions, in one core library and then deploy that library through .NET-capable devices through for example Xamarin for mobile platforms.

Lo’ and behold, my first Windows Phone app.

26-11-2014 07-13-17

Yeah, yeah, it’s mighty impressive, I know, but it should be noted a few things to make this slightly cooler for the non-initiates.

First, what you’re seeing is a rendering of an interactive story created on Wizh.NET, so it’s an example of a cross-platform use of ISENG. Second, the library supports any extension to ISENG (you’d need to write your own rendering and behavior of the extensions, of course). Third, this app took the better part of 15 minutes to create once I knew how to write a Windows Phone app.

Here’s the console application version of the same story using the same library binaries reading the same ISENG file.

22-11-2014 04-28-58

The story, incidentally, is the one I use in the Wizh.NET tutorial over at the Wizhblog.

So, by doing the backend stuff first, and doing it right, I now have the ability to churn out clients quickly, which means less mobile development and more doing the cool stuff I really like.

Feel free to tag along for more on my mobile development experiences. I’ll be writing less and less about SharePoint from now on, methinks :-)

.b

Read full story Comments { 0 }

Why SharePoint Recruiters Are So Bad

From time to time, I’m approached by a SharePoint recruiter looking to get my help in hiring the perfect candidate for a position. You may be surprised to hear this, but finding and hiring the right candidate isn’t all that hard if you know what you’re doing.

If you’re such a recruiter however, chances are high that you have no idea what you’re doing, so I’m going to point out some of the mistakes you make so you can fix them.

It’s Not Low Hanging Fruit

One reason why the market to recruit SharePoint people is hot is that SharePoint people are generally paid very well. Recruiters work on commission, usually a percentage of the salary the employee gets.

That’s why it is very tempting to hire a $100K a year employee rather than an average support chump who is more than satisfied making $30K a year.

It’s human nature to seek the highest reward for the least amount of effort, but whereas understanding the reward is easy, many recruiters are incapable of understanding the effort.

It’s SharePoint, right? How hard can it be?

As common as it is to see a high reward as a tempting target, it is equally common to ignore some very basic logic. If it was easy to make three times the reward, you’re not the only one who realizes this. If people are still not hired, it’s probably because there’s more to the story than you think initially.

Recruiting people to SharePoint positions require a great deal of understanding. If you have that understanding and do the right things, you can find people that are suitable for a job fairly quickly and you reap the higher rewards.

If you don’t, you’ll make all the same mistakes that everyone else does and you’re wasting everyone’s time and money.

Your Ad And Why It Fails

Let me examine some of the mistakes I see in job ads and approaches to hiring SharePoint people.

“Great Salary!”

The worst possible line you can write in a job ad is that the position offers a great salary without any specifics.

First of all, if you don’t understand the business,  how can you evaluate the salary and call it great? Second, if you don’t know who you’re hiring, how do you know what they consider a great salary?

The problem is that when you say that there’s a great salary, or even a competitive one (which is even worse), you’re building expectations that you have no idea whether you’ll meet. I may think $200K is a great salary but you think that if you make $80K a year, you’d be set. Thus, when the time comes to negotiate a contract, I’ll be disappointed. That’s never a good way to recruit anyone.

If you know what the position pays, even if it’s just in a range, just tell me. You should know enough about the business to know what such positions pay.

No salary information is actually better than trying to tell me that I should be satisfied with what you think is great.

“Must Be Willing to Relocate”

I understand the value of team building. Having someone nearby to whom you can walk and ask questions, give tasks, or get feedback is awesome.

However, I’m already living in tropical paradise. I have the world’s biggest pool less than 30 feet from my door (it’s called “The Pacific Ocean”). I have wild macaws flying over my private rooftop terrace daily and monkeys call at me less than a mile from my living room. I love this place.

If you demand that I, or anyone, break up their current way of life, you need to offer something that is more valuable. I would consider moving from here for an additional $75-100K, which means that what you previously thought was “a great salary” is now up to $275-300K.

This tells you something important; I value my current way of life at a certain sum. Are you or your client willing to pay that sum or is the value too high for the convenience of having my stunning personality in your office?

Today, it’s easy, convenient, and moving towards completely normal to work in distributed teams. Perhaps it’s better to move with the times and see if there are cheaper and even better ways to accomplish what you want? Heck, it’s cheaper to fly someone across the country once a week than it is to relocate someone and pay them for the inconvenience.

“Here Are The Tools You Must Use”

If an evaluation of what you think is a great salary is the worst single line you can add to a job ad, the worst possible paragraph you can add is the tools you expect someone to use to solve your problems.

I’ve written about this extensively in the past, but as a recruiter, think how you’d react if your client comes to you and demands that you use only paper letters to contact potential candidates, or that you cannot use Google but must use Bing to search for resumes.

Would that make sense to you?

You’re given a task to do something which you possibly know very well how to do. You have your way of working, using tools you know very well, and processes that you’ve proven over years of experience.

Why would a client, who is not a professional, tell you how you should work and which tools solve the problem? If they know so well how to do your job, why aren’t they doing it themselves?

Now, take the previous two paragraphs and flip it on your potential candidate and see if it makes more sense. The correct answer, in case you cannot figure it out, is “no”.

So, stop telling people which tools to use. Instead, tell them what they need to do. “Build us an intranet that solves these problems” or “Replace this legacy database with something that adheres to these requirements” or “Reduce the time and overhead of managing projects by 25%”.

Note: Feel free to read up on Paul Culmsee’s article and especially the f-law #3 to understand more about how to set intelligent goals.

Understand the Business

The key thing you must do as a SharePoint recruiter, however, is to understand the SharePoint business. It’s hard work, I know, but without it, you won’t find the right people, and even if the right people are staring you in the face, you won’t know how to recognize them.

Understand what it means when you ask for a “SharePoint developer” or a “SharePoint administrator”. These terms do not mean what you think intuitively, and when you don’t understand them, you look for people that have the completely wrong set of skills.

Understand where the community is heading. Unless you interact with and understand at least the basics of how the SharePoint community works, you won’t be able to reach the right people. As an example of how effective this is, a recruiter who is well-known in the community recently sent out one single message to the right channel and landed resumes from highly qualified professionals within minutes.

Understand where SharePoint is headed. SharePoint is changing, dramatically. You can’t recruit people for the tasks of yesterday and expect them to cope with the tasks of tomorrow unless you also expect to give them the proper training. Oh, and yes, you’ll be paying for that training, whether it is in having incompetent people a year from now or it’s actually giving the employees the resources they need.

Intelligent recruiters know how to work with the community. Some of them approach community members to learn, seeing that those that make it reap huge rewards.

Others think that they can just apply their skills at hiring burger flippers at Mickey D and get the best SharePoint professionals in the world.

It’s up to you, really.

.b

Read full story Comments { 3 }