Sitecore Developer Shortages: What we can learn from baseball and hockey…..

23. July 2015 20:54 by Mark Servais in Sitecore  //  Tags:   //   Comments (1)

Just an idea….some frontal lobe thought as I type actually.... 

So you have Sitecore, and you can’t find enough good Sitecore people to do the potential work coming in.  Unfortunately, your problem isn’t unique. In fact your problem really isn’t truly a Sitecore problem. The problem stems from not enough technology workers in general to fill all the demand.

The shortage in general STEM talent. Last year according to US News, computer science majors who graduated with a four year degree accounted for an approximate pool of 40,000 candidates. There were roughly four million jobs vacancies to fill with those 40,000 folks. Those who are graduating with STEM skills are commanding higher salaries because of the shortage.

Not my numbers, but for the sake of this article, I’ll use them cause I'm looking this stuff up as I'm typing this out.

At the July 9th meeting for the Milwaukee Sitecore User Group, John West talked to us about his background and his journey up to his current position at Sitecore. I don’t remember if it came up in a conversation I was having with John or someone else, but the comment (paraphrased based on memory) came out:

“Talent moving from one partner to another really doesn’t improve the community or Sitecore”

This is true. I made a change within the last year, it’s been a good move for my and hopefully for my company – but it’s done nothing for Sitecore directly.

We hire people from other companies all the time, other companies hire people away from us. The companies will have positive or negative results for this – but again it does nothing for Sitecore.

So, we are we continuing to solve an issue by doing the same things over and over again?

We either pilfer folks from other companies (which will continue) and we’ll try to race to hire those students from universities and waste tons of money trying to recruit and retain these individuals. We do things like nap pods, provide laundry services, free catered lunch, and other incentives. While these perks can be nice – most students want to help create intriguing systems.

So – look at baseball and hockey. These leagues have what are called farm systems. If you are unfamiliar with the concept -> https://en.wikipedia.org/wiki/Farm_team. This allows for the growth of your own talent.

We’ve been so reliant on universities to produce talent, we’ve neglected a whole potential process that may ease the issue.

To be really honest, I have nothing against universities and recent graduates. I think Software Engineering fundamentals need to be taught and practices followed in order to create consistent, reproducible success in delivering solutions.

Most companies don’t apply consistent, fundamental software practices. In fact when I started out – I just needed to know the language semantics for the systems I was working on. Certain topologies and methodologies used today didn’t even have a name.

So with a development farm system for your company, why could you not take anyone whom would be a good cultural fit for your organization (btw…a heartbeat does not constitute a cultural fit) who has aptitude to learn beyond semantics of a system’s language.

Don’t mistake a farm system just to be a series of college interns that do unrelated crap work. Think of a farm system for your company to be a proving ground for anyone that can meet the criteria whom you want to culturally hire. Young, old, enabled, disabled, tall, short, funny, serious, etc. (you get the picture) Train them semantically if you need to, but give them simple technical assignments. The basis of the farm system is real experience, not to get your remedial tasks complete. In baseball – this is player development.

“Coder development” is just the beginning of the development of career capital. Career capital is what makes us marketable to those who want more than a heartbeat.

So I’m thinking at this point you are skeptical and likely have two burning questions:

1.  WTF is this going to cost?

Yeah, don’t think you can get away with this at bargain basement prices. Training people whom are green at any STEM discipline is not easy by any means and requires investment. However following an approach of being able to profit from your farm system (again thinking of minor league baseball and hockey playing in smaller towns, smaller arenas, but still charging admission and filling seats) and managing costs (lower salaries, structured part time employment, etc.).

2.  How is success measured?

Like any other metric, it has a baseline and desired achievement level. So let’s say our metric is successful “graduates” of the farm program. So people in versus people completing the requirements for full-time “major league” positions. You can start looking at investment costs per graduate and how that applies to performance after graduation and compare that with those who don’t graduate and the costs lost in the investment. Obviously high graduation rates/low failure rates along with high efficiencies with folks after graduation is a winner here.

So I’ve discussed in a previous post what things you can do to become a Sitecore developer. So let’s talk about here about how you can safely try out a farm program.

First, start small. You don’t need a 12 person farm program to start out. Start out with no more than 3. Invest in those 3 people see where it goes and understand the success and failure characteristics to your metric.

Second, before bringing in anyone to the program – determine the minimal viable skill set (both technical of soft skill) for someone to join your program. Also determine the stepping stones in your program and determine what success means at each tier.

Third, you better have some good people that not only can work but can teach. Whether you take utilization away from your own staff of hire a specific technical trainer/mentor – the focus is you need some really good people to make some really great people. Include some Sitecore training in this as well if you are training for Sitecore.

Fourth, actively go out and find people to meet your criteria. Now, we talked about interns – but unless your criteria is specific it doesn’t need to be a series of interns. This is where you may need to break free of the typical thought of hierarchy in hiring and look for specific people in not so likely places.

I guess the final ingredient is some patience. Rome wasn’t created in a day, and creating Sitecore developers isn’t going to happen in a day as well.


Some frontal lobe thought to a common problem.

And remember – Just an idea as I'm thinking and typing… :)

Integrated Dynamic Placeholders: Closed Source

23. July 2015 18:40 by Mark Servais in Sitecore  //  Tags:   //   Comments (0)

As some in the Sitecore community know, Jamie Stump and I put together a module for Sitecore, Integrated Dynamic Placeholders, during the last Sitecore Hackathon. In 24 hours, we developed the ability in Sitecore to use a single placeholder setting in Sitecore to instances of a particularly named placeholder that is intended to be on your page in multiple instances. Like any 24 software development cycle, we rushed our design and development, hurried our documentation, and minimized our testing approach in order to meet the deadline.

 

Of course like all developers, we thought we tested enough. In early April later I had a former colleague reach out to me via LinkedIn to show me an issue he was having with nested placeholders not propagating. He provided me with some concrete examples of the failure and the condition to recreate. Unfortunately, Jamie and I were a bit occupied with work and family life tasks. Fortunately for us, my former colleague understood and was patient until we could free up.

 

Later that month I got a tweet about the same problem – however this was a member of the Sitecore community and not a former colleague. The issue here sounded the same, but again Jamie and I were underwater and had little to no time. There was more push to get this fixed as this person needed it for a big project they had been stuck on, and by the sounds of it needed it by the following start of the week. Jamie miraculously with his schedule, found some time to correct the issue the following week. It didn’t take him long to correct, the module just isn’t that big, but he finally got some time on the last day of the month to get it out the door.

 

Fast forward to June, and people have begun to use the corrected version of the module. Another Sitecore community member reached out, about release notes from the fix and code availability on GitHub as they had to abandon their use of the module during that initial bug duration. Honestly after the fix, Jamie and I never reopened the conversation about posting source. Early this month, we finally got together to quickly discuss the future of the source for the module. We decided not to share the source code, let me explain why we quickly came to this decision in a world that almost entirely demands that developers do so.

 

1.       Simplicity of the module doesn’t warrant it. Actually it is so simple I would hope Sitecore grabs it and just implements it in a future release. It took longer for us to talk about approach and potential execution than it took to actually code the thing. We wanted to make it seem Sitecore already had it in place when installed. Typically I wouldn’t care about sharing a small amount of source code except for reason #2.

2.       Managing the demands for pull request changes with limited time. I think in this case if the codebase was larger this might be time well spent, however because the code base was so small, it came down to the scale of efficiency for us to manage this module in our own time, versus managing our time around submissions.

3.       Time is limited. I think it is safe to assume everyone is busy – Jamie and I aren’t an exception to that state of being. In fact I don’t think I’ve been busier in all aspects of my life than the past year. One thing I’ve had to do with my interactions (both my technical life and non-technical life) is literally drop things that just don’t have substance for the immediate time. I know while I would want to dedicate time to manage requests, much like the commitment I have in other aspects, the reality is I don’t gain much managing change requests with tight turnarounds as I do planning releases and allocating the appropriate time to accomplish those goals. If this wasn’t a pet project and more of an official offering from a company that we were running – that of course would be much different. However, it isn’t and the act of collecting feedback and determining if fixes or enhancements are needed for a future release works best for us and ultimately the majority of the community.

4.       No matter how many contributors to the source, we eventually would have to manage it. For me, again it is easier to manage ideas and suggestions, than to manage source submissions and quality checks around them.

 

Not a popular decision that we made, but we think it works best for us in this case. So what do we lose by doing this, some really good stuff.

 

1.       That bug those two guys had found, had this been open source, might have been caught quicker and a fix proposed before we even had the chance to review it ourselves. In fact this could have been corrected in early April versus late April when the second report came in.

2.       Could there be a better way to do the same thing? I’m sure there is and everyone would have an opinion. Open forum overall I believe is good, and if we had something under our care such as Synthesis or Sitecore.FakeDB I would argue that sharing the source would be critical to the success of the module.

3.       The potential to work with folks on something we normally wouldn’t get to work with. I love to collaborate with other Sitecore people. Mainly that is why I do the podcast – it gives me that brief forum to discuss topics with other people that normally might be frowned upon from past employers – especially those previous to my days working with Sitecore.

4.       Recognition of work done. Don’t get me wrong, I like a pat on the back as much as the next person – but it isn’t why I do what I do by any stretch of the imagination. This one doesn’t hold weight with me so much. I can live without it. There are some guys in the community (Mike Edwards/Glass, Adam Najmanowicz-Michael West-Mike Reynolds/Sitecore PowerShell, and so many more) that have this recognition and do what they do because they care, can support the effort they are putting in, and can capitalize on the efficiency gained by social coding. I don’t think they do it for the recognition either.

 

So again, at this time we have decided not to release the source code. I truly do hope this does make sense to everyone whom has shared concern about it.

(XCentium) Sitecore's GetActiveUser Result Isn't Always The Active One

23. July 2015 18:37 by Mark Servais in Sitecore, ForEmployers  //  Tags:   //   Comments (0)

Blog post I did for XCentium:

http://www.xcentium.com/blog/2015/07/08/sitecore-getactiveuser-result

So You Want To Be a Sitecore Developer

1. March 2015 21:17 by Mark Servais in Sitecore  //  Tags: , , , ,   //   Comments (0)

I love talking to young folks still in school about tech. In many ways they are so much smarter than I was, or in some cases smarter than I am currently. The sad part is there is not as many of them as there used to be.

 

The single one question I get the most, other than how do you become a Sitecore MVP, is "my company does not have Sitecore but I want to learn Sitecore. How can I get a copy to practice on?".

 

Yeah - not so much an easy task there due to licensing. I think without working for a company with the right licensing or working or a Sitecore implementation partner you are going to have a difficult time getting your hands on a copy of Sitecore.

 

However, if you really want to work with Sitecore and are dedicated to do so - I would seek out those opportunities. If you are unable to do so, like if you are a student not yet seeking employment, I usually provide the following advice:

 

  1. Understand both the Microsoft ASP.NET webforms and MVC technical stacks. Each framework has it’s own unique composition model to understand. Since Sitecore sits on top of the .NET framework, any knowledge learned here will apply.

  2. Get some working knowledge of content management systems. You want to understand content topologies, dependencies, and general authoring process practices.

  3. Understand how the web works. This really means how do servers communicate, how does HTTP really work, sessions, cookies, and overall state, and it never hurts to understand TCP/IP and how to break apart packets if necessary.

  4. With Sitecore - understand the marketer. Take some general marketing classes and understand their terminology. Understand events, campaigns, and how they use information gathered.

  5. Understand HTML/CSS/Javascript and related frameworks for front end presentation. You don’t have to be a front end wizard in a lot of cases - but you need to have a working knowledge of the skillset.

  6. Read blogs and watch videos. The Sitecore community is by far the best tech/product community I have ever had the privilege to be associated with. There are some of the smartest folks I have had the pleasure to associate with at your disposal for questions and help. The great part about all these smart folks - they love to help others to do what they do - completely unselfish. Twitter and Stack Overflow are mentoring playgrounds for you to become involved in.

  7. Attend one of the many and constantly growing Sitecore user groups. If you don’t have a local one in the area - Hedgehog sponsors the Sitecore Virtual User Group and many groups like the Milwaukee Sitecore Users Group stream their meeting presenters.

  8. Sites like http://learnsitecore.cmsuniverse.net/ have a wealth of information on how to do things in Sitecore.

 

Finally if you can afford it, there are some great offerings for training from Sitecore. These can be local or online based training.

 

In my opinion, it would be great for universities to establish courses around CMS, particularly Sitecore, as part of an advanced development curriculum. If that happens I would love to teach that class for sure.

Sitecore Blogged: Removing Published Items Or Better Content Architecture?

19. February 2015 21:02 by Mark Servais in Sitecore, ForEmployers  //  Tags:   //   Comments (0)

Blog Post I did for XCentium:

http://www.xcentium.com/blog/2015/02/19/removing-published-items-or-better-content-architecture

Sitecore Blogged: Sitecore Azure and Database Permissions

19. February 2015 21:01 by Mark Servais in Sitecore, ForEmployers  //  Tags:   //   Comments (0)

Blog Post I did for XCentium:

http://www.xcentium.com/blog/2015/02/19/sitecore-azure-and-database-permissions

Owning My Experience At Sitecore Symposium

15. September 2014 21:20 by Mark Servais in Sitecore  //  Tags:   //   Comments (0)

So last week was my first Sitecore Symposium as well as my first Sitecore MVP Summit. What took me so long?

 

I posted an article on the Perficient site regarding what from Symposium will be an advantage going forward for our customers. For this post, I’m going to talk to the human experience side - particularly mine.

 

I’ve been working in software professionally for 23 years, I started at the mere age of 2. Alright, not really since 2, but the 23 years is accurate. I’ve been to many conferences, seminars, and group think tanks through these years. Sitecore Symposium wasn’t the biggest or the most over the top conference I’ve been to but I felt it was the one that fulfilled me the most based on many factors.

 

First let’s describe the venue, the Aria Resort and Casino. From the moment on arrival, I felt comfortable. I really didn’t have a chance to relax though, I was off to meet my comrades from Perficient before heading to the first event, the welcome reception.  My first reaction after registration, grabbing the attendant goodie bag, and walking into third floor of the convention center was that the vendor area was modest from a “booth” perspective. Usually booths resemble a tent with tables, may be a kiosk. Here there were the kiosks, but no tent like structures, in fact each vendor was very approachable by design.

 

I ran into a couple of clients, a couple of old friends, and talked with many new folks at the welcome reception. You could definitely tell for most folks it was a travel day, but everyone was friendly and catching up with others they may have not seen in a while.

 

Next day was the first day of the conference, a bit of breakfast and off to the keynote. I split away from my crew at Perficient and sat off on my own. The keynote was excellent. A great setup for what we were going to absorb over the next couple of days. I really like Michael Seifert’s presentation style. You could feel his enthusiasm and the interactions with other Sitecore employees was fluid, almost with a great sense of comedic timing.

 

Next was the developer track keynote with Lars Nielsen. I knew a little of the story of Sitecore, but Lars provided a great background leading from the beginnings through where Sitecore was moving to. Understanding that background does mean a lot as we are working with the product. It also shows some of Sitecore's decision making patterns through the years.

 

From there it was an exercise of absorption in sessions over the next couple of days and discussion with many different attendees. After sessions on Wednesday was the MVP dinner. Conversations with all the Sitecore folks as well as the other MVPs was great. This was a group that was truly a community. Representing one of the Sitecore partners in the room, most of the other folks in the room are people we compete against for client work. In this forum it was different, competition didn't matter, as thoughts and ideas were shared and discussed. I\t was a shining representation of community sharing for the benefit of all of us not just some of us

 

The MVP Summit was no different. You learn a lot about yourself and everyone else in the room with the exchange of ideas. Uncharacteristically I kept things at a low key during sessions, just absorbing the moments of the day. Very humbling to be in a room with such intelligent people.

 

While I let loose a bit after Wednesday’s dinner, most of my evenings were in discussion about the day’s events and the things coming next to try or potential problems to solve.

 

This is a great time to be part of Sitecore. The potential to do some really great things is here now. Whether as a developer, marketer, or in any other capacity, there is so much more opportunity coming with the release of Sitecore 8 later this year and beyond (can’t share but I promise it is worth the wait).

 

So just like the message “Own The Experience”, maybe it is time to take a look at Sitecore if you already haven’t, or if already in the community, push yourself to create a better way to interact with customers and to share your experiences and to allow your customers to have their own.


I feel very fortunate to be part of such a great community. With that, time to go to work.

Sitecore Blogged: The Sitecore Symposium Experience For You

14. September 2014 20:59 by Mark Servais in Sitecore, ForEmployers  //  Tags:   //   Comments (0)

Blog Post I did for Perficient:

http://blogs.perficient.com/microsoft/2014/09/the-sitecore-symposium-experience-for-you/

Why have two Sitecore blogs?

13. September 2014 21:21 by Mark Servais in Sitecore  //  Tags:   //   Comments (0)

So I recently wrapped up a trip to Las Vegas attending the Sitecore Symposium and Sitecore MVP Summit. A lot of great things were shared and talked to a great number of Sitecore employees, other MVPs, and other folks dedicated in their investment in Sitecore. One ofthe many things to come out of that experience after my first day and was reiterated during my time in the MVP Summit. 

My blog at work really is for sharing those experiences I have at work with Sitecore and clients with Sitecore. I have this other side, the creative side in me, that likes to put together different non-client scenarios, demos, tricks, and what-ifs that aren't really suitable to post on my employers website as it does not align to their goals as a company and service offering. After hearing all the things coming soon (and far) for Sitecore I seriously want (and need) to play and share.

So now I have two blogs - for those things to feed my academic creative side I'm just going to extend this blog meant for the family with a Sitecore category. I don't plan on replicating any content between the two but I'm sure in the process I will crossover information and share the fact that I may have posted about something on my employers blog.

While managing will be a bit more work and thought, I think for me it will produce better synergy with the community going forward.

***Updated 5/5/2015

Sitecore Blogged: Spaces in Binding String Causes Issues in Sitecore AD Module

21. August 2014 20:59 by Mark Servais in Sitecore, ForEmployers  //  Tags:   //   Comments (0)

Blog Post I did for Perficient:

http://blogs.perficient.com/microsoft/2014/08/spaces-in-binding-string-causes-issues-in-sitecore-ad-module/

Calendar

<<  November 2019  >>
MonTueWedThuFriSatSun
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

View posts in large calendar

Month List