Software Development's Future as Asperger's Heaven

Page 1 of 3 [ 34 posts ]  Go to page 1, 2, 3  Next

IHateNursing
Emu Egg
Emu Egg

Joined: 26 Jun 2016
Gender: Male
Posts: 7

26 Jun 2016, 8:02 pm

Please chime in if you are working in software development, programming, IT, or computer science:

So, for awhile, Software Development has been kind of a "last redoubt" of honorable employment for people with Asperger's... that is to say, it's something that Asperger's sufferers without Rain Man-esque quantitative talents can distinguish themselves at.

However, where do you see software development's future going?

Will it follow the trajectory of the 'computer operator' career field?--that is, with things getting easier and easier to do, like how we went from command-line to GUIs, and now pretty much a monkey can operate a tablet?

Will there be a similar trajectory of the 'work' having the skill (i.e., difficulty) removed from the process, resulting in a field that basically a monkey could work in?

Further, will sub-perfect forms of Artificial Intelligence assist in this process? I'm not talking singularity of genuine AI, but will this field be "worth" learning to enter in the next ten years?

I'd love to know y'all's thoughts on this, thank you in advance.



Fnord
Veteran
Veteran

User avatar

Joined: 6 May 2008
Gender: Male
Posts: 45,609
Location: Stendec

26 Jun 2016, 8:38 pm

A.I. companions seem to need greater sophistication. Siri, Cortana, and the others still cannot pass the Turing Test with enough certainty to make them seem like real people.

Entertainment software needs greater sophistication in presenting artificial environments as real - the realms inside World of Warcraft still look like cartoons.

Business software is still "buggy" and lacking smooth integration between departmental specialties. For example, an engineer should be able to place an order through a part's specifications and having it show up within three days, rather than having to spend three man-days on searching for a part number only to be told that the part itself is no longer available.

Domestic civilian software should be easier for a 70-year old to use without requiring tech support from a 7-year old.

Here's more, but I have to go upgrade the firmware on my big-screen TV!


_________________
*TRE45ON!!*
Lock Him Up!

(Claiming moral equivalency between immoral acts is a null defense.)


IHateNursing
Emu Egg
Emu Egg

Joined: 26 Jun 2016
Gender: Male
Posts: 7

26 Jun 2016, 8:51 pm

Fnord wrote:
A.I. companions seem to need greater sophistication. Siri, Cortana, and the others still cannot pass the Turing Test with enough certainty to make them seem like real people.

Entertainment software needs greater sophistication in presenting artificial environments as real - the realms inside World of Warcraft still look like cartoons.

Business software is still "buggy" and lacking smooth integration between departmental specialties. For example, an engineer should be able to place an order through a part's specifications and having it show up within three days, rather than having to spend three man-days on searching for a part number only to be told that the part itself is no longer available.

Domestic civilian software should be easier for a 70-year old to use without requiring tech support from a 7-year old.

Here's more, but I have to go upgrade the firmware on my big-screen TV!


That's the spirit! But if you had to make a prediction for the next 10-30 years of software engineering, what would you see?



Darmok
Veteran
Veteran

User avatar

Joined: 18 Dec 2015
Gender: Male
Posts: 12,030
Location: New England

26 Jun 2016, 9:26 pm

Interesting questions. I'm not really a programmer, but I have thought about some of this for quite a while. Random reactions:

Programming remains much harder than it should be because programming languages are abysmally written/designed.

The unix operating system (and its variants) is about as perfect a manifestation of the untreated-autistic-mind-turned-outwards as one could imagine. It is so abysmal it should have become extinct by the end of the 1960s. And yet we still have it.

Large-scale reform of computer science/programming will only come through people who have exceptional (English) language and communication skills. Those people are not generally found in computer science departments.


_________________
 
There Are Four Lights!


Fnord
Veteran
Veteran

User avatar

Joined: 6 May 2008
Gender: Male
Posts: 45,609
Location: Stendec

26 Jun 2016, 9:46 pm

IHateNursing wrote:
... if you had to make a prediction for the next 10-30 years of software engineering, what would you see?
Custom porn. Input the number of people involved; their sexes and genders; their ages and physical descriptions; what activities you want to seem them perform; what activities turn you off; their environment; whether you want music, dialog, moaning and groaning, or just ambient noise; and how long you want it to last. Then watch your custom-made porn show performed by life-like CGI "actors". All for a fee, of course.


_________________
*TRE45ON!!*
Lock Him Up!

(Claiming moral equivalency between immoral acts is a null defense.)


IHateNursing
Emu Egg
Emu Egg

Joined: 26 Jun 2016
Gender: Male
Posts: 7

26 Jun 2016, 10:30 pm

Fnord wrote:
IHateNursing wrote:
... if you had to make a prediction for the next 10-30 years of software engineering, what would you see?
Custom porn. Input the number of people involved; their sexes and genders; their ages and physical descriptions; what activities you want to seem them perform; what activities turn you off; their environment; whether you want music, dialog, moaning and groaning, or just ambient noise; and how long you want it to last. Then watch your custom-made porn show performed by life-like CGI "actors". All for a fee, of course.


I like it.



Chichikov
Veteran
Veteran

User avatar

Joined: 27 Mar 2016
Age: 46
Gender: Male
Posts: 1,151
Location: UK

28 Jun 2016, 5:21 pm

I'm a professional programmer, it's how I've made my living for the last 20+ years, but was programming as an "amateur" long before that, so here are my observations on the matter.

Computers and programming aren't getting easier, all that is happening is that the level of complexity that "easy" equates to is getting higher, but so is the level of what is "complex". As we get better and better at making the wheel, the wheel itself gets far more complex.

So 20 years ago a complex program could take some characters from the keyboard and convert them to 8 bit integers, or 16 bit integers, and do maths on those numbers. That is the kind of coding you used to do at a complex level. That kind of code eventually got built into libraries though and became an in-built part of most programming languages so if you wanted to convert letters to numbers you didn't have to write the code. That meant you could concentrate on more complex tasks like advanced maths such as angles, and point transformations so a "complex" program would show vector graphics and be able to rotate them using matrix maths etc. Then those functions became packaged into libraries so now anyone can draw a cube and rotate it, so people would work on things like z-buffering, clipping, mapping textures etc. Then even those things became part of a library and so on, so on. So 20 years ago a calculator was "complex" and impressed people. Now it would impress no-one, but a game like the new Doom is complex and would impress people. Then you have people doing models of space, the weather etc, very complex accounting and finance packages, all possible as they no longer have to spend time writing the code that the last generation created and can focus on new things instead.

When I started doing websites showing a drop down of categories and showing all the products in that category was impressive, it took a lot of code to write, and we were paid well for it. Now websites comprise complex javascript in the browser talking asynchronously to web services with complex protocol implementations, that then interact with clustered databases, message queuing systems, employing distributed transactions, interacting with many third-party systems, the login code will involve hashing, salting and all sorts of technologies that took years to mature, and the rate at which today's businesses change and mature means this all has to be done in an expandable manner.

What I do now is far more advanced than what I did before, the only difference is that what was "complex" then is "simple" now, the number of technologies I need to know about today is considerably more than what I had to know 20 years ago, and that trend will simply continue. The bar for the "complex" will simply rise and rise and good developers will keep up with the bar, and average developers will be able to product more functional work with the middling knowledge they possess. Nowadays anyone can create a website with no tech knowledge whatsoever using wix, wordpress etc, things that only the most advanced devs could do a decade ago. But now those advanced devs are writing google maps or Amazon etc.



IHateNursing
Emu Egg
Emu Egg

Joined: 26 Jun 2016
Gender: Male
Posts: 7

28 Jun 2016, 10:29 pm

Chichikov wrote:
I'm a professional programmer, it's how I've made my living for the last 20+ years, but was programming as an "amateur" long before that, so here are my observations on the matter.

Computers and programming aren't getting easier, all that is happening is that the level of complexity that "easy" equates to is getting higher, but so is the level of what is "complex". As we get better and better at making the wheel, the wheel itself gets far more complex.

So 20 years ago a complex program could take some characters from the keyboard and convert them to 8 bit integers, or 16 bit integers, and do maths on those numbers. That is the kind of coding you used to do at a complex level. That kind of code eventually got built into libraries though and became an in-built part of most programming languages so if you wanted to convert letters to numbers you didn't have to write the code. That meant you could concentrate on more complex tasks like advanced maths such as angles, and point transformations so a "complex" program would show vector graphics and be able to rotate them using matrix maths etc. Then those functions became packaged into libraries so now anyone can draw a cube and rotate it, so people would work on things like z-buffering, clipping, mapping textures etc. Then even those things became part of a library and so on, so on. So 20 years ago a calculator was "complex" and impressed people. Now it would impress no-one, but a game like the new Doom is complex and would impress people. Then you have people doing models of space, the weather etc, very complex accounting and finance packages, all possible as they no longer have to spend time writing the code that the last generation created and can focus on new things instead.

When I started doing websites showing a drop down of categories and showing all the products in that category was impressive, it took a lot of code to write, and we were paid well for it. Now websites comprise complex javascript in the browser talking asynchronously to web services with complex protocol implementations, that then interact with clustered databases, message queuing systems, employing distributed transactions, interacting with many third-party systems, the login code will involve hashing, salting and all sorts of technologies that took years to mature, and the rate at which today's businesses change and mature means this all has to be done in an expandable manner.

What I do now is far more advanced than what I did before, the only difference is that what was "complex" then is "simple" now, the number of technologies I need to know about today is considerably more than what I had to know 20 years ago, and that trend will simply continue. The bar for the "complex" will simply rise and rise and good developers will keep up with the bar, and average developers will be able to product more functional work with the middling knowledge they possess. Nowadays anyone can create a website with no tech knowledge whatsoever using wix, wordpress etc, things that only the most advanced devs could do a decade ago. But now those advanced devs are writing google maps or Amazon etc.


First of all, thank you for your detailed response.

To clarify, though, you don't see the "skill" of programming/SW development being broken open whether by bundling code into libraries, self-writing code, or automating what were once complex functions, effectively making SW development accessible to Joe Blow? Kind of like how the gradual evolution from command line to GUI to literally point-and-drag screens reducing "the skill" of computer operation?



Ichinin
Veteran
Veteran

User avatar

Joined: 3 Apr 2009
Gender: Male
Posts: 3,653
Location: A cold place with lots of blondes.

29 Jun 2016, 7:28 am

To write complex things like operating systems, analytic tools, security tools, database stuff, you need something more complex than a "click and drag icon around to create a program"-program for kids they are making nowadays (there have been some like that earlier, i used one called MCL for barcode scanners that was braindead easy for most people).

True, someone made something as advanced like an ALU in minecraft but i do not see programming heading that way. It's going to remain a high end job. Same goes for AI or Machine Learning, there may be some developments there, but i do not see any of that writing something as simple as the minesweeper game (in windows) in our lifetime.


_________________
"It is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring" (Carl Sagan)


Ichinin
Veteran
Veteran

User avatar

Joined: 3 Apr 2009
Gender: Male
Posts: 3,653
Location: A cold place with lots of blondes.

29 Jun 2016, 7:30 am

To be fair, there has been some advances, but not in fields that matter for most companies that make complex software products that require good design and functioning so humans can use them . This is really cool though:


_________________
"It is far better to grasp the Universe as it really is than to persist in delusion, however satisfying and reassuring" (Carl Sagan)


Nine7752
Toucan
Toucan

User avatar

Joined: 3 Dec 2015
Age: 58
Posts: 269
Location: North of Nowhere

29 Jun 2016, 8:04 am

Darmok wrote:
Programming remains much harder than it should be because programming languages are abysmally written/designed.

The unix operating system (and its variants) is about as perfect a manifestation of the untreated-autistic-mind-turned-outwards as one could imagine. It is so abysmal it should have become extinct by the end of the 1960s. And yet we still have it.


Woh woh woh, harsh words my friend. Languages and Unix may be abysmal for your user-facing needs but they are awesome powertools in the right hands. Macs and GUIs and certainly Windows are regressions into simple, abstracted worlds created by people with the above-mentioned powertools. It's good to be close to the metal.

There will always be programming - programming and data and math will always be needed to direct, create and reason with the AI and robots and droids that we create. Just because a monkey can use a tablet, doesn't mean that no one needs to write software for the tablet.

Programming and CS-related work has changed from the cowboy heaven of the 80's and 90', but it's a great place to be if you work well that way, and many spectrum people do.


_________________
I swallowed a bug.


Chichikov
Veteran
Veteran

User avatar

Joined: 27 Mar 2016
Age: 46
Gender: Male
Posts: 1,151
Location: UK

29 Jun 2016, 4:49 pm

IHateNursing wrote:
First of all, thank you for your detailed response.

To clarify, though, you don't see the "skill" of programming/SW development being broken open whether by bundling code into libraries, self-writing code, or automating what were once complex functions, effectively making SW development accessible to Joe Blow? Kind of like how the gradual evolution from command line to GUI to literally point-and-drag screens reducing "the skill" of computer operation?

It removes the need to know how to do those things, but it simply replaces one skill with another. Someone invented the wheel, then as that was invented someone could spend their time on the cart, once that was invented someone could spend the time on suspension, once that was invented someone could spend time building a steam engine, once that was invented someone could spend time on the internal combustion engine...and so on and so on.

So I'd say that as time moves on what is achievable with less skill gets more impressive, but at the same time what is achievable with greater skill remains even more impressive. There will always be people making money at the lower end of the skill tree (people making cheap tablets, knock-off electronics etc) while the real innovators and skillful engineers are at the cutting edge designing VR sets, holographic displays etc. In 5 years time the people making cheap tablets today will be making cheap VR sets, and the people who are making VR today will be making hoverboards. So I see the industry as a sliding scale...it gets easier to do more things, but creating new things is just as challenging as it ever was.



IHateNursing
Emu Egg
Emu Egg

Joined: 26 Jun 2016
Gender: Male
Posts: 7

29 Jun 2016, 6:16 pm

Chichikov wrote:
IHateNursing wrote:
First of all, thank you for your detailed response.

To clarify, though, you don't see the "skill" of programming/SW development being broken open whether by bundling code into libraries, self-writing code, or automating what were once complex functions, effectively making SW development accessible to Joe Blow? Kind of like how the gradual evolution from command line to GUI to literally point-and-drag screens reducing "the skill" of computer operation?

It removes the need to know how to do those things, but it simply replaces one skill with another. Someone invented the wheel, then as that was invented someone could spend their time on the cart, once that was invented someone could spend the time on suspension, once that was invented someone could spend time building a steam engine, once that was invented someone could spend time on the internal combustion engine...and so on and so on.

So I'd say that as time moves on what is achievable with less skill gets more impressive, but at the same time what is achievable with greater skill remains even more impressive. There will always be people making money at the lower end of the skill tree (people making cheap tablets, knock-off electronics etc) while the real innovators and skillful engineers are at the cutting edge designing VR sets, holographic displays etc. In 5 years time the people making cheap tablets today will be making cheap VR sets, and the people who are making VR today will be making hoverboards. So I see the industry as a sliding scale...it gets easier to do more things, but creating new things is just as challenging as it ever was.


Thank you for submitting your opinion...

May I ask: what was your route to software development/programming? You mention you were an amateur that became a professional... how did your transformation occur?



Chichikov
Veteran
Veteran

User avatar

Joined: 27 Mar 2016
Age: 46
Gender: Male
Posts: 1,151
Location: UK

29 Jun 2016, 6:29 pm

I suppose computers was my first special interest. I always liked them from a young age, and when I got my own (an Amstrad CPC464) I started learning how to code BASIC, then moved on to assembler, then moved onto an Amiga but I did find that harder to code on so I mainly used it for games. Back then there was no internet to consult technical details or read how-tos, or ask questions on, you had the reference manual that came with it and that was all. There was the odd book on programming but in general it was much harder to get info on.

As I was interested in it, and had a knack for it, I went on to do Software Engineering at university. I wasn't actually all that academic at school, my grades were average, I only really excelled at things I was interested in....computers! So I enjoyed university and from there went on to get a job as a coder and I've been doing it ever since.

Of course back then these things were frustrating, especially my school performance. My parents assumed that because I could code I must be some kind of genius, but the reality is that I only excel in specific forms of intelligence. Now these things all make perfect sense, but I grew up undiagnosed, back there was no autism or Aspergers, just "underachievers", people who were "easily distracted" and people who "wasted their potential", all of which I was frequently labelled.



Scorpius14
Veteran
Veteran

Joined: 7 Sep 2014
Gender: Male
Posts: 519
Location: wrong universe

30 Jun 2016, 4:08 pm

Always been my dream to work alone in an office in a company like Google or Microsoft, or even in a team of 4 with a mind like mine but the penny didn't really drop for me in programming, sure I know how to do if statements and include what libraries I would be using but that's the extent of my knowledge.

I know theoretically how to make a complete playable game (albeit not a good one but good for a first stab at it) but I wouldn't have a clue what to do to make it happen, obviously I would plan it in stages like first I would write it in pseudo-code then decide what language to program with, take java for example I would make the main class first and call some functions that don't exist yet, so maybe thats my mistake in programming who knows, I just don't have the motivation nor knowledge to write complex programs or program at all. All in all I just given up on software development because although programming may be a hobby I can't progress into a career, no one wants a software engineer without a degree and basic programming skills.



v78d6s4nf8234
Tufted Titmouse
Tufted Titmouse

Joined: 30 Jun 2016
Gender: Male
Posts: 34

02 Jul 2016, 5:03 am

There are very little software development jobs where I live and companies would rather hire someone with more experience(fake or real) from overseas than a local graduate with a computer science degree.

Software development has become much more complex then it used to be. In job postings(especially in USA) candidates are required to have skills in a lot of programming languages and third party libraries.

A 15 - 20 years ago you could get a job by just knowing C++, Java, C#, VB and SQL. Nowadays to get a job as a programmer you would need to know a whole list of skills as well as have a lot of experience e.g. Java, J2EE, AngularJS, MVC, SQL, Spring, Javascript, JQuery, etc... with 5 years of experience.

I am guessing Artificial Intelligence would probably be used for testing software.