Opinion: Inability to hire is an underestimated aspect of technical debt and old tooling

Most developers and analysts today are fairly aware of the impacts of technical debt. As technical debt grows, it takes longer and longer to get real customer or end-user work done. Worse, more and more time is spent triaging and squashing bugs. And one interesting aspect of technical debt is old tooling.

Old Tooling

I've written before about modern not being a synonym for better, but there comes a point where you need to modernise your tooling, even if it seems to be doing the job.

For me, the most tell-tale sign is when the author of the tools has apparently moved on from being interested in the tool. No matter how good a tool was, it needs to keep moving forward as requirements and operating environments evolve.

I deal a lot with Microsoft applications, and I often see these signs:

  • People from the development team seem to have moved on to new jobs
  • No-one is posting blog posts about what's happening
  • The tool stops turning up on conference sessions, Channel 9 videos, Azure Fridays, etc.
  • The flow of new features slows to a trickle or stops

If you ask the company, the tool is still supported and not going anywhere, but given the interest has moved on, you probably should too. I can only imagine that there's a desire to avoid upsetting anyone who's made a commitment to using the tool.

Many people refer to this type of tool as abandonware.

There are times though, when sudden spurts of life appear. A classic example is the work that was done on SQL Server Reporting Services in the 2016 edition. (I'll write more about SSRS another day)

Finding Staff

What I really wanted to mention today though is another nearly-hidden downside of using old tools, as a form of technical debt. And that's your ability to find staff. You do not want to underestimate the impact of this.

Today, I was reading about a large company in Europe with untold millions of lines of classic ASP code, embedded with VB. They can't work out how to move forward now.

I feel for them. I've done work with customers where their entire code base was in VB.NET and ASP.NET WebForms. At least that was a step up from classic ASP. They had many hundreds of developers. Even if you're a stalwart who loved the tooling, you need to stop and as yourself where you are going to find staff who'll share that love.

Developers who desperately need an income (and thus a job), and are living from pay to pay, might work for you. But developers who have any options at all, aren't likely to do that.

You'll find it harder and harder to locate good people who want to work for you. You'll end up paying them much, much more than would otherwise be appropriate, and you'll end up lowering your standards for whom you're prepared to employ.

From the point of view of a prospective staff member, do you really want to have your resume showing you starting with that code today?

Awesome image by Pepi Stojanovsky

And if you really are willing to do any coding for the pay, why not learn COBOL and cash in? It won't take that long to learn, and there's still plenty of work around for those wanting to write it.



Opinion: Why no special characters in passwords? Are you a target?

I regularly enter passwords into websites, and am told after I've entered a new password, that I can't use any special characters.

Why exactly?

If I see a site that won't deal with special characters properly, it immediately makes me think there's some pretty poor coding going on under the covers. Very likely, the developers haven't thought through how the parsing of requests, etc. should be handled.

It's not just special characters either. Requiring short passwords is another red flag.

And if you're still using complexity rules (like at least one upper, one lower, one numeric, etc.), read the NIST recommendations on this:

NIST's new password rules – what you need to know

Attack target?

If your website won't allow special characters in passwords, or reasonably long passwords (like a passphrase), it's an indication of poor coding, and it also makes you look like a potentially good target for attacks.

It certainly doesn't make your company look good.

Don't do this!

Happy new year 2020 and goals not resolutions

Wow, it's been a really big year in many ways. I had a list of goals for the year, and overall I'm pretty happy with where it's ended up. One area that remains a challenge for me is personal health. But there are things I have in place that make me confident that one will be addressed better in 2020.

I liked the way that a few of my friends this year posted that they aren't making New Year resolutions, they're just stating goals for the next year. That's a great way to look at things.

If you make resolutions, you might start all enthusiastically but when life intervenes (as it invariably does), you can feel like you've failed.

By comparison, if you have goals, you are always just working towards them until you reach them. And your progress might not go in a straight line. You might have setbacks, but you can just keep redirecting yourself towards your goals. (I've heard it described as being like a plane heading to a destination. They're rarely pointing directly at the destination).

From SQL Down Under, you should see many new things. We've got a whole range of new online courses (including some new free ones), a whole lot of new material on SQL Server, Power BI, and Snowflake, new podcasts, eBooks, and much more.

Thanks for being here. I hope this finds you and your families well.


Happy Christmas 2019 to all my readers

Hi folks,

2019 has been another really big year. The number of readers of this blog has really increased in the last year and I'm pleased you're here as one of them.  You make it all worthwhile.

Thanks to so many who reached out during the year, with wonderful insights and ideas.

Just wanted to wish you all the best for the holiday and Christmas season, from here down under.

Christmas time is often a period where we think back about those we've lost. The older you get, the more there are to remember. They live on in your hearts but life is all too brief. I hope you all stay safe and cherish your loved ones.

Not everyone finds Christmas a happy time. Keep an eye out for people that need extra help during this season.



Opinion: When did "sqls" become a thing?

Given that SQL is an acronym for Structured Query Language, a reference to "a SQL" is then a reference to a language. Or the term SQL just refers to the language.

So something that I find really odd now is the number of people using the word SQL as a synonym for a SQL statement. I keep hearing references like this:

We need to execute several SQLs against the server.

I need to run a few SQLs.

and so on.

I live in Australia where we're well known for mangling parts of the English language and, importantly, abbreviating almost everything. "McDonald" becomes "Macca", etc.

We don't do that with other languages. We don't write "I wrote four Spanishs" instead of saying "I wrote four Spanish sentences".

But I can't be the only one who finds the reference to SQLs as pretty jarring.

Would love to hear your thoughts.

Opinion: If you don't like answering questions, leave the forums

Over the years, I have long periods where I avoid Q&A forums. Lately, I've been spending a bit of time back in some forums. And once again, I've seen the sorts of behavior that make me think about leaving again.

Here's a simple message: If you don't like answering questions in Q&A forums, then don't. Leave. You might think it's all about you and your attempts to gain reputation in the forums. It's not.

It's about the people who need help.

There are a few personality types that I really want to call out:

The "you didn't search well enough before asking the question" type.

These people will berate others for asking questions that have been asked before. Get over it. People will ask the same questions again and again. Not every one of them is a search whiz. And who cares anyway? Just answer their question and let them get on with their lives. If you don't want to do that, just stop doing it.

Worse, I've seen examples lately where questions are closed as duplicates, and the person who jumped into to close it quickly, has totally misunderstood that it's really not actually a duplicate.

The "you're doing a dumb thing; I'm really clever but you should go back to school" type.

These people are more intent on trying to make themselves look clever, belittling the questioner, and basically telling them they're stupid for what they're trying to do. Yet in 99% of cases, they don't give them an answer to their question, or point them in the right direction. Just give the questioner a break; do a bit extra work in showing them what they should be doing.

The "I'm so bored with answering questions that I really can't be bothered" type.

These people will often have compiled a massive FAQ, and the answer to every question is that people will find the answer (somewhere) in the FAQ. If you have the answers so easily at hand, just copy and paste it in, to help the questioner. Don't make them play Where's Wally to find the answer.

Look, if you aren't spending time in the forums with a genuine desire to help people, thank you for your previous efforts but might be time for you to just take a break.

And one for the forum people too: Is it really necessary to remove human interaction and warmth from the responses? When I finish a response with something like "Hope this helps" as I normally would when talking to a human, invariably one of the rules enforcers edits my post and removes that comment. Really? I can see why many people find the forums pretty toxic.



Opinion: Non-responsive contact forms are worse than none at all

Marketing folk have a few common truisms. One is that it costs way less to keep a customer than it is to find a new one. I have no doubt that's true. It's important to keep existing customers. And it costs a lot to get new ones.

For many people now, your website will be the first point of contact. By the time that someone visits your website though, a lot of things often have already had to go right. So it's really important to keep them once they get there. Why waste all that?

One of the real challenges though is that although most websites have contact forms, very, very few of them actually lead to a response.

Worse, many company sites are now intentionally pretty much hiding all their phone numbers, email addresses, etc. and require you to fill in contact forms. Yet I've lost count of how many times I've filled in a contact form at a website, and never heard another thing from that company.

That's ridiculous. 

Turns out, I'm not alone. I recently read a review that talked about a survey they did where they completed sales response forms on 100 websites, and ended up with contact back from less than 20.

That means that either:

  • The request form doesn't actually work i.e. it doesn't actually send a message to anyone who cares
  • The request is going to someone who is either overwhelmed or unable to respond for some reason
  • The request is going to the person who manages the website and who is uninvolved in the actual business.

So a quick check for today:

Do the contact methods on your website actually work?

Do they work on mobile devices?

If someone completes a contact form, are they likely to end up with a response?

Opinion: Are tools like Grammarly really safe to use?

When I first saw Grammarly appear, I thought "what a great idea".

I signed up for an account and started using it, and really liked what it did for my writing. It seemed to work well, although it got seriously messed up sometimes. It really didn't like it when I had a bunch of code on the screen. Overall though, I liked it.

But then one of my security-focused friends asked me:

Do you really want a browser extension that takes everything that you type and sends it to their servers for review? 

And when I stopped and thought about it, that's really the last thing that makes sense to me from a security point of view. The problem is that the browser has no idea about what's OK to send to the extension and what it shouldn't.

Who knows what they do with all the data that's sent to them?

I read their privacy policy and there are a lot of gray areas in there. But the bigger problem is that there's a bunch of data that I just don't want sent in the first place.

Now I could use the icon in the browser toolbar and keep turning it on and off but that's not going to happen because I'll forget to do it when I should.

I think what I'd like to see is just an option where I could highlight a chunk of text, right-click it, and say "Analyze at Grammarly". I could be OK with that.

Would love to hear what you all think. Comment here or ping me offline.

Opinion: Data professionals shouldn't be quick to mock Excel and Power Query

Knocking Access was a popular sport over the last decade or more. Many data professionals saw Access as a real problem. Lots of silos of unmanaged data grew up across organizations and things could get out of hand pretty quickly. I saw all the expected problems that come from a lack of centralized management of data.

Some issues were quite nasty. I remember doing work for a company that did aircraft maintenance and had depots all over the country. Every depot had a copy of an Access database, but every single one had then modified it in different, and in many cases, conflicting ways. Then they decided to centralize the data, and oh what a pain.

I still see lots of SQL Server people mocking Access.

The upside of Access

However, I think that many have also missed the core advantage that tools like Access brought. Power users were often fed up waiting for IT development teams to build what they needed, and so often, what was then built wasn't what was needed.

Today, I can see so many great SQL Server applications that would never have existed if the power users hadn't started them in Access.

Excel and Power Query

Now, I'm seeing exactly the same reticence regarding Excel and Power Query.  IT teams are worried that so many unmanaged silos of information are growing up around their companies, and that Excel and Power Query are at the center of it.

I've been in the industry a long time. It's really, really rare for me to look at a new tool and be inspired. But Power Query had that effect on me. 

Most organizations have a bunch of people that spend their days in Excel. It's pointless fighting that. And the success rate of introducing brand new BI tooling to those people is abysmally low. What I liked about the first incarnations of parts of Power BI is that if you took a person who already used Excel well, and just added more features to it, you were drastically more likely to see them actually use it.

And that's the beauty of Power Query. It lets those power users import and massage data into the shape they want. And, importantly, they will in many cases, create the start of important new applications that the organization needs.

I'm not talking about dabblers who aren't at the power user level, who could just spend endless hours not getting anywhere. I'm talking about the people who can make progress and start to create applications.

If their work becomes important, there are good options for IT to take over those applications and professionalize them. But without these tools, those applications would probably never exist in the first place, so don't be quick to mock them as though they're not "real" applications.

Opinion: For companies, is there any value left in country-level domain names?

Recently, one of my MVP colleagues was tweeting about the problems he was having dealing with a country DNS name provider, and how much it cost. I've thought this for a long time, but it really does make me wonder if there's much value left in country-level domain names, at least for companies.

The Gold Rush

Awesome image by Lucas Benjamin

Back in the 1990's, I remember the "gold rush" that happened when people where trying to register domain names for their companies and how intense the competition became. If you didn't get in early, you were fresh out of luck. We made a point of getting all our customers to register quickly. Even then, some missed out on their ideal names, particularly if they were just trying to register a set of initials or abbreviation.

The registrars for country-level domains (i.e. somecompany.com.au) were often monopolies, had horrid customer services, and were charging like wounded bulls.

It didn't take me long to realize that a country-level domain is both a blessing and a curse:

  • If you want to have a global presence, it's constraining.
  • It might have value if you want to appeal to other local companies.

Stick with Top Level Domains

I decided that in future, I'd mostly use top-level domains (i.e. somecompany.com).

The registrar system has opened up and improved a bit for country-level domains, and the pricing has improved somewhat, but now, I can barely see the point in them.

Yes, I can go to a site like lenovo.com.au but if I visit lenovo.com instead, it's going to quickly work with me based on my location anyway. And sometimes, I really do want to deal with the global company regardless.

One suggestion is that it's easier to get names from .com.au than it is to get the same names from .com as there are less used. But do you really want that type of confusion?

Avoiding Errors

For our own domain (sqldownunder.com), I do keep registering sqldownunder.com.au but I only do that to avoid errors when someone adds .au to the end of our web address or one of our email addresses. But the .com.au domain still costs way more than the .com domain, so it's getting harder to justify.

Does anyone see any other real value in country-level domains?