News for hackers. Stuff that matters.
Re:Coders Automating Their Own Job by wvenable on Tuesday October 02, 2018 @03:50PM (#18125088)
It should be noted that programmers are not automating themselves out of programming jobs. They're automating themselves out of data entry, or testing, or any number of other mindless tasks easily done by computers.
Re:Coders Automating Their Own Job by thaumaturgy on Tuesday October 02, 2018 @04:01PM (#18125197)
We may not (yet) be able to automate ourselves out of programming jobs, but we can certainly leverage smart development practices into making the job a lot less labor-intensive.

I'm experiencing a shift in that thinking right now. I write reusable, modular, tested code. My co-workers don't. I use a project management system (Phabricator, on my own personal server, which I maintain); the company doesn't. For most of the last year, I've used these to produce more and better code than others have, but my responsibilities have only expanded while my pay hasn't.

I've vocally evangelized these practices and I'd love nothing more than to see them get adopted by the other developers, but so far it's not getting any traction.

So I'm shifting towards logging the value of the work I produce -- regardless of whether I'm just copying in a file from my extensive library -- rather than the time it took me to accomplish the task.

And starting to look for a new job.

Re:Coders Automating Their Own Job by dropit_sphere on Tuesday October 02, 2018 @04:05PM (#18125221)
Hopping or starting a company to sell your work are becoming the fastest ways to get "promoted."
Re:Coders Automating Their Own Job by kradroy on Tuesday October 02, 2018 @04:18PM (#18125338)
I was going to suggest this from my experience.

I hate to burst GP's bubble, but the attitude and environment at his next job probably won't be any better in regard to "best practices." It's extremely difficult to gauge how your attitude toward development compares with a prospective team's after an hour of chatting. I became a manager last year and quickly discovered that changing others' behavior and habits is next to impossible. And if he does happen to find a new team that matches his work ethic he can be certain that 1 or 2 years down the line it won't any longer.

I think the only two ways to avoid this is to become a contractor and switch gigs every 2 years, or start your own company and hope the people you hire share your attitude.

Re:Coders Automating Their Own Job by hinkley on Tuesday October 02, 2018 @05:08PM (#18125714)
I've had very good luck changing the behavior of junior developers and moderate luck changing the behavior of mid level developers that are hungry for a promotion. I can count on my fingers (couldn't say if that's one hand or two) how many senior devs I've gotten to come around.

If you're interested in progress and growth, I can say with a high degree of certainty that what you don't want to do is apply to work on a very stable team. These people are always confident that they know what they're doing - even when they agree that the outcomes aren't great. They've had lots of time to practice their rationalizations and that kind of cognitive dissonance can be pretty jarring/aggravating.

By definition, starting your own company or contracting will avoid that situation, but you don't need to take your ball and go home just to get the right kind of environment.

Re:Coders Automating Their Own Job by pvarangot on Tuesday October 02, 2018 @05:30PM (#18125876)
I had senior people change habits and practices but at the expense of huge failures or years of leading by example. The patience and the effort are humongous and almost ridiculous when you compare them to how quarterly or even bi-quarterly planing cycles look.
Re:Coders Automating Their Own Job by hinkley on Tuesday October 02, 2018 @05:57PM (#18126058)
Early in my career, the concept that someone might know of a showstopping problem and chose to do nothing left me appalled and feeling rather betrayed.

Fifteen years later I sit in meetings telling people (some of them still older than me) not to touch the stove because it will hurt, and I have to patiently wait until someone gets hurt before we can discuss the proverbial oven mitts.

The problem with doing something right the first time is nobody appreciates how hard it was.

Re:Coders Automating Their Own Job by drawkbox on Tuesday October 02, 2018 @10:56PM (#18127332)
> The problem with doing something right the first time is nobody appreciates how hard it was.

Sometimes if you do put in quality and do it right in development it costs you in time and then by perception.

When you hit the ship date over finishing the iteration/version/product you have problems after ship from external customers, when you do it right and handle the problem in development before ship, you take a hit in perception internally.

The problems after ship can harm a product/company more than a slight delay in shipping, but today it seems people don't care as much as there is more specialization and larger teams where it is 'not my problem'. Some clients/project managers see a bad product shipped on time as good, and a good product shipped late as always bad. The external perception should play more into that perception not just hitting their part of the project goals/milestones.

Hitting dates is hugely important, but messing up a product with the customer can be deeply problematic. Noone truly remembers a late product after it ships and is quality, creative and functional, they remember a bad product.

I prefer the Valve Time [1] philosophy, get the product right over the date, and don't set dates until you have the product actually ready.

[1] https://developer.valvesoftware.com/wiki/Valve_Time

Re:Coders Automating Their Own Job by josephjrobison on Tuesday October 02, 2018 @05:12PM (#18125752)
As a non-developer, how can I hire someone (or a team) like OP that focuses on automating menial stuff and focuses on the most important?

Does a development agency that focuses on this model exist? Of course they should be paid more per hour (or other unit) than your average, less optimized agency, but the sum total should be less than hiring inefficient agencies.

(P.S. I understand the best developers probably don't want to start or work at development agencies, but assuming there are some.)

Re:Coders Automating Their Own Job by bradknowles on Tuesday October 02, 2018 @06:39PM (#18126314)
Body shops don't work like this. Their purpose is to put butts in seats, regardless of whether or not that butt is attached to anything else that is functional. Functioning in this manner would actually be counter-productive for them, because it would reduce the number of butts that they have to put into seats, and would reduce the number of seats into which they could put butts.

If you know of a development agency, odds are that it is probably a body shop.

The places that do work like this are more like Unicorns. And Unicorns are damned hard to find and hire -- or get hired by them.

Re:Coders Automating Their Own Job by zer00eyz on Tuesday October 02, 2018 @07:25PM (#18126537)
But actual consultants exist, some of them are working as well (unlike a body shop).

This sort of thing is how I now pay the bills.

Re:Coders Automating Their Own Job by dragonsky67 on Wednesday October 03, 2018 @12:43AM (#18127688)
Part of the problem is that to effectively automate a task or series of tasks you need to fully understand what is being done. The person currently doing this knows what they are doing (you would hope), and may understand why they are doing it (this is not guaranteed).

In many cases, what somebody does (and why) is not documented, or if it is the documentation is most likely out of date and inaccurate.

To effectively automate a task, you need to fully understand what needs to be done as well as have the skills to do the actual automation. Getting somebody in who is unfamiliar with the job, can work, but in most cases you will end up with an off the shelf system that has been customised to perform the original task but come with a large overhead of maintenance that may take more work than the original task.

My suggestion would be that rather than get an outsider to create the automation tools, up-skill and authorise the staff doing the work now to allow them to gradually automate the process. Make sure you make it worth their whiles to automate.

Re:Coders Automating Their Own Job by josephjrobison on Wednesday October 03, 2018 @09:07AM (#18129786)
So it sounds like two things:

1) As person with business knowledge, vision, plan, etc, I should fully document the business goal and why we're doing it and what we're trying to achieve at the highest level, then work with the developer to figure out what should be developed to achieve that and where to automate.

2) Don't hire outside person or agency, but bring someone in full-time or as a part-time partner for the long term and incentivize them to get better and better?

Re:Coders Automating Their Own Job by honopu on Tuesday October 02, 2018 @06:16PM (#18126156)
I’d hope they all do. If you get an experienced developer they should want to automate all of this. My former boss took the model of improving processes and revenue, then taking a cut of the difference ongoing. He had financial freedom already, so this was the best use of his time. With some companies you aren’t given all of the information to make the right decision for efficiencies sake, or they write such a rigid spec there’s no room for improvement. Personally I love spending the time where I can see it saving so much time for the end. You might not need an agency, you might just need a developer to help write what you want to create and work a spec that you can give to an uncreative team/agency to create. Agencies make a decent amount on the discovery phase, so you’d be cutting that out. At that point you could go directly to someone that could implement it.
Re:Coders Automating Their Own Job by josephjrobison on Wednesday October 03, 2018 @09:04AM (#18129768)
That's a great idea, will definitely try this out.

Seems to be a good idea to separate out the architecting from the actual implementation. Makes sense, because if someone knows they'll have to be implementing, it could cloud their plan for the ideal solution. Similar to separating out design, UX, and development roles.

Re:Coders Automating Their Own Job by softawre on Wednesday October 03, 2018 @04:49PM (#18134710)
You don't pay by the hour, you pay for the job...
Re:Coders Automating Their Own Job by pmiller2 on Tuesday October 02, 2018 @05:11PM (#18125737)
Why would one need to become a contractor to switch gigs every 2 years? Seems like that’s the new normal with employers not wanting to invest in employees anymore.
Re:Coders Automating Their Own Job by hobs on Tuesday October 02, 2018 @04:58PM (#18125653)
Unfortunately yes, though another path is making a lot of friends so that you can network for the decent jobs, temporary though they might be.
Re:Coders Automating Their Own Job by dgcoffman on Wednesday October 03, 2018 @03:50AM (#18128317)
> leverage smart development practices into making the job a lot less labor-intensive.

I think we instead do the same amount of labor, but accomplish more.

Re:Coders Automating Their Own Job by michaelbuckbee on Tuesday October 02, 2018 @04:33PM (#18125467)
Development jobs are shifting as more and more towards "plugging APIs together" and much less end to end development.

Modern web dev is fantastically more productive and efficient than it was 10 or 15 years ago.

Most/many SAAS apps are substitutes for aspects of what previously would have been part of a developers job to put into place.

Re:Coders Automating Their Own Job by tabtab on Tuesday October 02, 2018 @06:06PM (#18126106)
Re: Modern web dev is fantastically more productive and efficient than it was 10 or 15 years ago.

I have to disagree. The esthetical expectations of the user/customer are higher now. If it's not "in style" they think you are sticking them with old tech. And you have the desktop/mobile split that frameworks only get half right and require days of black-box fiddling to get working right on all devices. And JavaScript gizmos often "break" as new browser versions or related components come out. It's almost as bad as the "DLL hell" that desktop applications used to face.

From a purely utility standpoint, I was much more productive back then because I only had to make it work and be easy to use, not "pretty" and animated with toys or the latest style fad.

Re:Coders Automating Their Own Job by bradknowles on Tuesday October 02, 2018 @06:41PM (#18126325)
I submit that having ten thousand node.js/npm dependencies is far worse than any DLL Hell that has ever been experienced to date.
Re:Coders Automating Their Own Job by tokyodude on Wednesday October 03, 2018 @12:33AM (#18127653)
Hmmm, I just tried to install emacs on windows. With all dependencies is 210meg! Tried installing vnc on Ubuntu following commonly found instructions. Required installing 119 packages (each of which is likely built from several libraries). I also tried building smb from source. It required tons of dependencies to be installed. Is npm actually any worse than any other environment?
Re:Coders Automating Their Own Job by Aeolun on Thursday October 04, 2018 @02:55AM (#18137766)
10000 > 100
Re:Coders Automating Their Own Job by buboard on Tuesday October 02, 2018 @06:53PM (#18126386)
> If it's not "in style" they think you are sticking them with old tech

Is that even true? Is there any survey showing that users consider those bad or old tech? Because with things like the reddit, ebay, paypal, gmail redesign, the common thing i ve noticed is that nobody asked for those.

Re:Coders Automating Their Own Job by tabtab on Tuesday October 02, 2018 @07:07PM (#18126460)
That's just my experience. If a customer pays for a new gizmo, they want the "latest and greatest". If it doesn't look latest and greatest to them, they feel slighted. I'm not saying it's necessarily rational, only that it's the way customers on average react. They don't always say it directly, but word gets around. I've seen it many times. Humans judge books by covers.

As far as old-looking sites like Ebay, if an Ebay competitor appeared with equivalent services and product choices, yet LOOKED fancier/stylish, Ebay would start to lose customers. Lucky for Ebay, no such site exists. (If they appeared, Ebay would probably spend on a visual revamp.)

Re:Coders Automating Their Own Job by buboard on Wednesday October 03, 2018 @10:47AM (#18130704)
Right, but it seems to me that an entire - and unbelievably rich - industry is moving along with “just my experience“ when it comes to UIs.
Re:Coders Automating Their Own Job by femidav on Friday October 05, 2018 @07:23PM (#18152526)
End users very consistently hate breaking changes, regardless design or functional.
Re:Coders Automating Their Own Job by tabtab on Tuesday October 09, 2018 @03:49PM (#18179259)
True, but it's hard to get new customers unless your "art" keeps up with the Joneses. A revised product is still usually more similar to the last version than another vendor's product such that existing users will usually stick around because a same-vendor overhaul is the least of two evils to them.
Re:Coders Automating Their Own Job by chooseaname on Tuesday October 02, 2018 @04:51PM (#18125596)
Some. Some development jobs. We sometimes forget that the world of development isn't just the WWW.
Re:Coders Automating Their Own Job by deytempo on Tuesday October 02, 2018 @09:53PM (#18127102)
A lot of work that many programmers/coders do is not maintained and no one will use it after they leave the company. Not always but often enough for me to notice it. Every company has derelict projects that once had use or are still used but in a non maintained way. Like a Jenkins installation that everyone uses but no one has any clue how to modify.
Re:Coders Automating Their Own Job by tomjen3 on Tuesday October 02, 2018 @05:25PM (#18125849)
Careful, that is only true if you look at a very small subsection of programming.

And perhaps even then not so much: at a minimum you probably need to write unit tests.

Re:Coders Automating Their Own Job by tabtab on Tuesday October 02, 2018 @05:49PM (#18126000)
Re: programmers are not automating themselves out of programming jobs. They're automating themselves out of data entry...

That's not always true. In at least 2 different organizations I worked at they were creating a combinatorial mess of search screens and/or reports.

Using a little bit of meta programming, query-by-example forms, data dictionaries, click-able drill-downs, and modular design; such "reporting stacks" could often be simplified into either a fewer number of screens and/or designed in such a way that a non-programming power user could configure most reports on their own. Allowing CSV exports of query results also reduces the number of "paper" report requests because Excel users can then format their own.

The result is something that needs roughly 1/3 as many programming hours to update and maintain.

One caveat is that you have to know the domain fairly well for it to be practical. You have to learn the domain patterns and habits in order to factor those patterns into meta-patterns. When I tried it as a newbie to the org, I usually did it wrong.

Re:Coders Automating Their Own Job by buboard on Tuesday October 02, 2018 @04:07PM (#18125242)
> of programming jobs

They do that to and have always done so. It's barely remarkable because it is expected and part of the job. The problem is you can't benefit from that, as soon as you automate one part, you are given other tasks.

Re:Coders Automating Their Own Job by wheelie_boy on Tuesday October 02, 2018 @06:00PM (#18126068)
Absolutely.

I don't hand-create machine code. I don't write assembly.

I write in the highest-level language that still lets me fully specify everything I care about, and then all of the lower levels of code generation are completely automated. Programmers have always automated programming jobs as much as possible.

Re:Coders Automating Their Own Job by empath75 on Tuesday October 02, 2018 @04:23PM (#18125380)
If you think about it, the existence of programming languages and compilers is due to programmers automating their jobs away. They no longer had to tediously translate higher level algorithms to machine code.

And really, the existence of computers is the result of automating the job of human computers away. The entire history of computer science is this.

The difference is that these guys hit a local maxima, and just ... stop. Instead of moving up to the next level and making more money.

Re:Coders Automating Their Own Job by auxym on Tuesday October 02, 2018 @05:48PM (#18125996)
> Instead of moving up to the next level and making more money.

That's assuming your employer will "move you up" and you'll make more money. Or that a future employer will see value in you automating your job. Then there's this story from TFA:

> a user posting as AcceptableLosses wrote, “They took what I had developed, replaced me with an idiot that they showed how to work it, and promptly fired me for ‘insubordination.’ I had taken a business asset that was making them $30 grand a year profit and turned it into a million dollar a year program for the company, and they fired me for it to save ~30 grand a year on my salary. Job creators my ass.”

Which sounds so entirely stupid as to be almost incredible. Why not just take this guy and move him, even sideways, to another role he can automate? But I believe him, because I've seen a lot of stupidity in Big Companies, especially the old school ones.

Re:Coders Automating Their Own Job by deathanatos on Tuesday October 02, 2018 @05:05PM (#18125698)
> The entire history of computer science is this.

CS encompasses way more than automation. Graph theory, ADTs, complexity analysis (just by way of example) are all very relevant, even if the computation is done manually, by hand.

A lot of computer science presumes a very abstract computer; a human and a modern machine apply equally well.

Re:Coders Automating Their Own Job by ohopton on Tuesday October 02, 2018 @05:41PM (#18125951)
Bluntly put, smarter programmers than you are automating you out of a programming job.

Not pretending for a second I'm safe.

Re:Coders Automating Their Own Job by DennisP on Tuesday October 02, 2018 @06:12PM (#18126124)
That's been happening ever since the first computers. The first programmers hand-entered machine code, then someone automated that with an assembler. Then the first compiler automated much of the work in writing assembly code. Since then we've gotten ever more powerful languages, libraries, and all sorts of tools. None of this has reduced the demand for programmers.
Re:Coders Automating Their Own Job by ohopton on Tuesday October 02, 2018 @07:05PM (#18126450)
Couldn't agree more, that doesn't mean it's always going to be the same. A lot of programming jobs these days are putting information from a database on a screen, then updating it in the database after it's been edited. Doesn't feel like that should be an impossible thing to automate in a fairly sophisticated way. Though that's been true for a long time and we don't seem to have made much progress.
Re:Coders Automating Their Own Job by DennisP on Tuesday October 02, 2018 @08:04PM (#18126693)
I spent a lot of my career doing that. There was usually a fairly large gap between what made sense in relational database design, and what was convenient and sensible for users.
Re:Coders Automating Their Own Job by CamTin on Tuesday October 02, 2018 @11:11PM (#18127381)
More importantly, "what is convenient for users" will frequently change and be expressed only vaguely by those users in natural language bug reports or feature requests. Converting that natural language into something machine-readable is programming, whether it involves typing cryptic strings into emacs or hooking together components graphically a la LabVIEW.
Re:Coders Automating Their Own Job by flewkey on Wednesday October 03, 2018 @02:39AM (#18128085)
I remember that someone was considering making a program to automate a co-workers job, since it was just simple data entry. They never actually did it though.
Re:Coders Automating Their Own Job by ummonk on Tuesday October 02, 2018 @05:23PM (#18125831)
I think the story of the Indian IT crisis is that good programmers have been automating them out of jobs. Good programmers in India are doing fine at modern tech companies there, but the code-monkeys at Infosys et. al. are struggling.
Re:Coders Automating Their Own Job by alistairSH on Tuesday October 02, 2018 @05:10PM (#18125729)
Exactly. Automate away the mundane tasks, so you can spend more time on the interesting tasks. In some regards, programmers are fortunate to have this ability; many careers do not have the skills to automate away the boring parts of their own jobs.
Re:Coders Automating Their Own Job by onion2k on Tuesday October 02, 2018 @05:15PM (#18125769)
Plenty of developers automate the code writing too; toolkits, boilerplates, generators, code mods, etc are very popular.
Re:Coders Automating Their Own Job by bmj on Tuesday October 02, 2018 @06:03PM (#18126092)
What about programmers automating other programmers out of jobs? My employer's core product line is designed in such a way that it can be configured for specific customers via an API. Much of that work is done by "operations developers." The complexity of their work varies based on the customer's needs. We are currently developing a designer tool that will allow the configuration to be developed via a graphical interface that will allow much of the work to be done by non-programmers (and eventually the customers themselves). As the tool matures, it will generate the code necessary to handle more complex requirements.
Re:Coders Automating Their Own Job by ambicapter on Tuesday October 02, 2018 @06:25PM (#18126218)
Those "operations" engineers can be moved to making sure Ops are running well at home (you apparently have an API) or into Technical Sales if they'd rather stay in the field. Informing the customer of all the configuration that is available to them, for example. Just because there's a nice graphical configuration tool, doesn't mean any clients are actually going to look at it when they have an issue. They'd much rather call you up and bitch about it. Operations guy's job is safe, but he might be able to address more customers than he could before.
Re:Coders Automating Their Own Job by bradknowles on Tuesday October 02, 2018 @06:45PM (#18126345)
Nope.

Operations is a pure cost center. Cost centers only exist for the express purpose of being compressed twice as much this month as they were last month, so that you can make them half as expensive.

Developers are valuable. They create value.

When all the good Operations staff has left because they're tired of being treated like mushrooms, all the Operations stuff gets thrown over the wall and then the Developers get told that they are now DevOps.

Re:Coders Automating Their Own Job by toomuchtodo on Tuesday October 02, 2018 @07:22PM (#18126522)
Truth. Left ops for infosec and wouldn’t ever look back.
Re:Coders Automating Their Own Job by sankumsek on Tuesday October 02, 2018 @08:43PM (#18126849)
Not trying to diminish it's role or value, but wouldn't security be kinda looked as a cost center as well?
Re:Coders Automating Their Own Job by toomuchtodo on Tuesday October 02, 2018 @09:07PM (#18126928)
That’s a really good point as it relates to costs between security and ops. My hunch would be downtime is your own business, but data and financial loss is everyone’s (either through liability, legislation, or insurance costs).
Re:Coders Automating Their Own Job by zwkrt on Tuesday October 02, 2018 @06:22PM (#18126194)
Think about the cottage industry of programmers who produce and maintain Wordpress websites for their clients. I think just like any other industry, there is need for products on many points of the [mass produced <--> bespoke] spectrum.
Re:Coders Automating Their Own Job by honopu on Tuesday October 02, 2018 @06:18PM (#18126168)
That’s creating efficiency, that’s what we do. Or am I missing something?
Re:Coders Automating Their Own Job by GFischer on Wednesday October 03, 2018 @12:33PM (#18131934)
Some companies do try, they end up building higher level languages / code generation tools that still require programmers.

One such tool is very popular here in South America:

https://www.genexus.com/en/global/products/genexus

GeneXus™ streamlines application development by automatically generating everything from databases to code, frontend to backend, and server-side to client-side services. It’s not magic — just a smarter way to create smart technology.

It ends up being a kind of DSL.

Re:Coders Automating Their Own Job by kbenson on Tuesday October 02, 2018 @05:58PM (#18126060)
Yes. In programming, laziness is a virtue. To some degree, so is the desire to work on interesting problems instead of boring problems. Those generally intersect to provide an enormous benefit to everyone.
Re:Coders Automating Their Own Job by Wwhite on Wednesday October 03, 2018 @08:10AM (#18129395)
A Perl reference, I think :) http://wiki.c2.com/?LazinessImpatienceHubris

As a sysadmin who started out replacing power supplies as a datacenter tech, and nowadays wrangles AWS auto-scaling groups, the idea of _not_ automating away the tedious parts of my job is pretty hilarious. I had one operations/support job where this was the case, and thankfully, I quit after one month.

If anyone out there has the gumption to cobble together a dev environment and automate away their BS job, yet can't get recognition from your employer; it is time to seek out a new job, you've certainly got the skills for something better!

Re:Coders Automating Their Own Job by suyash on Tuesday October 02, 2018 @05:13PM (#18125756)
That may be true in some cases like testing, build automation etc however when CS engineers are developing AI services and Bots, in the long run they will be automating programmers who used to do those things by hand. So Technology will eventually disrupt Coders as well and they will have to skill up or find a new job.
Re:Coders Automating Their Own Job by forinti on Tuesday October 02, 2018 @04:51PM (#18125587)
Exactly. I wonder how their bosses don't realise that these tasks can be automated.
Re:Coders Automating Their Own Job by bradknowles on Tuesday October 02, 2018 @06:46PM (#18126354)
It is hard to make someone understand some fact when their continued existence depends on ignoring the fact in question.
Re:Coders Automating Their Own Job by ratsimihah on Tuesday October 02, 2018 @05:56PM (#18126045)
Precisely. Programmers can only automate that much of their programming jobs.
Re:Coders Automating Their Own Job by just_myles on Tuesday October 02, 2018 @04:34PM (#18125487)
I agree. I see nothing wrong with anyone making their job easier.