this is my first #ama, so please bear with me
What I'm Willing to Talk About
I'm happy to answer questions on podcasting (hosting, producing, and editing), creating content, .NET Core, and anything else that the following information inspires you to ask about.
Posting Questions
Please post any questions that you have as comments on this article.
About Me
I've been a .NET developer for close to 11 years, recently went contractor. I've been writing about .NET Core since November 2016 over at https://dotnetcore.gaprogman.com/ which, combined with my appearances on:
- The Cynical Developer podcast - across four episodes
- The Productivity in Tech podcast
- This was on the old show, before the recent rebrand
- The Rising Young Minds blog
- My posts on codeshare.co.uk on Free HTTPS Certificates and Rider from Jet Brains
lead to the creation of one of my podcasts: The .NET Core Podcast - which is celebrating it's one year anniversary this month.
I've also been writing and creating podcast episodes for a website that I run with my brother: The Waffling Taylors. We've been writing about video games since January 2017, and launched our podcast in November that same year, too.
In November 2017, I started working as a DevOps engineer for a UK-based start up consultancy. This required me to learn containerisation technologies (focusing primarily on docker) and cloud based architecture (focusing on Microsoft's Azure platform). It was during this time that I started looking into productivity tools, and I started making .NET Core Global Tools and .NET Core custom templates.
I'm an open source advocate, and have created a number of NuGet packages
that's kind of like npm packages but for .NET
which are used in a lot of projects:
-
OwaspHeaders.Core
- which adds OWASP recommended HTTP Headers for ASP.NET Core applications (33,456 total downloads according to NuGet)
- The source code is freely available on GitHub (used in 10 other open source projects)
-
ClacksMiddleware (4,054 total downloads according to NuGet)
- which adds the GNU Terry Pratchett HTTP header to ASP.NET Core applications
- The source code is freely available on GitHub
I'm also a Hack24 winner - as part of a four person team called Merge Conflicts. I also entered in 2017, as a member of Abstract Sausage Factory - although we didn't win, we had a great time.
I've also been looking into JAM Stack and static site generators like Hugo, Jekyll, and Gatsby. Which is something that I talked about on my recent appearance on the Developer Side Quests podcast.
So I invite you all to ask me anything. I'll be answering questions until around 10pm UK time.
Latest comments (29)
Do you develop on a Windows, MacOS or a Linux distro and why did you pick that particular OS?
So I'm OS agnostic. I have devices which run both Windows 10 and Mac OS vLatest (a separate device for each), and I run Pop! OS on my main PC.
I used to be Windows only, but about 8 years ago I moved over to Ubuntu Linux for my daily driver. I'd tried a few different distros before then, but there was something special about the fact that it just worked.
Then, when I started getting interested in cross platform .NET development, I bought myself a Macbook Pro.
I still use all three on a daily basis.
Any tips that you want to share for developers across the globe.
Have any tips for the days when you just "don't wanna"?
Oh man. I get this at around 8pm on a Wednesday night.
My goto strategy is to take a short break and do something completely different. So when I'm 2 hours into editing some audio and I get all antsy, or just want to give up, I get up from my chair, head outside and walk around the block. Granted UK blocks are a lot smaller than most of the world, but it clears my head.
But if I haven't started the task yet, and I really don't wanna, what I'll do is get myself into a position where I should have already started. So when I used to go running all the time, I'd get changed into my running gear and go stand by the front door. It seemed pointless to be standing there, ready to go, knowing that I'd have to get changed again if I didn't go. So I kind of procrastinated myself into running.
It's what I call the Professor Farnsworth dilemma.
Besides the obvious, can you recommend any other podcasts? Not necessarily limited to development either.
I can certainly recommend loads of podcasts. I have two lists on Podchaser:
I'd heartily recommend:
Tips that you want to share with developers around the glob.
.NET Core 3.0 is pretty much locked in, but what do you hope to see in the .NET 5 timeframe?
What's great about .NET 5 is that they're bringing Xamarin, Core, and Mono together. With that we'll get native, cross platform access to the Mono linker and tool chain.
My biggest hope for .NET 5 is installed templates not being wiped out with SDK updates. So right now, if you install a
dotnet newtemplate then update the installation of the SDK, the template will disappear. I created an issue on GitHub for this, after asking about it on Twitter.But the most exciting thing to me is the rolling release schedule in .NET 5. Traditionally, Framework is tied to the Windows Kernel. This means that they can't issue updates out of band for Windows. Which means that updates for Framework have always been super slow. Especially since there's nearly 20 years of apps which NEED to keep running, exactly the way that they have before, when a Framework update is released.
But .NET 5 (and beyond) is going to have yearly releases, meaning that we'll get access to new features on a very rapid release cycle. Thinking thay we could have a new feature announced, trialed, previewed, and into our production code bases in less than a year is incredibly exciting to me.
You've had a few folks on the podcast who've made big transitions in their career. You've also made a big transition to being a contractor. Do you have any advice for people making a big change? Whether it's getting into development after having done something else, or changing the nature of of their development career from full-time to contracting or some other direction. Yes, I know, very broad. :)
Ooh! I love that question. But my answer might have to be equally as broad.
The first thing you need is a plan. What do you want to achieve? Be as specific as you possibly can, but also acknowledge that there are:
Then take a look at how you think this new transition might affect you and your dependents - you may not have dependents, and that's fine, but you are dependent on yourself.
If it's career related, like going full time or moving to contracting work, do a full budget. Take the time to figure out precisely what your finances are, and how much you need to survive for 3 months. Then have at least that much banked before you do ANYTHING. With contracting, you will typically lose any employment benefits that a full time employee has (medical insurance, paid sick leave, etc.), so what happens to your bills and dependents if you become sick? You need to know these things.
Be aware that a big change can have both positive and negative effects. And you need to try and be aware of both of these sides of the coin before you can make a decision. Try and think of it as being similar to informed consent, but you have to inform yourself. But that's hard because of the unknown unknowns.
To combat those unknown unknowns, seek out other people who have done the same. Maybe see if there are meetups or professionals that you can talk with. When I was thinking of changing to being a contractor, I spoke with all of my contractor friends. I also went to seek legal and financial advice (I have experts in those areas in my family, and while they couldn't advise me as a professional, they helped me finding the questions thay I should be asking).
In summation, and to quote Scar from The Lion King:
Do you have any good tips on how you manage tasks? Tools and/or concepts? How you do prioritize?
If you'd have asked me how I prioritise tasks 2 years ago, I'd have said that I firefight. But these days, I take a look at what can allow me to check off the most at once.
One of the things which has helped me a lot recently, and it's super low tech, is pen and paper. Like, I'll write the heading:
What Do I Have?
And list everything that I have about a task. Do I have the spec for a job? Do I have access to documentations? Do I have the audio that I want to edit? Do I have the tools that I need?
Then I'll write the heading:
What Do I Want?
And list what I want the end result to be, in as much detail. For example, I might put something like:
That way, I can see the list of steps that I need to take to get to the final result, and precisely what that final result will be.
Then I'll make a check list of steps to perform, and check them off, one by one, until they're done.
The biggest thing to remember is that the individual tasks will take as long as they take. And if they go over, then it's not the end of the world.
If you have to start learning some new technology.
How you prepare yourself to learn it resources, daily time investment.
So I've done this recently with Hugo. What I did for that was find out the bare minimum that I need to be able to build something with it (in this case, ensure that both Go and the hugo cli app are installed).
The next thing that I do is figure out a project that I can get some use out of, and start building it with the new technology. In the case of Hugo, I started recreating the Waffling Taylors website with it, implementing a new design as I went along.
Once I've scratched the surface enough, I'll go back and look into how the technology actually works. That way, I can better understand the inner workings and the design decisions for the technology.
How your normal day look like?
How you start your day --- till you go to sleep?
My normal weekday looks like:
I'll fit podcast interviews (guests on my shows) into my day, too. But I plan them around the availability of my guests.
Weekends are completely different, as I tend to spend one Saturday a month recording a month's worth of episodes for Waffling Taylors. But mostly, it's family and chill out time.
Do you code and listen to podcasts at the same time? If yes, do you not find it distracting?
I certainly do code and listen to podcasts at the same time. I don't tend to find it distracting at all.
I put it down to me being an auditory learner. I'm sure that the science doesn't work out like this, but I can keep all of my attention on the work that I'm doing and still take the details of the show in.
Thank You for sharing your schedule.
Really appreciate a lot.
No worries.