HN user

balabaster

3,437 karma
Posts3
Comments1,215
View on HN

There are plenty of use cases for consultants:

1. Experts in their field often reach a point in their career where they've run into enough road blocks and solved enough major problems in their field that they can see some benefit in helping others avoid/solve said problems on fast track. [This is where I'm at]

2. Companies often have need for on-tap expertise to solve problems on fast track without being required to commit for the long haul.

And here is the intersection of consulting. I've solved about a million problems at this point in my career. Many of them solved the hard way - the way I'd like you not to have to solve them. I've spotted patterns that allow you to predict what kind of behaviours and working processes will cause what kinds of problems and I've formed patterns and processes that allow clients to sidestep issues before they become issues.

Wouldn't it be useful to benefit from that?

Many major consultancies, sadly, hire a ton of people that haven't put in the time and built the skills to be as effective as you may like - which is reflected by the fact that every time I've been approached by Accenture they've offered rates that only a junior or intermediate level consultant would go for.

This explains why a lot of customers part ways with consultancies with a bad taste in their mouth. This isn't the grade of "expertise" you expect when you hire a consultancy. You expect senior or principal level resources for the rates you pay - people who have done the time, solved the problems and come armed with the solutions; not juniors and intermediates who may be great bums in seats, but not what you hire big expensive consultancies to provide.

In the U.S. maybe those options work, but in Canada they don't. If by chance the goods were shipped via a courier that will scan the barcode to return, that works - UPS for instance, but 90% of the time you need to print a return label because the goods aren't returned via a carrier that supports that.

I haven't had a printer for the past 3 years and I refuse to buy one because of the disgusting economic and environmental practices of the ink mafia. Their behaviour has been beyond despicable for decades but somehow the world has just shrugged their shoulders and accepted it.

I have an iPad and downloaded PDF Expert and got an Apple Pencil to sign digital documents and I've only occasionally had issues I can't get around - Amazon return labels are the biggest pain in the ass.

If you're from Amazon, sort out a way we can ship returns without needing a printer!

Well I can't speak for everyone else obviously, but I find traditional notation much easier to read than Clairnote's alternative. Even with the description, I find it harder to glance at the Clairnote notation and see what it means.

Along with a host of other server side "languages" - ASP, PERL/CGI... all this has been done before. Just as we've come full circle on infrastructure where we were trying to eke every ounce of performance out of memory and CPU cycles because supply was short, now we do so because we're charged by the cycle, memory overhead, bandwidth we're beginning to recycle concepts like server side rendering... which has been done since as long as PERL/CGI existed back in the 90s.

It's funny how we just keep reusing the same ideas and calling them new... it makes me wonder why the history of relevant technologies aren't taught in software development classes so we can actually forge a path forward instead of keep doing the same things over and over again...

If I recall rightly, this is why VHS beat out the higher quality Betamax back in the day of video tapes - it was cheaper to produce using VHS so everything was on VHS. Because everything was on VHS, that was what people bought and the higher quality Betamax lost enough market to survive.

It's a shame that the higher quality product isn't always what wins and kind of says something about our Walmart approach to life.

Having spent half a decade working in Oil & Gas flow control systems directly, I can confirm that 10 years ago when I left that industry, cyber security was still not even a consideration. Light years behind wasn't an accurate statement - non-existent was more accurate.

Admittedly computer systems have come a long way in ten years, but given the attitudes and technical expertise of a lot of the people I worked alongside, I would say there's a reasonable chance the needle hasn't moved very far.

They're excruciatingly good at getting oil out of the ground and getting it to market, but they're not going to be winning capture the flag at Defcon or Blackhat any time soon...

I just had that request from my girlfriend in the Netherlands to bring back an iPad mini in this trip because they're $100 less for the 256GB model here in Canada than they work out to in the Netherlands once exchange rates and taxes are considered.

Living close to the U.S. border, it's quite easy for me to do a 24-48 hour jaunt down to the U.S. - long enough to qualify for the customs exemptions and bring cheap electronics back to Canada. The only down side is that if anything goes wrong with them, I have to cross the border back to the U.S. to deal with warranty issues.

Having an address in the Netherlands and parents in the UK also means that I have similar benefits in the opposite direction, sometimes stuff is way cheaper in the UK or Europe and if I need it I just pick it up there when I'm there. The down side there being that they're obviously cabled for European or UK plugs which means I either need to replace the cables or, thankfully, most stuff is rechargeable via USB-C now, so all I need are European, British and American USB-C charging units and everything carries on as normal.

I love the Reuters app for my phone. I can listen to the roundup once in the morning while I'm getting ready or in 10 minutes on my way to the gym. It's all the basic headlines with a little blurb. Read to you with very little in the way of emotion, passion or hype. It plays in the background while I do other things and it's done. It doesn't drone on and on like the radio does until you realize you've heard this story 3 times already like on CP24 or whatever other news channel keeps blathering on while quietly promoting their hidden (or not so hidden) political agenda and gradually sapping at your will to live.

I've cut off my cable/satellite TV. I don't listen to any other news sources. I read BBC's headlines once a day.

Cutting off the "mainstream" media and advertising from my life has done more for my mental health than my gym membership, diet, meditation and fresh air combined. Not to say those things aren't important, but they didn't have nearly the impact that cutting off the constant drama, heightened emotion and propaganda have.

My main point still stands - subsequent generations always thinking they know better until life bites them in the ass and delivers them a new order of humility. Life has a way of teaching us all a lesson or two when we get too big for our britches.

They did build a better alternative - Slack, then Teams came along and tried to rebuild Slack and then Skype and then Bluejeans came along... and then Zoom... and then Discord and the comms environment keeps evolving and the rent keeps going up. This is life. Another product will be along shortly, and another, and another, and another...

Whatever you build on will be ripped out from under you and you'll be forced to evolve, just as we all have had to since the beginning of software engineering.

One thing is true as has been since the beginning - the next generation always knows better than the previous until life bites them in the ass and they learn their lessons the hard way too. As sure as the sun will set tonight and rise again tomorrow. There's little point in complaining about it. What will be, will be.

Are you familiar with spoon theory?

https://www.healthline.com/health/spoon-theory-chronic-illne...

I have from 25-50 or maybe more things I need to get done in my normal everyday life - most of which either improve my life in some significant way, or improves someone else's in a way that pays my bills. I run out of spoons about 15 before I need to learn a new something that will add minor improvement to my life in some way. This includes things like holding down a key longer gives you the alternative characters for it, or a new operating system or device, or all the little features on my TV or the many thousands of ways Alexa can be harnessed to do some really cool things.

On a day where I have nothing to do and I feel particularly inclined, I might learn one of those things - but chances are I'll spend it doing something else that brings me joy. Cooking, spending time with loved ones, going for a ride on my bike or a swim. These are the choices and trade offs I make. Admittedly, that hampers my ability to use certain devices because I don't understand them completely, but it gives me time to enjoy my life in other ways.

As a software engineer that spent a great deal of his life embedded in UI philosophy, I'm still so lazy when it comes to learning other systems. My cell phone for instance - the iPhone, there are still things that my girlfriend shows me how to do on it that I had no idea about. I just can't be bothered to learn most technology beyond what I need to use it. I've got too much else to spend time on. I'm sure I don't know half of what my TV does, I use Alexa to turn the lights on and off, timers and alarms and that's about it.

Most of my devices are used almost exclusively for Teams meetings, communications or actual software development. When I'm raking through other software, I'm often exposed to UI concepts that make zero sense to me, yet they seem intuitive to many others that are beyond my comprehension. I wonder if this is because I'm getting old or if it's because people being forced to learn bizarre UI concepts and just accept it and go along with it.

It's weird to me that people just seem to accept complicated systems and I'm still stuck on the "This is too complicated to be useful to anyone. We're supposed to have computers working for us by now, not us working for our computers!" model.

What if we look at ideas such as encryption requiring licensing such that there are valid use cases for it and invalid use cases for it. Things that automatically qualify as valid use cases would be things like login systems, payment systems, communication between certain parties deemed essentially private - for example client attorney communications, patient and medical team communications, reporters, whistleblowers, and other similarly essential services that require protection. I'm sure there are many valid use cases.

Invalid use cases would be things like social media platforms where children are able to communicate with unknown parties.

Could something like that work? How could a system like that be protected from abuse? Obviously pedophillic doctors and reporters would have an immediate loophole that would need to be considered...

There has to be a way where we can have legitimately end to end encrypted systems while preventing illegitimate ones. There's a massive grey area in between "ban encryption" and "let pedophiles do what they want without any oversight." There must be a solution that falls somewhere in the middle of those two things.

The amount of times I do the same, only to think that everything I've written sounds so self centred that it's not worth posting, so then I think to myself "there's my therapy on the subject, delete."

Sometimes just the writing is cathartic enough that once you've gotten it off your chest, you don't really need to hit submit.

I've had RegexBuddy installed on my computer for so long. It's been part of my basic dev setup for years: https://www.regexbuddy.com/

I used to use it a lot, although I've not used it in quite a while. I don't recall the last time I even needed to write a regex. Somehow it's still stuck in my head.

Well worth having it if you want a tool to hack around large blocks of text and play with regex in a "live" environment.

Your long-hand isn't quite the same as your regex...it should be remember -> one_or_more -> digit;

In regex parlance, \d+ explicitly allows for one or more digits. Multiple tacitly implies 2 or more which would be \d{2,}

Also, your end char (which I assume you mean $) would be after the remember -> one_or_more -> digit;

Agreed.

I liken it to the census in Germany prior to World War II which asked religion, people gave it thinking they were doing nothing wrong. 1939 came around and it was used as a register for genocide.

"Oh that would never happen today..."

https://www.businessinsider.nl/genocides-still-going-on-toda...

It's still happening. Anything you say or do no matter how trivial or meaningless could become a vehicle for your annihilation sometime in the future. Those that don't care about their privacy because they have nothing to hide, clearly haven't given enough thought to the repercussions of loss of privacy.

It depends very much what your tech stack looks like, but I use Git, CircleCI and Octopus Deploy to Azure for my stack. It's cheap in terms of maintenance and because I know them all like the back of my hand it's quick and easy for me to set up.

As for rollback, I don't really use rollback. I have a roll-forward strategy. My DB deployments are migrations and so long as there's no data-loss caused by a migration (my migrations are always backwards compatible with the previous version) there's no need to roll back. Azure brings point-in-time restore which can be triggered if necessary.

I think the key is like with anything. There's a learning curve on your toolset. Once you've overcome that hurdle and you know to set up automation for everything from the outset. You build your pipeline shell. You never do anything manually. If you need infrastructure of any form, it's always code-first, included in source control and done the right way. Never do anything manually and rely on your automation to carry you. It seems labour intensive up front, but once you're there, it's sustainable.

It takes discipline not to cut corners. The minute you start to cut corners and get lazy is the path leading to your doom.

You didn't recognize that there are plenty of European developers capable and willing to work on the US time zones. I presently split my life 50/50 between Toronto/Netherlands so I live half my life on Eastern Time and the other half on CET. I fly on weekends so I'm available during the week and when I'm in the Netherlands I fit work into my daily life at the time clients need me to fit in. Some days it can be tiresome, having to work until 11pm, but other days if I have a light work load with standup at 3:45pm CET, some days that's my only meeting and I can pretty much work when I like. It works out well.

So I can only speak for myself personally. But my perspective is that all the stuff on the exams, I already learned long before the courses became current and have moved onto the next thing. So by the time the course arrives, I no longer care about the content it's delivering because I already did all that. By the time the course comes available for the things I'm learning now, I will already know it and have moved onto the next thing. So that's why those who care about the knowledge don't tend to care about the certificate - because it's a waste of time for us to go back and cram for an exam that's based on technology that has evolved (and thus the material is out of date/no longer accurate, flat out wrong).

Nobody can be 100% efficient from day one, because even with all other things being equal, the new guy still has to learn all the idiosyncracies of your existing codebase (which is quite likely full of technical debt and poor decisions), your team, your process, your management style, your politics.

Realistically, even the basic "we want someone that's 100% efficient from day one" is the most unreasonable expectation you can have as a hiring manager, and is usually the one spurring the "high quality candidate shortage" complaints.