It's become a joke in my workplace. I'll turn to my boss and say "I had a shower moment this morning. I was thinking about the way that we've built the new code...."
A "shower moment" is when I'm not really paying attention to where my mind is wandering. I'm doing something that occupies my mind enough (but not too much) so that my subconscious can daydream.
These moments are gold.
In the office during the day I'm rushing here, rushing there, trying to beat a deadline, prepare for that next meeting, answer an email, etc. Who's got time to breathe, much less /think/? That nagging little voice that's trying to tell me something never gets a chance.
As an Engineer, I specialise in focusing deeply on a single facet of an application at a time. I build huge architectures of imagination when programming (which is why a single 15 second interruption can be fatal). By necessity, I do my best to make sure my mind doesn't wander off the path to the next challenge. This not only enables me to laser focus on a very small detail, but it also very effectively blocks any 'A-HA' moments. The path is set in stone (until we've conquered the next challenge).
So when I can daydream my subconscious takes the wheel and takes me to places that I wouldn't have gone during the work day. I don't get bogged down in what's known to be possible, what I have to do next, or what anyone else thinks.
It's not strictly tied to when I'm taking a shower...the key is to be bored enough for my mind to wander. I could call this the "doing the dishes" moment or the "walking to the train" moment or even the "boring" moment, but it doesn't have quite the same ring.
Next time you find yourself standing in a queue at a Starbucks, waiting for a meeting to begin, sitting in a waiting room for your next dental exam or even in a shower, don't pull out a phone or a tablet (especially in a shower).
Just relax and let your subconscious take you where it may. Bring a way to take notes, and see what that little voice is telling you.
"Dad, why's the sky blue?"
I confidently told my son: "I don't know." And that's okay, because most people - and even most dads - don't know why the sky is blue.
In IT, though, there seems to be a nagging feeling that we're supposed to know everything under the sky. Problem is, we don't know everything. We can't. It's impossible.
If I'd have told him a made-up reason, he would have eventually caught me out. Far better to admit you don't know something...for now...but that you'll find out.
When you're first studying computers you learn how to write loops, branching instructions, read from and write to files, maybe throw some graphics on screen and do basic maths. This is pretty much where you are fresh out of university. At this level, it's safe to say that you don't know most things. Mistakes are quickly forgiven, as you're usually following the directions of a senior staff member. Your mistakes usually don't have a large footprint on the business.
After a while you've done that for a few different roles and started to see some underlying patterns. Your experience starts to play a role, letting you model new features in your head a little bit better. You start designing for both the current task and maintenance. Meta-programming, if you will. It's more about architecture and procedure than about the individual loops and branches. You know more things, your decisions are more fundamental and affect a larger portion of the codebase. When you make a mistake here in the architecting of the software, your decisions can have wide-ranging implications.
Eventually it dawns on you that Software Engineering is *not* a profit center. That means that we have a pretty sharp responsibility to the business that pays us to deliver software both on time and within budget. We need to use every trick we can find to make this possible (while not compromising the meta-programming above). Of course, your decisions at this point have the widest-ranging impact. Go down the wrong path and the company could spend lots of money trying to change course at a later date.
I haven't even mentioned the specifics of programming...which language, which OS, which targets, etc. All of those need to be learned independently too.
You see, there's a *lot* to learn...no matter where you are in your career. This can lead to imposter syndrome, where you feel you'll never learn enough to be considered truly knowledgeable.
It is terrifying at most companies for an engineer to say those little words: "I don't know". It can take incredible courage. Perhaps the person you're talking to will find out you don't know everything. Perhaps YOU will finally have to admit you don't know everything.
The thing is...how can you ever learn if you can't admit that you don't know?
If you're an engineer and you don't know something, admit it. Out loud. People are going to figure you out pretty quickly if you claim to know something but then show them you do not.
Every single person you're going to speak with today has something to teach you. Your role (whether you know it or not) is to figure out what that thing is. And then work like hell trying to learn it.
I would go so far as to say it is *critical* for the environment of a healthy organisation to accept or even celebrate when an engineer has the intelligence to know when he doesn't know and the courage to admit it in public.
So, for those of you dying to know why the sky is blue (because we all want to know everything), here's the answer: https://spaceplace.nasa.gov/blue-sky/en/
When your son or daughter asks, you can now tell them. They will be as astounded as my son was when I finally was able to tell him.
I like coffee.
Just coffee, with milk.
Not decaf, espresso, latte, chai, semi, dry, no-foam, cappu with a chocolate dusting, a shot of vanilla...no, hazelnut...no! cinnamon!...pumpkin-spiced blah, blah, blah...
There seems to be a frenzy of getting that little bit extra each time, trying to experience more. Rampant Consumerism.
It just kinda fades into the noise now. Sounds a bit like the parents in old Charlie Brown tv specials: "Wah, wah-wah, wah-wah, wah."
Fer crying out loud. Why not just /coffee/?
This is turning us all into people who cannot stand not being over-stimulated all the time.
It has a name: Fear Of Missing Out.
You gotta be chasing the next big thing or you might miss it! No chance to appreciate or explore where you are and what you're going...bang, bang, and on to the next commercial...
Next time you're at a restaurant, take a look around, and see how many groups of folks are sitting at a dinner table madly typing while looking at their phone and not speaking to anyone else.
Next time you're a few minutes early to a business meeting, watch as the other folks arrive and instantly pull out their phone.
It feels to me as if we're losing the ability to just love something. To wallow around a bit. To sink into it deep enough that we sorta forget where we end and the other thing begins.
Whatever happened to exploration and appreciation?
What has this got to do with business? In business, this has another name: Indecision.
Indecision is expensive. Rarely do you operate in a bubble. There's always someone waiting on the thing you're going to deliver or decision you're going to make. Your slowing down to smell the roses can force others to slow down too...sometimes to the point of missing a deadline or losing a customer.
Making a decision, even a bad one, can sometimes be better than waiting and considering every single option in depth and making a "perfect" decision.
We can't write in all languages, try all frameworks, or even sample all the different styles of coffee.
There's no possible way to afford to buy everything that's out there as a person, much less as a business, no matter how much we might like to do so.
Treasure what you have, whether it's health, family, friends, a pet, a good decision, or just a really good cup of coffee.
My company is going through a vast restructuring, including the division that employs me. They've been faced with some fairly stark budgetary constraints, and have decided a number of jobs need to be trimmed, including mine.
Though less than perfect, this is not, I repeat, is not, in fact, the end of the world. There will be some change certainly, but it's not all doom and gloom!
Why am I telling you this? Many in our organisation are going through this for the first time, and it can be quite challenging. I've been there before. Both in being made redundant, and in making people redundant. In talking with my colleagues to help them deal with it, I realised this might help others who are going or will go through this at some point in their lives.
So here are my ten pointers on what to keep in mind if you too are made redundant . . . I hope it helps!
1 - This is not targeted at you.
It's normal, when a relationship ends, to feel sad, hurt, angry, etc. It's the 7 stages of grief, and it applies to broken relationships of all kinds: bereavement, break-ups, divorces, and, of course, redundancies.
When a restructuring is happening across the organisation, it is not targeted at you. It doesn't mean that anyone thinks you're less of a person, or that you've been doing a bad job, simply that the role you've been performing is going away.
2 - It's a small world.
Most people go through a normal emotional journey to be shocked, hurt, angry, and so on, (again, google the 7 stages).
That is a completely separate journey than the journey you're making in your career. As a professional, you signed on with this company to do good work. Carry on doing it. Get on with the business of doing your job to the best of your ability until the terms of your contract have been met and you're free to work elsewhere.
Most industries are really small worlds in and of themselves. You entered the industry with no reputation and few connections. In most roles, you'll make more connections and create another chapter of your reputation. Over time, you'll see the same faces over and over again. Person A hired you this time. In another life, you might be their colleague. Heck, you might even hire them!
It's a small world. Don't waste time throwing a temper tantrum. Do an honest good job, uphold the terms of your contract, and get on with life.
3 - The company only owes you what's on the contract.
Okay, you're managing your emotional journey, and you're still giving good value to the company...they should see that and give me more money/holiday/equipment/opportunities, right?
The company made a deal with you, with the Ts & Cs outlined in the contract you signed when you started.
Change is coming, but not to that contract. Obey it to the letter.
If the worst happens and the company doesn't, you'll want to know that you kept your side of the deal, so when you go for legal help, you stand the best chance of winning the case.
4 - The company reps are dealing with emotions as well.
Yes, you're on your emotional trajectory...of course you are, you've got a redundancy to deal with.
However, no matter how much you are feeling, can you imagine being on the other side of the table? You have to deal with one redundancy.
The company reps have to deal with *all* of them.
They may still have a job, but trust me, they're going through their own emotional trajectory.
5 - There's always the possibility of future work.
I've seen this happen often...a company grows too big, gets in financial trouble, has a wave of layoffs, then realises they cut too deeply, and brings some back as contractors to handle servicing their current customers.
Contracting can provide a solid income. Lots of people do it. It's a slightly different mindset than a permanent employee, but it's a valid way to work.
Let's say the company has let two people go: James and John.
James was a model employee, always worked hard, and when told of the redundancies, kept doing his job as long as the contract stipulated, helping the business.
John, though a genius and very good at his job, was "high-maintenance". There was always something that needed work, effort, support from the business for John. When the redundancies were announced, he threw a temper tantrum and didn't do any work up to the day he left.
If you were told to bring one of these employees back on a contract basis to help manage the workload, which would you call first?
6 - What happens now?
The employment contract you signed when you started working at the organisation should detail your rights, work load, payouts, and terms. Print it out, make sure you have completely upheld your side of things.
If there are any disputes, the contract may have terms dealing with how those are solved.
7 - What if it's an awful contract?
It happens. When we first start working, we don't know what to watch out for in a contract. You can be sure that the business knows *exactly* what it's doing when the contract is written, and that the contract is all about protecting the business.
Do the best you can with the contract you have. Take it as a learning experience and move on.
The time to negotiate a contract is before you sign it...not afterwards. When you're offered your next contract, modify it so that it's no longer a horrible contract BEFORE YOU SIGN IT.
For most, this won't be the last contract you sign. Learn from this experience and do a better job of negotiation next time.
If the company hiring you won't negotiate the contract at all, then think twice about whether or not you want to be working there at all. The prospect of a paycheque looks good...but not if the company is going to treat you unfairly in the end.
8 - Be flexible.
The last job you left was a particular type of job...permanent, contract, part time, full time, etc.
That doesn't mean that the next job you have will be the same type of job. You might become a contractor after having been permanent. You might switch to working full-time rather than part-time. You might find a job working from home.
When looking for the next role, be flexible. When new opportunities arise, don't say "no", say "it would work if only this, that, and the other thing were different...can we meet in the middle?"
Maybe there's only two days of work. This might be just the opportunity to start up your own business on the side, find a second part-time job, or branch out inside the organisation and take on other roles. You won't get, if you don't ask.
9 - Always flirt with potential jobs.
Over time, as your reputation increases, recruiters will occasionally call you. Always speak to them politely, in a friendly voice. If you're not interested at the moment, say so, but do it politely.
You never know when you'll have to rely on their services to provide you with a new opportunity.
10 - Don't be too serious.
This is all a part of the game of life. Stuff happens. Roll with it. Laugh at it. Learn from it. Be a better you for the challenges you'll face tomorrow.
Somewhere in this current mess, there's always a silver lining, no matter how thin, you can benefit from and do better when you meet your next challenges.
Remember: You rock! Even in the middle of a redundancy you can show the world just how much.
If, through a remarkable coincidence, any of you might know of a position for a crazy resourceful Mobile Lead, please feel free to drop me a line at email@example.com!
When I was 13, Jenny introduced me to Queen, A Night at the Opera. Of course, Bohemian Rhapsody, The Year of '39, and so on...but there was one song I didn't really seem to have time for.
I loved all the songs on that album...but recently it has occurred to me what that song is all about.
I really do love my Outlander. If only the battery life could be improved (I usually get 21-23 miles to the charge, and then I'm on petrol).
My commute from Rugby to Leicester just fits into this range, as I park at the Park-n-Ride, and charge it for free there.
If I need to run my heater, that will knock 3-4 miles off the range. Air conditioning, strangely, only takes 1-2.
There is a trick that really impresses me. In the winter (roughly 8 months of the year here), I can , while safely and warmly in my house, connect my iPad or mobile phone via wifi, and tell the car to warm itself up using mains energy.
By the time I'm ready to go 15 minutes later, the car cabin is warm, the windscreen defrosted, and it's ready to go.
In fact, the only area where I'd say the car lets me down is the software side of things.
There doesn't seem to be a coaching program worth bothering with.
I'd love the ability to set the maximum effort the engines can put out to increase efficiency.
Selecting the addresses is very much a pain. The navigation system needs to be made much friendlier (just look at Tomtom, Google maps, or Apple maps, fer cryin' out loud).
Since my commute to Leicester fits within the battery, the car actually saves me more than the monthly car payment! A car that pays for itself: a no-brainer.
After posting my original email, Chris Carson (of Clickteam USA) reached out to me with this:
Can't really say much fairer than that. I am going to give it another shot.
====================== Earlier blog post:
So, I was playing around with development environments the other day.
I'd bought a bundle on HumbleBundle that contained ClickTeam. An app that aims to let you build games (both desktop and mobile) without programming. Sounded good...but you may want to think twice.
I was walking through their Breakout tutorial, when I noticed something odd...the paddle didn't bounce the ball way I was used to from other versions. Instead of reflecting the ball directly up, you want it to bounce as if you had an upside down bowl on the paddle. It's a little more complex.
The documentation didn't give me any clues. Not surprising really, kind of a niche thing, and documentation is hard.
So, as is usual these days, I went to the forums. I posted a question, providing all the detail I could think of that was pertinent, and trying to explain my question clearly. The next day, I tried to go back and see the answer...and that's when the troubles began.
I couldn't log in, and had various troubles over the next hour or so. If you don't type in your password correctly for 5 times, it blocks you for 15 minutes. Since I use the 'lastpass' password manager my password was clearly being entered correctly, I was surprised when their forum software didn't recognise my password.
So, fine. I reset my password, and waited 15 minutes. When I went back to their web site, I tried to log in with the new password they sent me, but that didn't work either. I reset my password again.
This time it worked. I could login, see the answer, and from there I was able to fix the problem. I posted a detailed answer to my original question with all the nitty gritty about how to fix it.
Rather frustrated by this time, I sent the first email to technical support:
Technical support: Clickteam Fusion 2.5
I got this email back:
I was a bit taken aback. They provide the forums "as a courtesy"? Anyone in their right mind knows that for a dev environment to succeed it needs a community. A dev tool without a community is a footnote in history...not a viable product.
Understanding that Mr. Pittock is fairly precious about his software, I answered:
Uh…let me get this straight…
A few minutes later, I got this email:
Your account has now been suspended.
In case you're considering building a mobile game, I can suggest an environment best to avoid.
(If you're here, do scroll to the top and read the update...)
Seems that the development on this web site is going a little slowly...2013...2015...
Brace yourself for my next post in 2017.