Do You Know Your Company’s Goals?

So yeah, do you know what your company's goals are?  Yes, of course, “Increase shareholder value”, but do you know how your company plans on doing that? Stuff like
• “Increase the number of baby-strollers we sell by 67% this year
• “Convince at least 3000 people to buy our hand-selected peppercorns this month”, or even
• “Get the work, do the work, get the money”?
/via http://rhymeswithorange.com/comics/april-6-1998/
You’d think this would be stuff that — obviously! — would be shared top down, but, then again, you’d probably not be surprised to know that this stuff doesn’t trickle down. Mind you, it’s not necessarily malice. If you’re a tiny company, it’s just assumed that you know this. If you’re large, then there are just so many layers between you and the CEO/CFO that the message never makes it to you. And if you’re somewhere in the middle, everybody is just too busy to actually pass this information on 😠. (And then, there is always malice, where sometimes the info just isn’t passed down because, well, “information hoarded is power gained” or some such)
/via https://libcom.org/library/fragile-prosperity-fragile-social-peace-collective-action-notes
In any case, if you have any agency whatsoever, make sure that you find out the company goals (or pass the information on to everyone. Whatever). It’s important for one very simple reason — you need to understand the reason behind your tasks!
This isn’t just about sitting around a campfire singing Kumbaya, there is an eminently more practical reason for it. The thing is, you’re not on one of those old-fashioned assembly lines turning cogs, doing the same repetitive action over and over and over again. There is (still!) a tremendous amount of judgement — and frankly, art — that goes into writing software. And you can’t do that without knowing the full picture.
Yes, yes, I know, so much of what we do when we write software is sheer pedantry (“most of it is still just f**king sanding tho’”) there is still a crazy amount of work that goes into that sanding. Requirements are rarely comprehensive, there are an infinity of edge cases, and the time to do all this is limited. As a result, we are constantly making judgement calls around what we do, even if we don’t realize it!).
Think about the number of times you have
  • • Kludged a component because you know you’ll be throwing it away in the future.
  • • Shuffled around the order in which you’re implementing things, so that you can help a colleague get going faster
  • • Implemented something a lot less efficiently now, because you’re also laying down a framework for something that’ll make everyone’s life a lot easier months down the road
It’s par for the course for what we do as engineers, but the only way that this actually works is if we can make reasoned, informed decisions. And that requires that we actually be informed, which, frankly, starts with the top-line goals for the company.
So yeah, share the wealth. Let people know what the company is doing, and why it is doing that. It’s not just good for morale, it’ll actually help your engineers make better decisions, and build better products!
Conversely, if you’re in one of those organizations where your boss sez. stuff like “Don’t worry about the big picture — I’ve got that. You just focus on your part then be afraid, be very very afraid. If you have any agency, either affect change, or find a new job — this one is probably not going to end well…

Comments

Popular posts from this blog

Cannonball Tree!

Erlang, Binaries, and Garbage Collection (Sigh)

Visualizing Prime Numbers