Become a SharePoint Professional: Administrators Are Good People!

In the Become a SharePoint Professional article series, I discuss aspects of what it takes to become a professional SharePointeer.

It’s time now to look at another greatly misunderstood role in SharePoint, that of the SharePoint administrator.

Or rather, let me start by looking at what’s not a SharePoint administrator.

Oh, and if you are an employer reading this, prepare to want to give your SharePoint administrators a raise.

What a SharePoint Administrator Isn’t

Remember that when I talk about roles here, I do mean roles and not people. A common situation in SharePoint is to have one person in multiple roles, such as developer/architect or administrator/developer.

That’s fine, just realize that it takes twice the effort to become good in two roles, meaning you invest twice as much training in growing your career. That should reflect in your salary requirements.

An administrator, though, is not a developer. You may see an administrator do at least basic development work, for example by developing taxonomies, views, workflows, and such, but these tasks are not administrator tasks.

An administrator is not an architect either. If you ask your administrator person what the requirements in hardware will be to run a specific solution, chances are you might as well as your mother and by that I mean the proverbial, non-architect mother.

Neither is the SharePoint administrator a server operator. Sure, many SharePoint administrators have backgrounds in server administration, and having such a background is definitely useful, but the tasks a SharePoint administrator does is not in the realm of Active Directory operations, SQL server management, and so on.

I realize that many administrators, like other SharePoint professionals, have experience and knowledge that spans multiple fields. However, it is important to realize where you focus your learning, training, and professional development.

If you want to become a SharePoint professional, at least one that knows how to tie your own shoelaces, you need to focus.

Note: refer to the previous articles in this series if you want to understand the need for focus better.

So, What is a SharePoint Administrator?

A SharePoint administrator, well, administrates SharePoint. It amazes me how bleeding obvious many of these titles really are.

In other words, a SharePoint administrator manages and operates a SharePoint environment, making sure it is healthy, performs as expected, is safe and stable, and doesn’t adversely affect other systems. Further, the SharePoint administrator is responsible for the day-to-day technical operations and monitors ongoing system jobs, performs routine maintenance, and may perform supporting tasks for other roles.

Finally, and this is important to any developer that has wandered into this article, an administrator, being ultimately and solely responsible for the stability and safety of a SharePoint environment, is the only role allowed to add any kind of code to SharePoint. This includes custom code built by developers, third-party applications or solutions, system updates like hotfixes and service packs, and any solutions whether they are farm, sandbox or apps.

Note: In case other roles are allowed to add sandbox solutions or apps, they are allowed that by the administrator. A prudent administrator grants such allowance only after careful consideration and likely without haste.

Despite developers having egos the size of Jupiter and thinking they control the world, the real power over a SharePoint environment comes from the administrator. Sure, developers can build the cure for cancer, but it won’t matter unless the administrator puts the code on a production machine and allows that code to run.

Tools of the Trade

The first and primary tool of any SharePoint administrator is Central Administration. Where do they get these confusing names?

In fact, if you want to get a good overview of the tasks SharePoint administrators perform, then explore the Central Administration application for inside lies the secrets of the administrator, neatly organized in categories.

Of course, complete and utter mastery of Central Administration is but the tip of the iceberg for a truly skilled administrator. In fact, many administrator tasks cannot be performed with the default out-of-the-box functionality of Central Administration, for example adding new solutions to the farm, creation of security groups and accounts, and so on.

For these tasks, you need to rely on other tools, for example STSADM or the more modern and powerful PowerShell.

Finally, SharePoint administrators are blessed with a wide variety of third-party tools to help with tasks. I won’t mention names because nobody pays me to do so, but SharePoint vendors provide tools for example to improve monitoring, security management, migrations, systems analysis, and so on.

Wait, I Do Far More Than That!

We should all be so lucky as to only serve one role in our SharePoint professional careers. Unfortunately, that’s rarely that case.

For administrators, additional and supplemental tasks may include working with server operations to ensure the server operates as expected. In fact, beyond any dedicated server administrators, only SharePoint administrators should have direct access to the server at all. No developers allowed!

If you, as an employer, place the responsibility of running your servers on your SharePoint administrator, remember that you are effectively giving them two jobs. I realize this is common and that it may be difficult to see just how much work and responsibility goes into even one of these roles, but you should know this, as an employer: Server administration is complex enough; SharePoint administration is just as complex.

Further, although not really a SharePoint specific task, backup and restore operations often end up being the SharePoint administrators responsibility. In most environments I have seen, backup happens outside SharePoint, for example using dedicated SQL Server backup tools, but many organizations still ask their SharePoint administrators to handle those backups. When all hell breaks loose and the manure hits the proverbial fan, your SharePoint administrator is the person responsible. Whether your organization ever retrieves its data depends on a SharePoint administrator.

Security is another aspect important to administrators, and a SharePoint security administrator is responsible not just for setting permissions on site collections, but also working with managed accounts, monitoring and handling code-level security issues, ensuring proper delegation of permissions, and so on.

Of course, all other efforts are meaningless unless your servers perform their tasks fast enough that users can get something done, so performance monitoring, planning, and handling of any performance issues is also a task for a SharePoint administrator.

That’s a Lot Of Responsibility

You are right! SharePoint administration is a massively complex role, and I have just scratched the surface of all you need to know. If you expect SharePoint administrators to handle other roles, or other roles to just do some administration on the side, well, you probably have extremely high expectations of your people or low expectations of the work and skills required.

As with developers, SharePoint administrators also come in various sub-roles, sadly usually operated or expected to be operated by the same person. Sub-roles include security, backup and recovery, monitoring and operations, and so on. Each of these, and several other sub-roles, are complex enough that you can easily spend years developing your skills without even looking at any other sub-roles.

What should be obvious, however, is that you probably underestimate the work and skill required to be a proficient SharePoint administrator. Next time you see a SharePoint administrator, give them a thanks for their work.

If you employ one of them, seriously consider giving them a raise, right now.

.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!

Become a SharePoint Professional – What Is a SharePoint Developer?

So you want to become a SharePoint professional and have come to one of the most tricky questions to answer: What is a SharePoint developer?

Actually, the question is rather easy to answer, once you have some common and basic understanding of what SharePoint development entails.

What Is a SharePoint Developer?

If you look at the term, and throw away any personal feelings for what you think words should mean, then it becomes quite clear what a SharePoint developer is. Let me illustrate.

If you want to get your hair dressed, you go to a hair dresser, and from that we can assume that a hair dresser dresses hair. If you want something baked, you go to a baker (or your local medical marijuana outlet, but that’s for another blog), so a baker is someone who bakes. If you want to get something moved, you hire a mover, and a mover is thus someone who moves.

Now, if you want to get something developed on SharePoint, what could we possibly call the person that does that task? You should get this right on the first try; we call them a SharePoint developer.

Another commonality between the hair dresser, the baker, and the driver, is that you are rarely interested in the tools they user to perform their task. You don’t say to a baker that you only want to buy his bread if it’s made with a specific stand mixer. You usually aren’t interested in the brand of scissors your hair dresser users, and the lifting support the movers use, well, as long as they get that piano up the stairs, you don’t really care, do you?

And even if you are interested and specific about the tools used for whatever valid or invalid reason, you’ll still call them bakers, hair dressers, and movers, even if they user different tools. The reason for this is that their job titles describe the tasks they perform, not the tools they use. You don’t have KitchenAid bakers or a Shiro hair dressers (yes, I had to Google that). You may have a heavy items mover, but you would still call other people who move things movers, even if they don’t have specializations in moving heavy items.

So, a SharePoint developer develops in SharePoint, as simple as that. If, or rather when, you start picking up the conversations that have been ongoing for years in the community about whether people using specific tools are allowed to call themselves developers, well, ignore them and think about what makes sense.

The first duty of any SharePoint developer is to solve business problems. As long as you do that, and you do so in a professional manner, the tools you use or the title you put on your business card is largely irrelevant. If you think that the term developer is too ambiguous, and honestly, even the SharePoint community cannot really agree on what it means, then feel free to call yourself whatever you want.

By solving business problems, I mean that your first focus isn’t necessarily to work with a business owner or client, but that the ultimate goal of your solutions is to cater to the needs of the business. Many developers may never see much less talk to an end user or business owner, but SharePoint is a business platform first and foremost.

However, SharePoint development is a complex profession. In fact, it’s not even a profession, it is a class of professions that to some extent are defined by the tools they use.

SharePoint Developer Tiers

In broad terms, you can categorize SharePoint development methods into three tiers.

Note: This tier division is the brain child of luminary Marc D. Anderson, detailed in his Middle-Tier Manifesto.

The first tier deals with development using the web interface and client software only. First tier developers utilize the web interface to build taxonomies for business objects, create user experiences using web parts and maybe a few simple pre-made scripts, installs and configures Apps and Sandbox solutions, builds information panels for Office, and so on. First tier developers benefit from the most rapid development methods at the expense of freedom and power.

The middle tier of SharePoint development starts utilizing specialized tools and uses scripting and markup to develop solutions. Typical tools are SharePoint Designer, InfoPath, and maybe Visual Studio for script development. Middle tier development produces more flexible and customizable solutions than is the case for the first tier, and middle tier developers have more freedom and power at the expense of having to do a lot more work and be somewhat limited in terms of solution portability.

The third tier developer focus solely or mainly on developing WSP solution files and managed code solutions using tools such as Visual Studio and extensions such as WSPBuilder, VS Tools for SharePoint, and STSDev. Third tier development offers the greatest degree of freedom and options and also gives developers the most power of all the tiers. However, this comes at a price, of having to build all the ‘bits’ they need and also of needing the discipline to harness all that power.

What is important to know is that these tiers are not mutually exclusive. Although most seasoned SharePoint developers spend most of their time in one of the tiers, they also utilize the other tiers when required. A middle-tier developer may build a prototype for a solution taxonomy before building a web part in SharePoint Designer to display or manage that taxonomy. A first tier developer may utilize SharePoint Designer to modify or create scripts or style sheets to build their sites, and a third tier developer will more often than not start a project by prototyping the solution in the first tier.

What is absolutely critical to know, however, is that none of these tiers are better or worse, nor that developers that specialize in any of the tiers are better than the developers of other tiers. What matters to your skill level is what development skills you have, not the tools you use. Any SharePoint developer regardless of favorite tier will need skills and understanding of development topics such as source control, debugging, data modeling, event handling, security, and so on. Tools are there to make these tasks easier, not to save you from having to know these topics.

Also not that the developer tiers is a broad categorization. Once you get familiar with each tier, you will likely want to focus even more. For example, first tier developers may specialize in taxonomy or client applications, middle tier developers may specialize in InfoPath or DataView web parts, and third tier developers may specialize in workflow or web part development.

How To Become a SharePoint Developer

Regardless of what type of SharePoint developer you want to become, you need a good understanding of what SharePoint is and what problems it solves. If you are using SharePoint in your job, for example, you may want to start exploring the possibilities that exist. Ask whoever is responsible for SharePoint (or ask a mirror if it is you) to give you a site collection in which you can experiment.

Start going through the list and library types available to get an idea of the tasks SharePoint can handle. Explore the existing web parts, look up the site and site collection features, explore the permissions model, and so on. In short, play with it to see what it can do beyond what you already do.

Note: There are plenty of resources available to learn SharePoint, but rather than recommend any specific resource, I encourage you to start practicing your Google skills and find the resources that make sense for you.

When you decide to start your SharePoint development career, focus on learning the tools and methods in which you have prior experience. You should already be well versed in using SharePoint and understanding its capabilities, and if you have no other development experience, this is a great starting point for first tier development.

If you have prior HTML and JavaScript experience, then looking at the options in the middle tier may be appropriate for you. If you know XML and its related technologies, that’s even better. Get yourself a copy of SharePoint Designer (it’s free) and start looking at your site or site collection through the eyes of that tool. Also, start looking at the client-side object models.

If you have prior programming experience, defined as building compiled code in some form, then the third tier will likely give you the most familiar starting point. You’ll need to get Visual Studio, and you need to start learning the SharePoint object models (server and client-side, so no cheating). Further, if you don’t already dream in XML, you haven’t used it enough.

Note: Beyond XML, your language and tool choice in the third tier is largely up to you. In fact, you can build third tier solutions using Notepad if that’s your fancy.

Since I’m the one writing this, let me modestly take this chance to blatantly promote my own book on learning third tier development, Beginning SharePoint Development, as a great resource to get you up and running. You can pick it up from http://uspjournal.com/issues/beginning-sharepoint-development/. In fact, all of my USP Journal issues will help you become a better SharePoint developer.

SharePoint Developer Myths Debunked

As your development career moves along, you’re bound to come upon many myths that may or may not sound plausible. Let me wrap up this article by debunking some of them.

First, SharePoint development is not harder or easier than developing on any other platform. You’ll find plenty of statements from developers saying that development on SharePoint is too hard. The fact is that the hard part isn’t any harder in SharePoint than it is on other platforms. Like any other platform, SharePoint has its bad and good sides. Any task you know is easy and any task you don’t know seems hard, at least when you get beyond the “how hard can it be” stage.

Second, a SharePoint developer does not have to do compiled code programming. One of the most common myths is that to be allowed to call yourself a developer, you need to be a programmer of compiled code. See the initial sections of this article for an explanation of why this is bollocks. If you develop, you’re a developer. If you bake, you’re a baker. If you move, you’re a mover. If you dress hair, drive, build, paint… Well, you get the picture.

Third, third tier SharePoint development is not your last resort. You’ll also quickly find a plethora of claims that building third tier solutions should be your absolute last resort, after trying everything else, including prayer. The arguments are often that third tier solutions are difficult to maintain and upgrade.  The fact is that well-built SharePoint solutions not only upgrade excellently, but can actually work across SharePoint versions, making upgrades easier than for other development tiers. Note the emphasis on well-built.

Finally, no SharePoint developer is an expert in all SharePoint development tasks. SharePoint is a complex mistress, and its developers need to focus to satisfy her needs. The less you focus, the less you become good. Each development tier takes years to master. If someone say they are experts in more than one or two tiers, they are probably just experts in pulling your leg, or they’re just plain ignorant.

Note: The same applies to recruiters. A clear sign of a recruiter who has no idea about how to find SharePoint developers is one that looks for experts in multiple tiers or even specializations.

Final Thoughts and a Warning

A SharePoint developer is a resource to any organization, and a career in SharePoint development can yield both material benefits and great personal rewards. At the time of this writing there is a great shortage of skilled SharePoint developers and since a SharePoint developer’s first duty is to solve business problems, as long as businesses have problems, you’ll have a job.

In fact, take this as a warning. Right now, you can get a job as a SharePoint developer if you manage to spell SharePoint correctly.

However, having a job is a far stretch from being an expert. Don’t expect to quickly become a SharePoint developer expert simply because you can rapidly churn out solutions that impress your boss. Any skill in which you want to become an expert requires you to focus and dedicate considerable time to both learn and practice.

Before you develop these considerable skills, remember that what you are doing is ultimately what the business will use to remain profitable. Your failures or lack of skill may cost the company much in terms of lost efficiency or revenue, or cost employees their jobs. Start with what you know, practice before you go into production, and make sure you learn the basic skills of software development.

This isn’t unique for SharePoint, though, so take it as general advice. Expect to spend thousands of hours increasing your skill if you want to become an expert SharePoint developer.

.b

Become a SharePoint Professional – Key Questions to Ask Part 3 : How Do I Become A True SharePoint Expert?

You want to become a true SharePoint expert? I’ll tell you how in three simple steps.

Oh, and I said simple, not easy. If you have half a brain, you’ll realize that ‘simple’ may not mean ‘easy’, nor that there is any secret formula that you’ll learn over the next few paragraphs.

Become a Word-Class SharePoint Expert in Three Simple Steps

If you spend a little time in the ever growing SharePoint community, you’ll see a lot of people who refer to themselves or others as experts. These are often the most famous people in the community and you’ll do well to look to them for inspiration and as role models.

However, what does it really take to become a SharePoint expert? What does it take to become an expert at anything? I’ve done some research and distilled the results into three simple steps you can take to achieve expertness in SharePoint or anything, really.

Still, the steps required are simple enough, even if knowledge of them will pour some cold water into your blood.

Steps 1, 2 & 3: Practice

OK, so this may surprise some of you, but you actually need to practice to become good at something. I know working seems to make you better, but studies show that it is hours and hours of diligent practice that separate the mediocre from the experts.

If you’re an avid book reader, like I’m definitely not, you may have heard about or even read a book called Outliers. In short, the author Malcolm Gladwell researches what makes people more successful than others and makes some interesting observations.

Gladwell looks at various successful people and existing research and comes up with a claim that the true experts within a field seems to have one major differentiator from those that perform merely adequate: They practice a lot.

In fact, Gladwell states that the number of hours of practice needed to become an expert in a field is 10,000. That’s ten thousand. To put that in perspective, you sleep for about 3,000 hours every year, so if you stop sleeping and only practice, it will still take you more than three years to become an expert.

Want to know what’s really bothersome about this number? Only hours of deliberate practice count. That’s right, working while using the skill or participating in tournaments or merely ‘doing stuff’ related to your skill does not count. You need to actively and structurally develop your skill by methodical training that eliminate your weaknesses and strengthens your skills. Performing, whether it is work, sports, or arts, is not considered deliberate training.

Note: Several commentaries have questioned the exact number of hours required (and indeed Gladwell’s methods). Even one of the researchers, Anders Ericsson, on which Gladwell rests much of his 10,000 hour number claim, has later specified this to mean an average. Others argue that great performers could get away with as little as 5,000 hours of deliberate practice before they became true experts.

Still, few opposing comments argue about the effect of practice. They may question the ability to turn expertise into success, or whether there are other factors that also lead to expertise, but they all seem to agree that deliberate practice leads to expertise, defined as being ‘world-class’ at whatever they do.

I’m not going to vouch for the number, and I’m also questioning several aspects of the simplicity of the claim. However, if you want to become a SharePoint expert, this is good news! Although it’s no guarantee for financial success, deliberate practice, targeted and structured, for thousands of hours virtually guarantees that you become a true SharePoint expert. It’s really that simple.

OK, granted, you need a lot of hours of practice, but there are few, if any, other things you need to do. Practice, and you become good. Practice more and you may become brilliant. Practice a whole lot, and you’ll become a SharePoint expert.

How Do I Practice SharePoint?

When you’re training to become something in sports, or music, or a game perhaps, then what you need to practice is pretty straight forward. You do the things of that activity repeatedly to develop muscle memory or internalize moves and strategies. Hit a serve a million times, and every serve will be better. Whack a ball a million times and you’re far better at making it land where you want it to land (and that concludes my golf training for this article).

It’s more difficult with SharePoint, but fear not, there are plenty of ways for you to practice if you are willing to put in the hours required. Here are a few tips.

If you’re working with SharePoint already, you probably have tasks that you struggle to get right every time. For administrators, setting up the User Profile Service (UPS) is one example.

Now, do that task, over and over again until you can almost do it in your sleep. Spend a day, in 90 minute sessions with 20 minute breaks, and do nothing else for those 90 minutes.

When you’re done, change the parameters of your practice. For example, do it in a two-server environment, or do it using different credentials. If your VM engine supports it, simulate directory controller network failures and practice more. Do this for eight hours every day, and after a week, you’ll fear UPS no more.

If you’re a developer struggling with understanding object orientation, then practice building a railroad using objects and classes. When you’ve done this, delete your Visual Studio project and start over.

If your problem is remembering the possibilities in the SharePoint server object model, then pick a project you like and redo it, over and over again. Change your desired outcomes and repeat the drill once you’re tired of the same project. Those SPListItem properties and methods will become a second language to you.

Think you don’t know how to architect solutions that give benefits to an organization? Talk to your boss, your colleagues, your friends, or family, and find out what problems ails them. Then, come up with different solutions to all their problems. Are you done? Come up with other solutions that utilize other features and components. Done with that? Change their problems into something different and solve those problems. You’ll architect the most brilliant solutions before you know it.

Have you done this, for eight hours every day for a working week yet? If so, good, you’ve just completed 40 hours or your practice, and you just have 249 weeks left until you’re an expert. Or, if you are one of the exceptions that require 5,000 hours of practice only, you have 124 weeks to go. That’s around three years if you take a few weeks off for vacation each year.

I Don’t Have Time!

To most people, putting this much effort into becoming an expert SharePoint developer, architect, or administrator is beyond what they would consider. Even the geeks among us, who spent all their waking youth hours in front of a compiler may have trouble racking up the required time. We are talking about two hours of deliberate practice every day for 13 years, or eight hours per day for more than three years after all.

Then, there’s family concerns, and you’ll want to catch the latest movies, and definitely go to a party every now and then. There simply isn’t enough time to spend eight hours every day for several years.

Well, there’s always the option of being mediocre. I’ll even argue that the most reward per hour spent is gained by being mediocre.

Also, don’t discount any previous training you’ve had. You may be a seasoned .NET developer with a master’s degree in Awesome Programming 501, and that certainly counts in your favor. You may have spent a year in SharePoint administrator training before you picked up your first installer CD, and that is definitely on the list of approved hours.

However, if you expect to be a world-class expert, then there’s no way around it. You practice, you practice, and then you practice.

Think about that when you meet or talk to experts in your field, whether that’s SharePoint, chess, project management, or golf. Their success most likely isn’t a result of random luck or chance encounters but rather of deliberate training over years and years. You can be among them if you put in the effort, but don’t expect any quick paths to expert level skills.

.b