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

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 { 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 }

Why SharePoint Professionals Are So Bad

Someone asked on Facebook:

“SharePoint Peeps. (primarily consulting) I have been doing an increasing number of interactions with the trusted SharePoint admin at a variety of customers. Maybe I am just being negative but. I am seeing a disturbing trend of a lack of real "expertise" in this arena. Is this just me, or are you seeing the same thing? Are you out there with these customer SharePoint folks thinking wow these people have it together or are you walking away thinking "who ties these peoples shoelaces for them?" or somewhere in between?”

Here’s my response and rant.

I’m still not sure you’re really serious about your question, but in case you are, as someone who has been actively engaged in the training space of SharePoint for a number of years, including building a university solely dedicated to SharePoint with a bachelor level track in training SP admins, let me just say this in as plain text as possible:

The average SharePoint professional, whether developer or administrator, is so poor at their job that, if their skill levels were applied to other areas, such as hairdressing or fixing your car, you would run away and live like a hippie for the rest of your life.

“Screw the do, I’m walking home”

The fact that SharePoint even functions to some extent is a credit to Microsoft’s development skill, not those who run or build on it. Sure, it has issues with the code base, but it’s a very complex animal and even getting an animal to walk, much less do all the tricks that SharePoint can do, is incredibly difficult.

Sadly, Microsoft took that skill and hid it away in the latest versions so SharePoint hasn’t really evolved. Like a dog, they took SharePoint behind the shed and shot it. They then brought back the skin saying "Look, SharePoint isn’t dead, it has just evolved into this nice rug". Then they claim that they did this because everyone wants rugs.

Back to your question, keeping up with SharePoint is a full-time job and then some. Paradoxically, that is because SharePoint was never allowed to mature before it was replaced with a new version and the marketing department (including its field operatives, the MVPs) started focusing solely on "the new way to pet Lassie".

Of course, people need to eat, and as such, they tend to do what their bosses tell them to do. Those bosses are people too, and people have an innate tendency to believe everyone else knows more than they do. As such, when the marketing department says "Everyone needs rugs, we’re now a rug company" then those bosses dutifully tells their employees to start shooting every dog they see.

So, SharePoint admins and devs, who want to eat, start shooting dogs and turning them into rugs, which initially are really poor rugs because nobody has any idea what a dog rug should look like. Developers have to learn tanning, and admins have to turn from caring and nurturing dogs to being interior designers.

However, as they get a bit of experience and start creating beautiful rugs with nice tints of color and practical shapes, Microsoft brings out a new strategy. The trend now is hardwood floors and nobody wants rugs anymore. In fact, it was a really bad idea in the first place.

Now, this happens at such a pace that by the time everyone starts to learn how to shoot dogs and turn them into rugs, there’s a new fad coming. Because it requires extensive investments in learning, usually done at the employee’s private time or at the cost of quality of their work or life, the employees get increasingly de-motivated. "SharePoint is hard" and "SharePoint sucks", not because it actually is hard or sucks (c’mon, you have to spend a couple of weeks training to get a job; how hard can that be?) but because they’re constantly told to retrain to cater to the latest and greatest flimsical fad.

So, yes, you’re right. SharePoint admins suck. SharePoint developers suck. I’ve even worked closely with those considered the best in the business for years, and you’d be scared shitless at how little many of them actually know outside a laser focused area.

It’s not their fault, though. It is a fundamental flaw in how SharePoint is sold and how Microsoft promotes its strategy, as if SharePoint is indeed the core business of all its users and thus warrants the massive investments in training that it requires. 

.b

Read full story Comments { 7 }