Saturday, November 7, 2015

Why I Gave Up a High Salary for a Lower One

In life, we have to make decisions that aren't just about us. Sometimes we have to think outside of the box and bigger than ourselves. For me, this was my family. I accepted a job working from home, nearly 100% of the time, also called a telecommute or remote position, doing the same work that I was commuting one and a half hours each direction. Spending 11 - 12 hours a day away from them was not really a good thing. Sure, I was making big money, but at the expense of my relationship with my family. Giving up a 15% of my salary is expensive, but alimony and child support are even more expensive. The cost of repairing my car and lost work after an auto accident last year are also were very high.

I also believe that making this move will allow us, between my wife and I, to actually increase our earnings potential by not incurring costs for childcare so that my wife and I can both be working, even if her work is part-time. I also get to do software and infrastructure projects on the latest cloud offerings from Amazon Web Services (AWS) or Microsoft Azure. At my previous position, I was pretty much locked in to SharePoint 2010, and the customer made a decision to migrate to a cloud instance of SharePoint 2010, putting more nails in the coffin of innovation for this customer. The customer wanted to get out of the business of running on-premise application hosting, for cost savings. They're learning that there are many challenges to doing this and ultimately, they're going to have to give up some of their most important functionality if they want to completely transition to cloud SharePoint, where all they're getting is a site collection... no event receivers, no timer jobs.

As a recruiter, you should encourage your hiring managers to move in the direction of telecommuting whenever possible. This leads to better opportunities for your workers at a cheaper cost to your company because workers are willing to accept lower salaries for jobs that they don't have to drive to. The cost of electricity for powering workstation computing resources also shifts from the employer to the employee, a cost most sane people would accept in the name of saving gasoline and the inherent risks involved in driving.

I also get to pursue other professional interests having nothing to do with technology. I have an intense interest in Thoroughbred horse racing and pedigree analysis. Because I'm not spending all my time driving, I have an extra 2 -3 hours every day to explore these things. What could be better than having a backup plan?


Wednesday, October 28, 2015

7 Skills EVERY SharePoint Practicioner Should Have

As a 8-year veteran of working in the SharePoint space in a variety of capacities, there are 7 skills that every SharePoint practitioner should have in his or her toolbox.

1. Set Theory / Database Querying
The ability to sort, filter, and group any type of content based on metadata or other criteria is essential. Also included in this knowledge set is the understanding of relational data.

2. HTML
The content editor web part is your best friend. This is where you make most of your customizations in SharePoint, whether with text, images, or other static informational links that guide your user base's experience within your SharePoint Site. In the end, SharePoint renders primarily as HTML, XML, and JavaScript. Knowing how to manipulate these objects is to your benefit.


3. JavaScript
I repeat... The content editor web part is your best friend. Many things can be done in SharePoint without JavaScript, but we all eventually get that requirement that requires the SharePoint site to go above and beyond basic SharePoint functionality. The file link in the content editor web part that pulls your JavaScript will eventually need to be utilized. Learn the JavaScript that gets referenced from the content editor web part so you can tell your customers "Yes, I can do that."

4. Cascading Style Sheets (CSS)
You never know when someone needs a menu bar or other page element hidden!

5. Prepositional Logic
This is especially important if you're in need of a solution that involves a custom workflow in, say, SharePoint Designer.

6. Business Analysis
If you're in the SharePoint business, you're likely serving a customer who specializes in something other than SharePoint, and you are there to assist them with leveraging SharePoint to improve or automate a business process. You will not always have a Lean 6-Sigma Blackbelt at your side to assist you with this.

7. Lay-speak
At some point in time, you will have to be able to explain SharePoint's vast capabilities in simplified terms for C-level leaders, business unit leads, and other stakeholders. Always have some simple bullet points of SharePoint's capabilities ready to pull out at any time.

Sunday, October 25, 2015

Utopia Found

So, I finally found my utopia... a 100% remote / telecommute SharePoint position that involves the latest technologies and doing both administration and development work on a SharePoint 2013 environment, hosted on Amazon Web Services. This is the latest standard of FedRAMP-approved cloud-hosted SharePoint implementation.

I took a major hit in pay to take the position, but it should be very much worth it. The savings on food, fuel, and time spent not commuting anymore should be felt immediately.

Please stay encouraged and know that these positions are out there and they're real. They're also very competitive to get, but they can be had.


A New Job Title

SharePoint Knowledge Engineer - I saw this job title on a job posting recently and thought this might be similar to knowledge manager or site collection administrator, but it could be a combined farm administrator / site collection administrator role.  Let this one steep for awhile and think of the many things it could mean.

One thing I know for sure. This job title does not follow any standard position titles defined within the Microsoft space and is creative at best... confusing at worst.


Wednesday, July 22, 2015

A Little Misguided...

I was recently at the Independence Day (4th of July) fireworks in my local community and began talking with an acquaintance who attends my place of worship with his family (our wives know each other pretty well, I got to know him a little better that evening). He works for a local non-profit and explained to me that the non-profit had just recently started using Office 365. I naturally congratulated him on the move and showed him some of my SharePoint-hosted app development work. The president of the non-profit organization also attends our place of worship, and, upon seeing him the following Sunday, I advised him to give me a call if he ever needed any assistance with Office 365 and SharePoint Online in particular. I explained to him that I had several years of experience with the Office 365 platform and have been developing custom solutions for SharePoint.

What he said next absolutely floored me. It went something to the effect of "yeah, we got Office 365 and SharePoint hoping to reduce the need for a developer..."

What???? Huh?

I'm just speculating here, but it appears that no one had informed the organization head (who happens to be a lawyer by trade) that SharePoint ebbs and flows with additions and deprecations of features and needs a steady support system in place in the organization to make SharePoint a viable solution for long-term use. What is offered out-of-the-box changes with every new version of SharePoint and customizations are occasionally required to keep SharePoint on par with the needs of the business. One key deprecation that is a case-in-point is Microsoft's announcement of the removal of the SharePoint Online public facing website from the Office 365 offerings. Not being a very quick-witted individual, I knew he was misguided in his thinking about SharePoint but didn't know at the time how to politely convey this to him, so I said nothing more on the subject other than a friendly reminder to call me if he ever ran into any trouble.

What's the moral?

When you implement SharePoint, implement it with the mindset that SharePoint is a complex tool that can do many, many things for your organization but it does not eliminate the need for one of your biggest organizational assets - your web developer - your prized Swiss Army knife that solves many of your most complex business challenges with thoughtful solutions. To get the most out of SharePoint, some critical skills - like HTML and even some JavaScript - that only your web developer can provide are still required.

Monday, July 20, 2015

New Add-in Available for SharePoint Online / SharePoint 2013

Now available in the Office 365 App Store, Course Scheduler provides an easy-to-use way of scheduling courses or webinars in your SharePoint 2013 site and allowing site users (with at least contribute permissions to the host web (parent site) to enroll in those courses. Admin users must have at least Manage and preferably Full Control permissions on the host web to add course catalog items as well as courses and announcements (news).

The store listing can be found here.

This add-in follows the spirit of the SharePoint 2007 "Fab-40" template called Event Registration and is now available for purchase. I used CAML queries and JavaScript along with the JS libraries JQuery and Moment.js. Before you get too excited, this is NOT a full learning management system (LMS). There is a very good LMS add-in available through LMS365 (http://www.lms365.com). This add-in is a simple, low-cost means of scheduling training and allowing users to sign up for those courses.

This is the first Office 365 Store Add-in that I've released. Here's to hoping for many more to come!

Friday, June 19, 2015

LightSwitch... Or Not.

As Microsoft often does, it took a great tool in LightSwitch, which had gained a pretty hard-core following of power users, citizen developers, business analysts, and even some seasoned developers, and completely threw it into the ditch, without any further, substantive explanation, just like it did for Silverlight.

How do we know this change is permanent?

1) They made no (I repeat, NO!) improvements to LightSwitch in the Visual Studio 2015 release candidate. It's a small wonder they included it at all.

2) Andy Kung left Microsoft.

3) Beth Massi (or whatever her married name is now) is also no longer doing LightSwitch content.

4) Jay Schmelzer so eloquently danced around the topic better than any Democrat politician could ever do when it was brought up during a podcast. Pertinent comments start around the 5:00 mark in the podcast.

So... what's next? I wrote previously that learning skills like JavaScript, JQuery, and CSS would be vital for survival in the SharePoint world. This assertion still resounds true today.  Another stack that I have just recently started learning is asp.net MVC, used in conjunction with Entity Framework. This development toolset, like LightSwitch (though in a much different way than LightSwitch), handles much of the data source connectivity for you and it JUST... WORKS. You can still work with fully relational datasets, created either by code-first or by scaffolding via Entity Framework. Code can be generated for you while still customizing the business logic, but you will still need to know HTML. HTML helpers and RAZOR syntax help shorten the code required to render the output.

Microsoft Virtual Academy has some great resources on MVC and Entity Framework featuring Christopher Harrison. Just search for MVC and Entity Framework.

The biggest disadvantage is the difficulty of implementing file / database relationships, which was very easy in LightSwitch, though "Mike" shows how to do both database and file system storage and relationships here. Interaction with SharePoint lists and libraries is exclusively through javascript and is still tedious enough that I wouldn't recommend it in good conscience to non-developers.

Takeaway for today - LightSwitch isn't dead, but it's future looks grim at best and appears to be marked for deletion. I suspect the same will occur with Access 2013 Web Apps. If you're trying to do anything with some Microsoft tool that isn't part of the .net core stack, don't count on it being there in two years.