I recently received an email 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, this article is for you. Throughout my career, I've worked with over ten different CMS systems. Learning each new system takes time and effort. For each new CMS system that I have mastered, I had to consider if putting in the effort would benefit my career, or, learning this new technology was just a waste of time and effort. I didn't really have a choice for some of the systems I have mastered (work forced me), some I deliberately chose and it paid off big time, a few were a complete waste of time. How do you know which one is worth investment and which ones aren't? Read on to learn my decision-making criteria!
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. If you are a programmer, the chances of getting a new job are extremely high. 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 the 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 web work is boring. 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 one or more APIs. 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 and to 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.
Assuming you like web work, the next big question you should ask is, will learning Umbraco help me get paid more money in the long term? This is a great question, one which I'll hopefully give you some food for thought to process what's right for you. 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 a Umbraco role, you might only be going against 5 other developers, however, instead of seeing 100 jobs, you might only see 10. If you can reach a stage where you have a great reputation in the Umbraco development community, out of those 5 developers it is easier to be the one who stands out. It's easier to 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 into contracting, or, 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. Out of the 10 CMS systems I learnt, 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 it not being around are very slim.
The simple truth is that as we work in technology, no one 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 that after you learn one CMS, it is a lot easier and quicker to learn another CMS. Even if Umbraco doesn't exist in 2 years time. The time you take to become an expert will help you master 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 whole year to get familiar with it. As most CMS systems 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.
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, Umbraco is a good thing to learn to help you on your way. I've worked on projects where the costs have been way above one million pounds. The one thing that 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 enterprise-level clients unless you have a large team and a good reputation. If you want to freelance you need to focus on smaller projects.
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 Umbraco contracts have come from within my network of people I know. This 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
Umbraco projects tend to be small with shorter durations, say 3 months. If you work with Umbraco you may have to spend more time looking for work than you would be contracting for an enterprise-level CMS.
Umbraco day rates from contracting are less than other .NET CMS systems. I feel the reason for this is that Umbraco projects tend to be with smaller clients rather than big corporations. Smaller clients can not afford to pay the premium rates. Sometimes Umbraco rates are less than normal C# rates, something to be aware of!
Takeaway
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. It's a lot easier to compete within a small group of applicants compared 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 that pays the most, maybe learn Episerver or Sitecore instead (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.
Happy Coding 🤘