<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://proworks.com/blog/rss/xslt"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>ProWorks Web Design, Development, and Umbraco Blog</title>
    <link>https://proworks.com/blog/</link>
    <description>ProWorks</description>
    <generator>Articulate, blogging built on Umbraco</generator>
    <item>
      <guid isPermaLink="false">4810</guid>
      <link>https://proworks.com/blog/archive/if-burnout-is-an-injury-passion-is-the-sport/</link>
      <title>If Burnout is an Injury, Passion is the Sport</title>
      <description>&lt;p&gt;It's been a while since I wrote any kind of lifestyle post, but this one has been sitting in my brain for some time. After joining the organizers team for &lt;a href="https://codecab.in"&gt;CODECABIN 2026&lt;/a&gt; - which is happening in gorgeous Gleneagle, Colorado in March - and then reading &lt;a href="https://24days.in/umbraco-cms/2025/passion-isnt-enough/"&gt;Owain's blog post for 24 Days in Umbraco&lt;/a&gt;, I've been thinking a lot more about something that I know I have suffered strongly in the past year: burnout.&lt;/p&gt;
&lt;p&gt;If you haven't read Owain's post yet, it is also a look back on this last year and a reflection on perfection, dream jobs, and change. It's both thoughtful, and thought-provoking, and is the strong impetus behind my own reflection on this phrase that I have been saying in my home the entirety of this last year:&lt;/p&gt;
&lt;p&gt;Burnout is an injury. It takes time to heal, and it may never heal.&lt;/p&gt;
&lt;h2&gt;Looking Back at 2025&lt;/h2&gt;
&lt;p&gt;This year was a big year for me - after all, it's the 10 year anniversary of &lt;a href="https://skrift.io"&gt;Skrift&lt;/a&gt;. A year of hype, a year of promotion, a year of improvement! Haha, just kidding. It was in fact Skrift's 10 year anniversary, but if we're being perfectly honest when the anniversary popped up on my radar in March (we started in April), I wasn't ready.&lt;/p&gt;
&lt;p&gt;Kyle, my husband, was recovering from a long bout of pneumonia and a muscle tear that had landed him in the emergency room. He got diagnosed with that the same day our 17 year old kitty passed away (the first of two pets that we had to say goodbye to this year). Work was incredibly busy and I had a lot on my shoulders at the time - new builds, significant site upgrades/rebuilds, and some big new features for existing clients.&lt;/p&gt;
&lt;p&gt;When I sat down to think about Skrift, a labor of love for over a decade, I wasn't even sure what to say. I couldn't focus on it. I had no interest in it. If we're being honest? I couldn't have cared less about the anniversary.&lt;/p&gt;
&lt;p&gt;Move forward to planning my travel for Codegarden less than a month before the event, struggling through planning a (rather excellent, if I'm patting myself on the back) keynote presentation for the US Festival, writing blog posts and articles both for ProWorks, Skrift, and 24 Days...&lt;/p&gt;
&lt;p&gt;They say it's not a sprint, it's a marathon, and boy howdy did this year feel like a marathon.&lt;/p&gt;
&lt;p&gt;I love my job. I love Skrift. I love Umbraco. But I'm tired.&lt;/p&gt;
&lt;h2&gt;The Correlation Between Passion and Burnout&lt;/h2&gt;
&lt;p&gt;And that's the crux of my philosophizing in this post. The truth, for me, is you can't burn out on something if you weren't passionate about it. You cannot suffer burnout if you didn't first fall in love.&lt;/p&gt;
&lt;p&gt;Pacing, thoughtfulness, giving yourself time and space to reflect and ponder doesn't happen when you're in the middle of a passionate affair with your career, your code, your writing, your art. Being all in, without limits and without boundaries, is how we make amazing progress and also how we break a leg. Or in this case, perhaps break our own hearts a little when we open our laptops, stare at the screen for one, five, fifteen, fourty-five minutes, and then close it again. Because there's nothing there to give when the day is over.&lt;/p&gt;
&lt;h2&gt;It's Time to Balance Your Passion with Routine&lt;/h2&gt;
&lt;p&gt;I have been in my current relationship for over fifteen years now, and the last five of them we've been married. If you asked me who my best friend is, I would immediately tell you that it's Kyle. And, while this is obviously very personal for an article about burnout in tech, I'm going to say that if I had tried to make the last fifteen years a wildly passionate fling, I would have absolutely burned out on my relationship as much as I would have any job.&lt;/p&gt;
&lt;p&gt;But, especially when we have that shiny MVP badge next to our name, there's personal pressure that we put on ourselves to constantly maintain that passionate love affair with our work and our code - and it's as unrealistic as it is to maintain that level of energy in any interpersonal relationship.&lt;/p&gt;
&lt;p&gt;What has made my last 15 years successful? Routine - full of easy, comfortable daily moments in each other's company, where we have our schedules laid out, our chores separated (I hate the dishes, Kyle hates scooping the litter boxes), and a healthy dose of laughter. And I think this is exactly what makes us successful at careers.&lt;/p&gt;
&lt;p&gt;I'm not saying don't go above and beyond - obviously there are special moments - or not to push yourself when an opportunity presents itself that sparks your interest. I'm saying it's important to balance your passion with time to relax and let go. Embrace the moments where you aren't passionate, where you don't want to open the laptop, where the routine is good enough. Let passion be the sprint, not a marathon.&lt;/p&gt;
&lt;h2&gt;Step Away and Refresh&lt;/h2&gt;
&lt;p&gt;I am proud to say that ProWorks is a strong proponent of work life balance. I can count on one hand the amount of overtime I've worked after starting here three years ago. I also only work four days a week, something that they have supported me in, because I found that when the work week was over, I had no energy for the creative endeavors I love. Having my Mondays free means I actually draw, and I have grown so much as an artist.&lt;/p&gt;
&lt;p&gt;It's important to give ourselves those moments, whether it's a randomly taken day off, a shorter work week, or stepping away to spend time with like-minded people in a quiet scenario. I remember being in Pete Duncanson's garden in England, talking with a few Umbracians in a personal setting, and feeling so refreshed and genuine.&lt;/p&gt;
&lt;p&gt;If you get an opportunity - yep, there is a plug, but I honestly mean it - I recommend attending CODECABIN. I went to my first (and only) CODECABIN in 2022 after it had taken a break for COVID. While some people hacked - and yay that passion sprint - I spent most of my time in quiet conversations with people like me, about Umbraco, about life, about retirement (that was one of our big talking points that year), and yeah a little bit about code. It was refreshing, and I wouldn't say I came away passionate, I came away thoughtful and feeling like I had bonded with people who could accept me for who I am at this moment. If you get the chance, &lt;a href="https://codecab.in/#apply2"&gt;you should absolutely go&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Burnout is an injury brought on most often by an overabundance of passion. When you feel it, step back and allow yourself to heal. Remember that you don't have to push yourself every day. Routine is absolutely okay - in fact, it's healthy. It's a sprint, not a marathon.&lt;/p&gt;
</description>
      <pubDate>Thu, 11 Dec 2025 12:00:00 Z</pubDate>
      <a10:updated>2025-12-11T12:00:00Z</a10:updated>
    </item>
    <item>
      <guid isPermaLink="false">4676</guid>
      <link>https://proworks.com/blog/archive/alternate-urls/</link>
      <title>Using Alternate Templates in URLs after Upgrading Umbraco</title>
      <description>&lt;p&gt;It used to be in old versions of Umbraco - and I do mean oooold, like v7 - you could use alternate templates as part of the URL structure. This was particularly convenient when you wanted to have a &amp;quot;virtual node&amp;quot; of a sort for a page, but you didn't want to have it somewhere in the backoffice.&lt;/p&gt;
&lt;p&gt;A great example of this is an RSS feed for a blog. In v7, you could assign an &amp;quot;Rss.cshtml&amp;quot; template to your article listing node and have it not be the default template. Then with no extra effort, you could have a URL such as https://mysite.com/blog/rss/ and it would just yoink the allowed template with the name &amp;quot;Rss&amp;quot; and apply it to the blog page but as a virtual &amp;quot;sub node&amp;quot;.&lt;/p&gt;
&lt;p&gt;At first glance, it looks like this no longer exists in Umbraco v9+ but that's not actually true. You can still do this even in version 15 - it just takes a slight bit of extra set-up to get going.&lt;/p&gt;
&lt;p&gt;First off, you need to apply a content finder to make this happen. You don't need to make a custom one, you just need to apply it, and for that I recommend having a custom &lt;code&gt;UmbracoBuilderExtensions.cs&lt;/code&gt; file. My bare minimum version would look something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-c#"&gt;namespace AltTemplateTest.Extensions
{
    public static class UmbracoBuilderExtensions
    {
        public static IUmbracoBuilder AddAltTemplateSite(this IUmbracoBuilder builder)
        {
            // We are going to add our custom website configuration here.

            return builder;
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And then we need to register it in our &lt;code&gt;Program.cs&lt;/code&gt; file.&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;using AltTemplateTest.Extensions;

WebApplicationBuilder builder = WebApplication.CreateBuilder(args);

builder.CreateUmbracoBuilder()
    .AddBackOffice()
    .AddWebsite()
    .AddComposers()
    .AddAltTemplateSite() // This is where we add our custom website configuration.
    .Build();

WebApplication app = builder.Build();

await app.BootUmbracoAsync();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;Note: If you've read my article for &lt;a href="https://24days.in/umbraco-cms/2024/multi-node-tree-picker-search/"&gt;24 Days&lt;/a&gt; or any of &lt;a href="https://skrift.io/authors/janae-cram/"&gt;my articles for Skrift&lt;/a&gt;, you probably see this is a common pattern I use for registering services, content finders, and other custom code for my site. I really like to break this up with additional methods that I use to group things to make finding where I've registered them easier, but we're going to keep it simpler for this example.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Now the magic! Back in our &lt;code&gt;UmbracoBuilderExtensions&lt;/code&gt;, we need to add one line where I conveniently left that comment, like so:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;public static IUmbracoBuilder AddAltTemplateSite(this IUmbracoBuilder builder)
{
    builder.ContentFinders().Append&amp;lt;ContentFinderByUrlAndTemplate&amp;gt;();

    return builder;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Once you've added that, Umbraco will now find any of those alt templates you want to use and allow them to be used in the URL as if they were an extension of the page - perfect for a custom RSS feed or other secret little easter egg you want to include on your site!&lt;/p&gt;
</description>
      <pubDate>Thu, 05 Jun 2025 12:00:00 Z</pubDate>
      <a10:updated>2025-06-05T12:00:00Z</a10:updated>
    </item>
  </channel>
</rss>