-4

I work as a software engineer in a firm that could be described as "an accounting firm that also develops software". In my day-to-day work, I notice there's some things that are done by hand, or even if they are somewhat automated, the automation is clunky at best and could use some improvement.

In the past, I've submitted to management a few proposals for improvement, but those ideas were never taken seriously, which led me to stop talking to management about my ideas and instead implement them on my own in my spare time, management be damned.

However, I'm starting to wonder why should I care, when the higher ups seem not to. Is this a me problem?

2 Answers2

1

XKCD has a number of statements worth pondering about automation. The most directly applicable may be the table showing the trade off between cost of automation and time saved, https://xkcd.com/1205/

Note that that table is actually unreasonably optimistic since it doesn't include the time required to train people to use the automation, or the time spent maintaining it after first release. Or the delay in other tasks due to the resources being used to develop the automation.

But it does point out that the fact that something can be automated doesn't always mean it's worth doing so. In school or in research, elegance is it's own reward, but in business that isn't enough; it needs to be enough of an improvement to justify the costs.

This is especially true when there are other immediate priorities the company needs you to focus on.

Brainstorming better approaches is an excellent thing to do. Document the idea, come up with realistic costs vs. benefits estimates (remember that coding usually takes at least twice as long as you think it should, then add the other costs I mentioned) then submit the whole lot for prioritization.

The alternative is to ask your manager if you can carve out a bit of time in your work week for this and develop the first version as a "skunk works" personal project. Getting that permission may require working harder so all your current responsibilities continue to be met. Or you might put together a prototype on your own time to demonstrate the basics of the idea; one project I helped with started when the lead developer was out on sick leave and used that time to play with an idea.

If you can't explain it in a way that makes it clearly in the business's interest to invest in it, you probably don't understand it well enough yet.

keshlam
  • 66,609
  • 15
  • 121
  • 227
  • Also https://xkcd.com/1319 – keshlam Feb 05 '23 at 03:42
  • Also https://xkcd.com/1445/ – keshlam Feb 05 '23 at 03:46
  • Also remember that infinite speedup of something that accounts for 1% of the work only delivers a 1% total improvement. Make sure you are investing effort in improving the things that matter most. – keshlam Feb 05 '23 at 03:49
  • Don't forget the YAGNI one, too. – Lodinn Feb 05 '23 at 08:57
  • what is often overlooked in this purely time-oriented analysis is the personal annoyance and distraction factor. If something is annoying, there is the added benefit of less annoyance, better worklife balance and higher chance to retain the employee that is less annoyed. If something is distracting, e.g. because it needs to be done at certain intervals, the cost that is saved isn't only the cost it takes to do the task, but also the time it takes to get back into the mindset necessary to do other taks (which one might have interrupted earlier). Just as a hint that the xkcd view is simplified. – Frank Hopkins Feb 05 '23 at 10:44
  • Annoyance is a valid point. But when it's your job, the question is whether it annoys other people, not whether it annoys you. If management doesn't agree that it's a general problem, then feel free to automate it -- but since it's a personal project, do so on your own time. (Then offer it to the company and see if it wins you bonus points on your review.) If it isn't worth doing at no cost to the company, it doesn't annoy you enough to override their priorities on company time. – keshlam Feb 05 '23 at 12:29
  • And any answer is simplified. Reality is fractal, – keshlam Feb 06 '23 at 00:11
0

"It is easier to ask for Forgiveness than to ask for permission"

So, take one task that you think you can automate, do a Proof of Concept Automation of it - then tell your management that you have made this improvement.

Now, they might grump a little and if they get really annoyed - probably best to look for a different company, but most likely they will see what you are referring to and either greenlight other projects or at least give you the freedom to pursue other ideas.

TheDemonLord
  • 33,706
  • 10
  • 67
  • 138
  • Been there, done that. All it accomplished was adding a similar functionality (that worked worse) to an unrelated piece of software. – Massimo Di Saggio Feb 05 '23 at 01:42
  • Then best be polishing up that Resume. You've got toxic management. – TheDemonLord Feb 05 '23 at 01:49
  • 4
    The word "toxic" is really overused. This is not toxic. It's not great, but they get paid and there are no adverse effects other than the OP being slightly annoyed. – nvoigt Feb 05 '23 at 07:56