I received an email recently from a reader asking if career-wise, it's a good choice to learn and specialize in Umbraco. The chap's quandary was basically, is it better to be a generalist web developer compared to being a specialist in one particular niche, Umbraco?
One of his biggest concerns about going down the Umbraco route was being pigeonholed to a particular bit of software which may result in him not being able to get a job as easily later on. If you're currently pondering the same sort of question, then this article is for you. Throughout my career I think I've worked with 10-11 different CMS systems now and when it came to learning each new system, I've had to ask myself if learning and putting the effort into learning a CMS would benefit my career, or if it's just a waste of time and effort; read on to find out more. Some I didn't really have a choice, some I chose and it paid off big time, a few were a complete waste of time.
Will I Find Umbraco Work?
The simple truth is that worldwide there is still a shortage of good software-developers compared to the number of job opportunities, so if you're working in software, the chances of getting a job is extremely high and the chance of being unemployed for a long period of time is very small, in whatever avenue you pick.
Before you consider Umbraco, you need to ask yourself if you want to spend a majority of your career building websites. Obviously, as the internet continues to grow and evolve, there's never going to be a shortage of website work for the considerable future. From my experience based in London, if you can do web work, you'll find work.
The reason why I ask if you want to do web work specifically is that I've seen a few people who complain that the works is boring etc. The fact is, if you're building a website, you'll need web pages and components, you'll need some HTML and CSS, you'll probably need to hook up to an API etc.. if you don't like that sort of work, regardless if you use Umbraco or normal web development, you probably won't get any more enjoyment doing one or the other.
When you build websites, the satisfaction comes from the end product, helping a company grow/make more money. If you don't get enjoyment from this, and you prefer writing low-level code, or writing complex algorithms, then web work probably isn't for you.
If you like web-work then the next big question you should ask yourself is, will learning Umbraco help me get paid more money in the long-term?
This is a great question which I'll hopefully give you some food for thought to consider. Imagine you want to find a new job. If you go for a normal .NET web role, you're effectively competing against every other developer who knows .NET. Let's say 50 people apply for that role.
Now, when you apply for an Umbraco role, you might only be going against 5 other developers, however, instead of applying for 100 jobs, you might only apply for 10. If you can reach a stage where you have a great reputation in the Umbraco development community, out of those 5 you'll be the one who excels then you'll greatly enhance your chances of winning an Umbraco role. It's a lot easier to be the best out of 5, compared to the best out of 100.
Starting out in Umbraco, you'll definitely be disadvantaged compared to other Umbraco developers who have more years of experience. This is why most CMS contractors have all started off in digital agencies, earned their stripes for 5-6 years and then branched out in contracting/freelancing after they've gained a reputation in the CMS space.
What Are The Risks Of Specializing in Umbraco Development?
I've been working with CMS systems for 11 years and in that time I've never seen a shortage in work, however... the CMS system that I learned when I came out of university no longer exists. The one I learned after that no longer exists either. The CMS I learned after that.. also doesn't exist. Throughout my career, I've worked with around 10 CMS systems and out of those, maybe 4 still exist today. As my checkered past proves, there is a risk that Umbraco might not exist in 5 years' time. Umbraco is .NET's most popular open-source CMS system, so the chances of this are very slim There are over 400,000 active Umbraco installs so the chances of Umbraco not being around is a lot less than they were for some of the platforms.
The simple truth is that as we work in technology, none of know exactly what we'll be using in 5 years. .NET will be around, cloud hosting will be around, apart from that, it's still a guess. One thing I can say from my experience is to learn one CMS well. It's then a lot easier and quicker to learn another CMS. Even if Umbraco doesn't exist in 2 years, if you spent 2 years becoming an expert all the knowledge you gain will help you learn the next thing in a quarter of the time. I can usually pick up a CMS in a few weeks now. At the beginning of my career, it might have taken a year to get familiar with it. As most CMS use a lot of standard .NET features under the hood, most of the stuff you'll learn around Umbraco will be applicable to any other .NET CMS.
Personally, I wouldn't even factor this in a decision around Umbraco as it's so popular now.
Advantages Of Specialising In Umbraco
As Umbraco is free and open-source, it means clients don't need to have a massive budget to build a website. Combine that with Umbraco cloud web hosting starting from $25 a month, it's easy to convince small business owners to use Umbraco. If your long-term goal is to be a freelancer and work from home, or, if you want to start your own agency, then this is a good thing to learn to help you on your way. I've worked on projects that have cost over a million pounds and the one thing I can say is that when that sort of money is involved, only large agencies are considered. You, as a small individual, will never get your foot in the door with a client unless you have a large team and a good reputation.
When you specialise in Umbraco, it's a lot easier to set-up and build a good network of contacts. Instead of trying to network with everyone who works with .NET, you can focus your attention on a few key agencies and clients. Most of my contracts have come from within my network of people I know, which usually means I can cut out recruitment companies and get a better day rate.
It's much easier to become an expert in a CMS than it is to be an expert on everything .NET. When you become an expert, job interviews are easier as you only need to be good at a much smaller subset of information.
Good community. There's lot of good websites, meet-ups and information on Umbraco, so hopefully finding answers to your questions should be easy
Disadvantages Of Specializing In Umbraco
As a contractor, out of all the CMS systems that I've worked on Umbraco projects seem to be shorter, say 3 months. If you work with Umbraco you may have to spend more time looking for work than you would contracting for an enterprise-level CMS.
Umbraco day rates from contracting are less than other .NET CMS project. My guess behind this is that Umbraco projects tend to be with smaller clients rather than big corporations, who can't afford to pay the same.
I'm hoping you can see specializing is a great choice. If you want to make a career in building websites, Umbraco is a good choice to ensure you have some unique skills that will make job hunting easier. If you learn Umbraco, you'll be able to apply for jobs that only a handful of people can apply for and it's a lot easier to compete within a small ground of applicants than it is to a large group.
The next main consideration, is how many projects and people are using Umbraco? The more people who use Umbraco the more opportunities you'll have. If everyone stops using Umbraco, then you'll find it harder to find work and you'll need to learn something else.
If you want to freelance, or start an agency eventually, then pick Umbraco. If you want to contract long-term then maybe Episerver or Sitecore might be a better option (in London at least).
If you're new to web development and you simply want to get a few years of experience under your belt, then I don't think you'll ever regret learning Umbraco.