This year has obviously been a lot different than everyone expected. I feel extremely fortunately and lucky to be in an industry that naturally makes it easy to work from home. In fact, remote work is something I've wanted to try full-time for quite some time, and this year has not only forced it to happen, but also made it more normal in our industry (hopefully now moving forwards). It's just a shame it took something so terrible as what's happening for this to become a thing.
I have some exciting news! As you may already know if you follow me on Twitter, I've recently started my very own podcast!!
As an industry, we spend far too much time sat down. A quick Google search will show plenty of research suggesting that this is very bad for you in many different ways. I've very recently invested in a standing desk, and thought I'd share what led up to me buying it, which one I chose, and also my initial experiences using it. This will be a 'part 1', with a follow up in about 6 months.
How many times have you been working in a Git feature branch, and come across something in code that you want to change, but isn't related to the feature your on? Perhaps a code tidyup, or fixing some unrelated warnings?
There are quite a few different mocking libraries in .NET. Moq and NSubstitute seem to be by far the main ones I hear that developers use. I've used both of these in different projects, and really like them both. Whilst my preference leans towards NSubstitute, I'd be happy using either. Out of interest, I posted a Twitter poll to see what other people preferred, and the results and replies were really interesting!...
I've just recently had an issue where I'd created two accounts for the same website - one for myself and one for my wife. I quickly hit a very strange issue where if I logged into my wife's account, I would end up in my own account! I must admit, I initially jumped to thinking that the website must have some appallingly terrible authentication code. It turns out I was wrong, and it's something that might be quite common amongst multi-page login screens.
When writing tests, sometimes it can be tempting to dump a bunch of asserts into the same test to avoid duplication across multiple tests...
Last week I had a catchup meeting with a client about the progress of a platform I'm building for them, and showed them how the "devops" side of things works. Demoing it really struck me how insanely awesome all the tooling we have nowadays is, and also how much I take it for granted!
I've recently started a new contract where we do 100% pair-programming. This is the first time I've done pair-programming on anywhere near this level. In the past, I've only ever paired on an ad-hock basis either to help someone else solve an issue, or vice-versa. This is an 8-hour per day contract, where other than meetings, we're pairing for all of those 8 hours. Sounds full-on? Well, actually so far, it seems to be working pretty well! Obviously, it makes a huge difference who you're working with, and I've been lucky that I seem to be getting on well with both developers that I've paired with, and we seem to think in the same way and haven't hit any conflicts so far!
When looking at a lot of C# code nowadays, I find myself thinking "wow, that code could be made SO MUCH SMALLER!". C# is a very flexible language, allowing you to write clean and functional code, but also very bloated code.