Menu

Seconds & pixels

"This is our last dance. This is ourselves. Under pressure."

Tech debt: it ain’t all bad

Technical debt, as defined by wikipedia:

Technical debt (also known as design debt or code debt) is a neologistic metaphor referring to the eventual consequences of poor software architecture and software development within a codebase. The debt can be thought of as work that needs to be done before a particular job can be considered complete. If the debt is not repaid, then it will keep on accumulating interest, making it hard to implement changes later on.

I think the use of the word debt here is absolutely superb! The two really are similar in almost all ways I can think of. Take for example, the concept of interest.
Getting into debt means you have to pay interest. If the debt becomes too big, the interest can become so high that all you’re doing is paying interest off and no more money goes towards capital repayments.

Similarly, allowing technical debt to grow out of control means that you will be spending more and more time on paying off your “interest” (i.e. the extra work generated by the debt) and less and less resources will be available to work on the stuff that matters.

Anyone that has worked on software with bucket loads of tech debt knows this part of the metaphor really well. What I’d like to talk about today is that the other part of the metaphor also applies: debt is not all bad!

Debt is just another way of saying credit and credit is very important. You need credit to make large purchases, like a house, or to finance a budding business. Credit only becomes a problem when it gets out of control, but well-planned, affordable credit is key to economic development.

Similarly, technical debt is not all bad and it can add value to an organisation. When it is well managed, it can help get a product to market quicker, it can help prototype and experiment with features faster, it can be immensely useful. The key phrase in there is well managed. Allowing the debt to get out of hand will probably mean that all the speed a team gained in going out to market quickly is lost when bugs need to be fixed and features need to be added.

An experienced engineer should know when the time is right to clean-up some debt and when to let it linger a bit longer. Sometimes it’s appropriate and sometimes that God object just needs to go and you can’t have it any other way. Knowing when to do either of these is the hard part; I’m still learning how to gauge that.

If you find this topic interesting, I recently found a great piece about code debt that explores it a lot more than I have done here and that I would strongly recommend you check out: Technical Debt 101

Writer’s block

Lately, I have been experiencing an unusual kind of writer’s block.

It’s not a lack of topics or of desire or ability to put these into words. Rather, I have now reached a point where I am very aware, everyday, of how much there is that I do not know.

This makes it very difficult to write about the things that I *do* know, as I find myself questioning that knowledge in face of the big unknown. When there is a vast universe out there that you know nothing about, how can you confidently make assertions based just on the little bits and pieces that you do know!

 

 

Bertrand Russell: “The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts.”

 

I think this type of overthinking ends up being an issue for a lot of young developers as well, in their day to day work. They reach a stage where their mastery of the craft is better than it has ever been, but they become distinctly aware of how much there is yet to learn and become afraid to act independently or they over-analyse their every decision.

This is probably where having an experienced mentor becomes invaluably useful, to help you build confidence in applying and sharing your knowledge.
In my case though, lacking that advice at the moment, I’ll just bite the bullet and plough through all the drafts that are gathering dust here and share them with the world, for better or for worse. After all, if a blog doesn’t get criticism, does it actually exist at all ?

How to (really!) get a new Xbox One power supply

I previously wrote a bit about how to order a power supply for your Xbox One because Microsoft makes it so convoluted that it’s worth blogging about.

Unfortunately, the complication does not end with finding how to do it. While I would still point to that as the only way to order a brand new original power supply from Microsoft, I would not recommend it to anyone. Long story short, 6 weeks and 3 support interactions later and Microsoft still hadn’t shipped my power supply, nor were they able to explain why they hadn’t and what the problem was.

So if you still want to get an OEM power supply, but don’t feel like waiting 6+ weeks for no reason, take to ebay. You might just find what you’re looking for.

How to get a new Xbox One power supply

UPDATE
You might want to read my newer post about this before proceeding …

===

Quick guide to something which is unfortunately and unnecessarily hidden and convoluted.

If you want to buy a new Microsoft OEM power supply for the Xbox One, whether because yours broke or you moved to a country with power settings than the one from where you purchased your console, here’s how you do it.

* Go to Xbox Online Service Centre.
* Sign in or register with a Microsoft account
* Register your Xbox if you haven’t done so already before
* Click on replace an accessory, select the xbox (not the kinect), and click power supply!

You can probably handle it from here. They say you will get the correct power supply for the shipping address you use (i.e. if you ship it to a UK address you will get an UK one).

In the UK this costs £30 at the time of this writing. Getting it to you can take 2-3 weeks.

If you have any other questions, contact Microsoft :P

Keep wasting your time

For as long as I can remember, I’ve been pushing people I know to stop “wasting their time”. And, before I go tearing down some walls, I should start by stating that I still believe that the majority of adults do many activities that are as empty and detrimental to the mind and soul, as junk food is to the body, and for no better reason other than the mix of temptation and easy reach. These are simply ways of passing time (as if you had way too much of it to pass) and numbing boredom, offering nothing in return. TV is a good example of this (not TV shows in particular, but just the wasted ad-filled hours searching for entertainment on an old medium). These I remain strongly opposed to.

That said, I have realised in the last few years that I took this too far and may have thrown out the baby with the bath water. If you are doing something that makes you happy, that relaxes you, that entertains you, something you’re passionate about or that has a positive effect on you in whatever way, even though you can’t really fit this thing in your purposeful life plan, you should probably keep doing it and don’t feel guilty about it. This is where the magic comes from and to lose this is to risk losing the main source of your inspiration.

I say inspiration and I intentionally use the word with a very broad sense here. Creative ideas, innovation, finding opportunities — all this and so much more comes from this space of “playing”, of “wasting time”. You can’t build things that people are passionate about if you don’t know or understand what these things are or if you don’t echo that passion yourself about some things in life. You use this to connect to other people, to make friends, to build love, to help view the world through a different lens. And it’s your passion that helps you care about how to make better whatever it is you are doing and gives you ideas that may turn into small projects or may turn into lifetime opportunities.

I’m working now on a project (that I can’t yet talk about) that I dismissed in university as a time waster “I don’t get”. I don’t regret any of my choices back then, but there’s no doubt that I would have had an easier time getting started now, if I hadn’t been so much against it in my younger days. If you want to help people with their daily habits, you have to know what these habits are. And if you want to build the best you can, you can’t just get your requirements from a piece of paper, you have to live the product.

So allow yourself to waste some time… the long-term benefit may be well worth it.

Older Posts