What Do You Do When Your Mind-Numbing IT Job Should Be Automated?
jfruh writes Not everyone has a job like Homer Simpson, who's been replaced at various times by a brick tied to a lever and a chicken named Queenie. But many IT workers have come up against mind-numbing, repetitive tasks that probably could be automated. So: what do you do about it? Well, the answer depends on how much power you have in an organization and how much your bosses respect your opinion.
QUIT
Learn how best to automate that task so you can start on other projects to automating other tasks.
New things are always on the horizon
Automate it yourself and go to the pub.
Tell your boss that your job can be automated? Unemployed in 3...2...1...
Well, automate them, off course. That is how I started my programming career. I started as a technical draftsman using AutoCAD, and I was "actively lazy": when I had to type something 10 times, I wrote a little program to do that for me. When my bosses noticed that my computer was better configured than that of my colleagues, I started getting programming assignments as well.
Nae king! Nae laird! Nae yurrupiean pressedent! We willna be fooled again!
Sorry but this is what I do for a living. Find an automation tool that works and implement it. Rinse and repeat!
Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.
So: what do you do about it? Well, the answer depends on how much power you have in an organization and how much your bosses respect your opinion.
I don't think anyone would oppose a little bit of automation if it makes sense. Just write a couple of PowerShell scripts to do the thing.
Yo, if your boss is a s-o-b
Tell him to s-h-o-v-e the j-o-b
Put your middle finger up slowly
Put it close enough to his face so he can examine it closely
Say I ain't workin here no more
Who do you think you are?
Rip your apron off, throw it on the floor
Run to the door, to the payphone
Make a toll-free call
Tell your spouse what happened and where you are
So they can come and get you in the car later on
And help you search for a new 9 to 5 job
If the unemployment line ain't that long
You can take your time printin out w-9 forms
Eventually, you'll get on if you try hard enough
And you'll get money if you keep punchin your time card enough
Maybe you hate it, maybe you love it
But if you hate it all you gotta do is get mad and tell the boss to
Take this job and shove it
I ain't workin here no more
Take this job and shove it
I ain't workin here no more
Take this job and shove it
I ain't workin here no more
Take this job, take this job, take this job and shove it
Automate it on the dl and get paid while you pretend to work all day.
You evaluate how long it should take, automate if possible and enjoy paid time poking navel/beer/"insert hobby".
When customers are happy boss is happy.
I always hear managers and programmers say, "We'll just automate it!"
But that's usually the easiest part of the whole process. They rarely look beyond it, to the maintenance phase.
The maintenance phase, of course, often lasts far longer than the implementation phase. It often outlasts the people who pushed for the automation in the first place, and the people who initially implemented it.
No automation is perfect, and no surrounding environment is static. Things will break, or change will eventually be needed. And this is where automation can often fall flat on its face.
I can't count the number of times I've seen companies with scripts or apps that perform some simple operation, but it only saves a few minutes each day. Yet at some point something with the automation breaks or needs to be changed, but the original developers are long gone, and now some other developer has to investigate.
This poor developer will end up needing hours, days, weeks, or even months in some cases in order to find out where the fuck the script or app is running, where the hell the most recent version of the source code is, how to get it running on a development system, and how it works, all before being able to make the fix or the change. Then it takes time to fix it or make the change, plus some time for testing, and then it needs to be redeployed, and finally it needs to be monitored for some time.
So the automation saved maybe a few dollars a day. Yet just a single fix or change to the automation can end up costing hundreds, thousands, or even tens of thousands of dollars once all is said and done. Merely one small fix or change can literally wipe out any cost savings that the automation has ever brought in the past, and then wipe it out for the next few years!
It's all rainbows and roses to claim that "documentation" or "training" or "best practices" will solve these problems, but even when those are in place and actually working, they rarely reduce the actual cost of maintenance.
So do some real analysis before screaming, "JUST AUTOMATE IT!" The cost of even simple or minor automation can quite often far, far exceed the benefits it'll ever bring. Maybe it's better to have the intern or low-paid employee just do the work manually for a few minutes each day.
leave IT and be a forester
Homer once automated his job with a plastic dipping bird, with disastrous results.
Tic-Tac-Toe, Global Thermonuclear War, and relationships all have the same winning move.
Indians are still more expensive than a script.
My goal is to replace myself with a little shell-script.
--- Reality doesn't care about your opinions, it happens anyway and if you are in the way you'll get squished.
I've ended up creating a few solutions where I think I'd rather spend three hours doing something creative than one hour doing it mindnumbingly dumb and repetitive. Often the maintenance of tweaking it eats up the savings.
Relevant XKCDs:
Automation
Is it worth the time?
Live today, because you never know what tomorrow brings
Everything is about IT - infrastructure maintenance. I've had development jobs that were quite monotonous. Boiler plate code - copy and paste, search and replace varialbes. anyone program win32 in C or OS/2 in C or Palm OS in C?
Message loops, trapping messages, switch/case statements that called other switch cases that called other switch cases .... depending on how deep your windows and dialogs went.
The newer stuff - Visual Studio, XCode, and Android Studio are great for generating all the boiler plate code and linking stuff by dragging and dropping connections, but that even gets monotonous.
And even coding web stuff. It seems like I'm writing the same shit over and over again - it is just different enough that you can't copy and paste.
Then there's the hunting of methods/APIs in docs. Talk about boredom!
I can't wait for the say when I can just tell the computer my algorithm and say, "Make it so."
You can automate anything no matter how low in the food chain or how little influence you have, i've done it plenty of times in plenty of jobs. I've had jobs where i would show up to work, run my AHK (auto hot key) script then watch movies/surf the net/go shopping etc
The trick is to become proficient in macro/programming tools that interact with applications just like people would normally do. AHK is great because i can not only do things like repeat a sequence of keys, but read pixels off the screen. I can write a script to click X/Y, wait until pixel at X/Y changes to a specific color, call up my custom program to grab some data from application A, then fill out fields in application Y etc.
All because i used to spend time writing scripts to automate playing online games where real currency was involved. The difference with a real job, is they generally arn't writing code into the the stuff you're automating that trying to detect you doing it :). That and you end up making a more reliable income.
Either you resign now or you will be fired soon.
Do not resign until you have poorly automated your job. Your employer will call you back in a week and you can talk about your consultancy rates.
Most of the IT jobs (emphasis on the "jobs" part) that I see, cannot be automated - or if they can be automated, the automation needs a level of oversight and constant tweaking that it is not economically viable to automate the process.
Almost without exception, an IT "job" can be split into discrete "tasks", where some of the tasks can be and should be automated for various reasons, but in terms of the W.W.W.W.H. (What, Where, When, Why, How) aspects, the reason for automating (Why) has a significant bearing on whether it would be a good idea to even try automating.
Automating the tasks which can be automated within a job makes sense in many cases - relieving the employee of the trivial and repetitive tasks to tackle the more high-value elements of the job. From a commercial perspective, if you are spending most of your time on the high value tasks, you are probably earning more money for your company or providing better value. As long as the boss recognizes that fact, your job should be more secure and your pay packet should, at some point, see an increase to recognize the higher value that you represent. ok, you might need to leave the company and parlay that higher value experience at a new employer to see the increase in your salary, but if your CV can show a successful sequence of task automation leading to higher productivity, then you will probably be more in demand.
If you have either a role that can be automated to the point where you are irrelevant, or a manager who thinks that your role can be automated to the point where you are irrelevant, then my advice would be to start looking for a new job where either you are more stretched or your manager appreciates your contributions more.
Not to mention Indians are not cheap anymore, success has lead to insane pay rises. Dev in india is at least 10x more expensive than it was 10 years ago.
One thing I always say during job interviews is that as a system administrator my goal is to automate myself out of the job. By automating the mundane stuff it frees you up to do the interesting stuff.
Thankfully I've never managed to actually succeed at automating myself out of a job. There's always something that needs to be done manually . . . even if it's just maintaining the automation scripts!
Basically, if your job can be automated simply, you are replaceable by a high school kid with computer experience. Sorry that's just the way it is. Either of the options: automation or kid, would suck for you. Thus this means you should learn and improve yourself before this happens. I agree with the other comments that you should learn to do the automation yourself. Yes your job disappears but most likely you become a more valuable resource to the company. Either in maintenance of the automation tools or other automation tasks.
Automate it and find something else to work on. At no place I've ever been has there been a shortage of work.
Only the lazy and incompetent fear automating themselves out of a job. If worst comes to worst, you'll end up maintaining all those scripts you created, fighting fires, and dealing with the "one off" situations that the scripts can't handle.
I do not fail; I succeed at finding out what does not work.
One of the tasks here is the daily generation and collation of statistics across our various platforms to present to the clients. It contains things like the state of the tickets, number of tickets raised/closed, peak data across the platforms, systems metrics for utilisation and other similar things.
Currently these metrics are gathered manually be people eyeing up graphs and manually reading the data from them or running scripts that pull out metrics they need, it went from a half hour task to a 120 minute task, daily, as we've been growing.
I created a scaleable system that polled all the required statistics, from all of the various different systems in place, directly accessing the RRD files that generate graphs, polling our ticketing systems API to access the data, etc etc and then pushed them in to a database which could be polled easily for historic data as well as interrogated via a front end to generate the reports. It even allowed you to alter text in the report and export it to PDF to email to the clients.
After 2 years it's still sat, waiting to be rolled out, because of politics. The guys that run the reports just work from a process document and aren't really good enough to do much else. With the additional free time they have it would be too transparent that they can't do anything other than follow process but we do need them for various other tasks that can't be automated. At least by doing the reports manually they look really useful and the clients are happy..
The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
.. the nature of our job.
This is what I am asked to do any day. To automate.
So until they create the AUTOMATOR == AI capable of creating automation routines by itself, this is my job.
Regular Expressions and shells are your first best friends. It is amazing how lowly people keep thinking about shells and RE utility. Unix toolbox contain quite a collection of instruments, that can be combined to accomplish a lot of everyday tasks with very high level of automation and reuse. The best thing is: this approach has very linear learning curve. You can not be sure that it will save you a lot of time, while you are still learning. But it sure will both make the work more intelligent and reduce number of stupid mistakes.
I'm not a brake. I'm an accelerator. Just a slow one...
I've found myself in this exact situation.
If you have the desire and/or ability to use your computer properly and automate tasks, and your job title is "______ Assistant", your boss will likely not respect you enough to permit automating anything. Therefore, you should do it as quietly as possible, and do not expect any pats on the back for mysteriously having perfect reports in your boss's inbox every morning at 8:31AM, or data requests completed before he/she even has time to walk back to his/her desk. Your boss may "expect" perfection, but will not actually know what to do about a subordinate who is actually capable of delivering it.
Expect to have only Microsoft VBA at your disposal. And amuse yourself daily with this image which sums up your situation perfectly!
Also, smile often! :)
As so often XKCD says this much shorter:
http://xkcd.com/1319/
After reading a few responses I thought I'd share my observations on workers, and the "Three Kinds of Lazy:"
The Plugger: Doesn't like the drudgery, but rationalizes it with victimization and anxiety.
The Troll: Doesn't like the drudgery, does a barely passable job. Jellously guards all knowledge of how to do said task under the idiotic assumption that this will make them indispensable and thus impossible to eliminate.
The Neckbeard: Hates drudgery. Will spend enormous amounts of time learning whatever scripting language is available to automate everything possible. Doesn't document anything. Get angry if anyone asks.
Who should you be? The Neckbeard who 1. Shaved that thing off, or at least adopted a modern style. 2. Documented everything, then found a new job leaving this now unnecessary position to someone making less money.
Yes, I know. "It's impossible for me to move withing my industry in ! I need to be lazy to keep employed! Besides, no one could do MY job, they don't have the experience! This is completely wrong and here is why:
Eventually, each of the "Three Kinds of Lazy" gets fired. The Plugger falls victim to the first rule of Capitalism: "There is always someone willing to do it for less." The Troll and the Neckbeard push the wrong person too far and get fired. Someone else is hired and picks up the pieces. All three types of Lazy have a hard time finding a new job because they rarely keep their skills up to par with the industry.
So automate all of the things. If your company is cheap, invest in your own training and look for a better company with your next job in mind. If you have to move, move. This isn't the Middle Ages. You are perfectly capable of moving away from your village. So is your spouse. If the Earth was dying and the best chance of survival was moving to a terraformed Mars, would you stay on Earth just to know what the stubborn looked like as they died?
Only the dead have seen the end of War. - Plato
So you agree with him in practice, but not principle. Or is it the other way around?
He works as an engineer running the reactor at a nuclear plant.
No "IT-worker" about that what so ever
I worked for an ISP, and one of my daily tasks was to match up 2 incompatible billing systems for over-use. Since each software had a hard-coded start time of the hour counting and they werent the same time, there were minor differences on some accounts, but all of a certain category had to be checked anyway on their billing day. I pressured my employer to allow me to automate it because it took up to an hour (usually way less, depending on the day) and it was completely wasted time. I wrote some scripts that did the job, and (yeah, at an ISP) i was told that if i'm getting paid for 8 hours, i should be doing the work, not a computer. astonishing. so i used the script some days when it was a heavy work load. It freed me up to do more creative and productive things. Dont fear automation. I dream of a day when we have solar and fusion power, and robots that can repair eachother that work day and night to produce our food and our materials for our 3d printers, and nobody has to work
Absolutely, but DO NOT TELL ANYONE. honestly automation will not get you a raise or a promotion, it will just get you extra work. for the same pay.
And if you worked for me and I found you doing this I would fire you on the spot. You are being paid to perform a certain number of hours of work, not to sit on your ass and collect a paycheck. What you are suggesting is fraud, plain and simple.
Find a new and better way to offer your employer value. Or, just sit back and enjoy the sloth ride as long as you can...
get unionized before you are Automated out of work!
What, people thought the open source movement of the 2000s was due to some sort of hippy movement?
No, it was due to IT departments becoming redundant and the engineers spending that time very effectively.
That wave has crested.
Is that accurate?
No. GP post suggested automating tasks and seeking no additional work while collecting the same paycheck for less work. If you can automate a task which saves time then you should go seek out a new task to fill the time. You are not paid to sit on your ass and admire your handiwork. There is a difference between making yourself more efficient at your job so that more gets done and pretending to do work that you have automated to collect a paycheck. The former is worthy of promotion, the later is fraud.
I see no problems. It is but part of the SPF, with a high-risk, slow and moaning process, that we haven't found time to replace yet by code.
When we get time to replace that annoying process, we can fire some more office employees.
But I am grateful that we have human computers, that can save our process flows, when we can't get to finish our deadlines on time.
Automate it, don't tell anyone, and then get paid for doing nothing while you waste all of your time browsing stuff on the Interweb. That's what I've done...
There is no God, and Dirac is his prophet.
What a lovely Protestant Work Ethic you have there! I hope your jobless great-grandchildren are just as proud of it.
What a lovely Entitlement Complex you have there! If you think your ability to obtain a paycheck is dependent on you being as unproductive as possible without getting fired then you will be unemployed long before I will.
Automate it yourself. Then learn how to keep entertained while looking busy. Worked for me for years.
Just automate it yourself but don't tell anyone and always pretend like it takes as long as it used to. Use the spare time to read Slashdot ;)
Get another you just got replaced by the robots you programmed HAHAHAHAHA Ya the robot is a stretch kinda..... Im telling ya people we are headed to WAR with robots replacing humans Corporations. We shouldn't stand for it, but for extremely hazardous work. Robots WILL make the super rich even more super rich until the money dries up because everyone been replaced by a robot.
Jack of all trades,master of none
I'd tend to agree with you, although the problem here is often not the employee and his/her laziness or incompetence. The fear often comes from uncertainty that management recognizes the value in what you've done for them.
For example, I had a buddy who used to work for a company that installed and maintained point of sale systems. He found all sorts of time consuming processes that he could automate, by virtue of knowing how to code in languages like PHP or Perl, and did so wherever possible.
The problem is, his boss quickly got used to the idea that he was getting all of those tasks done in a much shorter time window, and began expecting it. When those "one off" situations happened where an automated script wasn't going to crank out a requested report, or make a big update easy to do -- he wasn't given any leeway. He was pushed into time crunches with unrealistic expectations and had to pull "all nighters" to meet the deadlines.
What you're suggesting is the logical course of action, but employers aren't always logical (or paying attention to what you've done). In that respect, I guess it may sometimes come down to your personal priorities. Do you want to leave "well enough alone" and keep getting your paycheck for doing things the traditional way? Do you want to automate everything in secret, so you can pretend tasks still take longer, while it secretly gives you free time to do something else? Or do you want to call attention to the improvements you've made and gamble that it gets you more pay or recognition, vs. a risk it will just land you more difficult work for the same salary?
Just because you automate it, doesn't mean you have to tell anyone.
Be a shame, you know, if those scripts stopped working..
..don't panic
I've been here before, 300+ mind numbing one-liners a day oncall to 500+ servers, so I wrote a website that automated the scripts into webpages that mostly rsh'ed the commands. In this day and age I'd put it into a touch-panel for 'Queenie' to peck at, and then set back and maintain, fix and add to the website, and when 'Queenie' made a mistake, I'd get chicken dinner!
I've been in IT for over 30 years and I've seen a lot of changes. My first program was coded onto punch cards and read into the system that way. Nowadays I'm doing some traditional programming and SQL, but also working with some new tools like SAP's Data Services and Dell's Boomi. These newer platforms are very visual in how you hook up your components, yet still offer the flexibility to write special modules in languages like Java or ABAP. This, I think, is the future of programming, where a lot of the repetitive drudgery is taken out of the coding. This will mean changes in how application developers work.
When I first started out, there was less spcialization. The coder was expected to understand the business and to meet with the users to discuss design, and solve problems. In time, so-called "Business Analyst" and "Project Manager" positions were created because not all coders were good at working with users, and many of them have only a vague understanding of how business functions. However, companies are learning that all this specialization overhead is expensive (and perhaps even redundant). Specialized "code-monkeys" will be less in demand. So will "business analysts" who cannot design solutions. The future will belong to those coders who can be good analysts, who understand business, who can deal with users, and still understand how to configure modules and link them together in order to produce applications.
Proverbs 21:19
Automate it while using emotional intelligence to find a more satisfying role in your or another company (which might be your own business).
First try looking on Apple's App Store. Objective-C, the preferred language for OS X and iOS apps prior to Swift, is C with a Smalltalk-inspired object system.
Otherwise known as job security!
Whoah whoah whoah! Productivity isn't the issue here, you're being paid for number of hours worked!
I work in the travel industry. IT is not our main focus.
Year ago we used to print a report of vulnerabilities that was circulated to relevant system owners. We had 5 systems then.
Fast forward 10 years and we have 700 Linux systems. Every month there's a report that one of the Compliance engineers requests. It's a list of patches and servers. We automate this a query to a Red Hat Satellite API. The report runs every day and on the end of the month it gets pushed to a website (password authenticated). Before we automated it, the previous method was to generate the report in RH Satellite then copy to an email to the Compliance team.
After we automated it, the Compliance team requested that it be placed on a file share to make it easier to access. OK no problem.
Well, except that the automated tools are not allowed (by Compliance) to have an account to the Compliance share. Only flesh and blood people can access that share.
The short of it is that we've automated the process but they put in restrictions to make sure that it's manual.
Now sure, we can figure a way to automate it using one of the Linux admin accounts. The problem is that we're introducing a few other problems including human intervention, expiration of human accounts (service accounts can expire after a year; user accounts are 90 days).
They never actually read the report because it's too long. However, they wanted it in CSV format versus the format we'd used previously. Because of the number of fields this made the report unprintable. But we complied anyway and generated the CSV with lots of duplicated information in each row. The report went from a few hundred K to 5M on average. They wanted it in CSV so that they could import it into Excel. They want it in Excel so that they can print it. The average report is 300 pages. To be fair to them, I don't think they've ever actually printed it and the need for printing certain PCI/DSS related documentation came from the Legal department.
But you see my point. It's all ridiculous and the reason why we can't automate is that it's a lot of work but in the end no one gives a damn.
Automate what you can, but even with automation in place, someone who understands what's being automated and how automation works still needs to be around to monitor and improve the system. Automation should only ever replace tasks with are safe and repetitive, to free up time for people, such as IT staff, or engineers, to focus on much more important tasks.
:P
The way I would spin it to a boss ( and have before ), is this way: "I made a spread sheet and pie chart outlining where my time is spent each week on tasks X, Y and Z. As you can see I spend 10 hours a week on X which really has no reason to be a manual process. Which causes Y and Z to only get 30 hours of my attention, which I feel is to low. I was wondering if you I could look into automating X so that I can free up time to implement better monitors and issue resolution."
Generally the boss will be impressed, mostly at the chart and let you move your effort into something more meaningful without replacing you. Of course make sure to pad the chart so you look awesome
There will always be something in my experience. I do it all the time, though not part of my primary job description. It is usually because of some wonky legacy system still in production that has been terribly maintained because the organization doesn't have the money to fix properly, and certainly doesn't have the money to replace it. Usually patches are applied, which despite UAT ends up breaking some other unforeseen part of the application because it was apparently originally designed by blind monkeys (in reality it was usually designed for another purpose, or the business area has changed so much, and the current system has be adapted to work), which then require the same sort of treatment you were trying to eliminate. Then on top of that, some manager will change how the buisness works radically corporately that effects all your systems without any thought as to what this will actually do to business, which they expect you to fix immediately, which is impossible, so interim solutions are put into place for the "short term" causing even more problems and more lack of automation, until another fix can be designed, tested, implemented, and deployed, etc... then repeat every year, for say 20 years. Eventually retire. On top of all that if you have shitty management, which everyone probably does at some point, they will force your experienced technical guys to leave, replace them with noobies, who barely have an idea of the basics, have no idea of all the patches, fixes, and weird idiosyncrasies of the system and why it does the things it does, or one of the things that is not automated is not done for an extended amount of time because no one is aware of it except the technical resource that left causing all sorts of data problems etc... There is no documentation, or what little of it there is, is quickly lost... Blah blah blah... Anyway how familiar is this sequence of events to people out there? I am betting a lot. I have been asking for fixes (which I sometimes get) from management, and entire re-designs and replacements from management for well over a decade. Usually it comes down to not having the money. So long as the system keeps limping along, no one cares. Eventually it will likely fail catastrophically, however by that point they will probably be off to their next management job, or will simply blame the previous management or throw IT under the bus.
Just make it so that you manually invoke the do_it_for_me.sh script. They can always make someone else do it manually when they replace you. As it should take you a reasonable amount of time to work on this task, it's perfectly reasonable to let the script do the work for you.
One time we had something break down, so to get credit for a manual process that had completed, we had to type thousands of sequential numbers into an application. This happened more than once. I'll let you guess how that went down when I took over for the last guy who had been typing sequential numbers for an hour or two...
I've automated so much stuff that my scripts do the jobs three people used to do. They aren't perfect, but they don't make "human" mistakes either like forgetting a step or typos.
I've done this many times.
In one instance it wasn't my task, but the task of 2 employees that I was supervising. My boss had given them a task that took each of them 8 hours to complete (turning phone logs into readable reports, daily). One would start the process and hand her work off to the other which was then turned into management at the end of the second shift. Each day, processing the logs from the previous day. At best, the report data was 24 hours old - often indicating trends after it was too late to deal with them.
The IT department had tasked several of their workers to automate the task but none were able to do it over the course of 6 months.
I spent three days learning what these ladies were doing and another three days coding it. When I was done, management could get the report they wanted up to the previous hour, and it was searchable.
At the end of the day, I got two workers back on the phones doing what they were hired to do.
I quit two days later - but that's another story.
"Lame" - Galaxar
I learned a long time ago how to work fast in documentation. Given the task of moving documents into FrameMaker from wherever, I stored the document as text, imported the stuff as Body copy and then used keystrokes to apply the right formatting. Storing the stuff as straight text gets rid of the typical line-by-line format removal. One boss type was initially given the project and gave a three month estimate to move 350 pages. I got the job as, "See what you can do," and finished in a day and half. Being that fast would have gotten me fired. I even dodged that process, quitting first. Being too good is a faster way to get canned than effing up.
Now that you have extra tasks on your plate, what happens when the automation scripts need maintenance? Work an 80 hour week?
What nation do you live in? Move.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Not exactly. You are paying me for my skills, experience, toolkit and output. Otherwise, go hire yourself a schlub off the street for minimum wage and see what that gets you.
If I keep my output the same, using my experience, skills and toolkit to make my own load easier, then you should be happy. Why? Because I am happy, so I'll stick around longer. If you don't like your emps staying around, just wait. The average tenure of an IT schlub is 2-6 years.
The reason being because your PHP can't figure-out how to automate the task, he figures no one else can.
Can you give us some examples of any modern, notable and widely used apps of any kind written in Smalltalk?
Before I answer, I first need to know whether you have heard of Squeak. I'm not sure what you mean by "notable and widely used", but here's a list of projects using Squeak.
In a environment with 10,000+ Unix boxes and limited knowledgable staff, automation is the only way.
Code is just a tool.
Solve for problems you can see.
Document.
A recent personal experience with automation.
I took a one year contract at a medium sized utility undergoing a restructure, to project managing some billing projects.
Due to turf wars, and reasons I don't fully understand, I was sat in a operations team who did billing data entry, customer queries, mass billing problem solving and and small scale system projects and data transitions. The team themselves were quite skilled at their jobs, was the IT department nearby, but their supervisor, let's call her The Luddite, was not.
For some reason, on top of my main project I was given a daily operational task. I thought, the only reason I would be given this task would be to improve the process. It was a boring manual upload of various XML billing files to the printer, checking samples, authorising printing, and various manual audit checks and data-entered reports to line managers make sure all was within SLAs. This took between two and four hours *per day* depending on problems. After a few days, I started feeling like that guy in Office Space. I started making mistakes as my brain shit down.
Using VBA/Excel (the only scripting tool I had access to) over the next few weeks, I spent about 50 hours coding to to automate populating check totals and reports, and sending them out using Outlook scripts. Pretty mild stuff. No procedures were changed, just automated to make them quicker. All the check totals were available to check visually in the same files in the same way, which I continued to check visually as a backup. The process was down to less than half an hour per day, with little scope for error. I tested it extensively and was confident it was robust, The code was clear and well annotated for anyone in IT to look over to maintain if required. So the payback for time saved over time spent was average say 2 hours/day saved vs 50 hours spent = 25 days, zero other cost. Not bad for a daily process that would go for the forseeable future. Not bad (I thought).
Enter The Luddite.
Summary of conversation:
Me: [Expecting thanks for automating mind-numbing process]
Luddite: "Who authorised you to do this?"
Me: "No-one. I haven't changed any procedures, checks, or manual controls, I automated data entry and report generation with free tools."
[me thinking: why not ask who 'authorised me' to use a keyboard shortcut as opposed to the mouse to cut and paste data?].
Luddite: "We've had situations in the past where people have automated things and screwed things up. We don't want to do it"
Me: please refer to my comment above.
Not satisfied, I gave her a one hour training session on how I had automated it and what to do, she took it over personally to make sure it wasn't causing any errors while I was on leave.
The irony is, I didn't actually report to this idiot, she hadn't read my employment contract (despite asking her to when she gave it to me - she assured me it was 'standard').
So insecure was she about me automating processes, one time, after I went upstairs to ask IT guys about an issue (I was having some problem using the the XML objects in VBA), she would go upstairs to ask them what I'd asked them, come back down, having misunderstood the problem I was trying to solve, berate me for not knowing it already, while I politely tried to explain that I do what she was berating me for not knowing every day, I was trying to do it smarter with scripting.
After six months of this, I went ballistic, and I told everyone from HR to a new appointed senior manager in charge of the division how she was retarding efficiency and forcing her staff to needlessly do mind-numbing manual processes needlessly. They all agreed with me, I was transferred to a dedicated business analyst team with a new manager, which was great. However, I still had to talk The Luddite as I was still on the same billing projects. The first time I tried to ask one of her staff a question in my new role, The Luddite complained to a senior manager and threatened to 'escalate' if I didn't 'apologise'. She got promoted. I left soon after.
Still scratching my head struggling to find a moral to this story. Looking back, my only regret is I stuck it out for eight months rather than quitting after two days.
They realised that to be in power you didn't need guns or money. You needed to will to do what others wouldn't.
Quality is still much the same though.
During an interview I was told that the main task of the job was to make myself redundant in 6 months. All the reports, weekly and monthly took a programmer full time with hands on queries, SQL extractions and formatting reports in Excel. They wanted the process automated so that any member of staff could run the reports without hands on with macros, scripts or macros. I also had the task of creating a reporting system for ad hoc reports that were requested every day. Towards the end of the contract they found more things on the nice to have list otherwise I would have been out in 4 months. I did expect to be called back periodically for updates as features to the system might have been added. Never happened.
You are perfectly capable of moving away from your village. So is your spouse.
But it's impractical for one and one's spouse to move to different places should they find jobs in different places. And in a lot of cases, it's impractical to move even five miles if lawfully working across the border requires a tremendous amount of paperwork to obtain a work visa.
If the Earth was dying and the best chance of survival was moving to a terraformed Mars, would you stay on Earth
If the Earth were dying, that would be enough to override illegal migration worries. But because the Earth is not dying, one can still be fined, imprisoned, and deported for crossing a border.
Specialized "code-monkeys" will be less in demand. [...] The future will belong to those coders [...] who can deal with users
Where does that leave people who can communicate with the business analysts but have a diagnosed disability that makes communication with users require training that a lot of companies aren't willing to provide? Having been diagnosed with Asperger syndrome back in 1995, I feel worried.
Anyone can automate tasks from their own workstation without any authority needed.
Except it isn't one's own workstation; it's the employer's. Some people have such little "power [...] in an organization" that they end up on a workstation with an AppLocker policy that rejects user-written PowerShell scripts.
Kelepir, Ucuz Toptan Kitap Adresi http://www.toptankitap.com/
Write a job that re-streams itself?
MPE
file is myfile.mygroup.myaccount.
!job repeat,user.account;outclass=,1
!file ftntext=source
!file ftnlist=$stdlist
!file ftnobj=$newpass
!setjcw jcw 0
!run ftncomp.pub.sys;parm=7;info="include 'spectrum.include'"
!if jcwfatal than
!echo end of compile
!else
!echo errors in compile
!endif
!purge oldobj
!link $oldpass,oldobj;rl=rl.local,rl.common,rl.local;xl=xl.common;cap=ia
!purge obj.local
!rename oldobj,object.local
!comment **** do this thing again in 30 minutes ****
!stream myfile.mygroup.myaccout;in=,,30
!eoj
(The original was in all caps MPE JCL for FORTRAN77 but slashdot forbade the all caps, had to downshift.)
Tracy Johnson
Old fashioned text games hosted below:
http://empire.openmpe.com/
BT
Homer once automated his job with a plastic dipping bird, with disastrous results.
I did exactly this, I have a drinking bird jig doing 80% (the jig was designed to look just like the dribking bird) of my work I now spend my days arriving late leaving early and testing out my YouTube connection from the beanbag in my office. My boss loves it, the drinking bird does my job better, faster and doesn't complain about a sore shoulder. As for my down time I have given up asking for more things to do, but when they arrive I jump on them and smash them out as quick as I can. Do I get paid more? No but yes, I do less labour and get paid the same, and get a crap load of foreign orders done that keep my mind going. Am I looking for a new job? Not really, I know this can't go on for another four years but I am happy, and any new job will require ( relatively lots) more work, so to me they will have to pay me lots more which is just not going to happen! I really feel sorry for my next employer I have been spoilt and will be hard to get back into a normal work pattern where I must arrive on time every time and appear busy until I leave!! But until that day comes along the gravy boat is floating just fine for me :)
become the guy who develops the automation.