* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!

Links:

» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)

Moderators:

Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

The next generation of software developers

I went in to a school today (in Wiltshire, in the UK) and spoke to about 100 13-year old kids about careers in engineering in general and software engineering in particular. I asked them how many had ever done any programming. 1 stuck his hand up. I found that a bit surprising.

Given how widely available computers are, I thought quite a few of them would have at least had a play by 13. I had started programming by that age and computers were much harder to get hold of then. It seems the schools only teach them how to use software (Powerpoint etc), not how to create it. I know they can't spend a lot of time on programming at that age, but it seems a shame if they don't even try it.

Do kids do any programming at school where you live? At what age?
Andy Brice Send private email
Wednesday, February 20, 2013
 
 
Ps/ I know this is only tangentially related to BOS. But the supply of developers is a critical issue for software companies in the long term.
Andy Brice Send private email
Wednesday, February 20, 2013
 
 
My kids are 13 and 15 and I have tried to get them interested with no success at all. It's hard to compete with the unlimited supply of free iOs apps, or to explain the appeal of writing one yourself.  As far as I know, it's the same with all their friends.
GregT Send private email
Wednesday, February 20, 2013
 
 
PS you asked about school. Our high school is very proud of its 'digital immersion' program and I am not against it at all. But it's not about programming in any way shape or form. It is about blogging and using social media, Wikipedia, that kind of thing.

I would love to see someone run a 'Elements of Computing Systems' course for kids. That book is absolutely, completely and utterly amazing. It may be the single best book I have ever read. If you have not seen it, check it out on Amazon, or its web site, or there is a TED talk.
GregT Send private email
Wednesday, February 20, 2013
 
 
In my area, 13 years old roughly equates to 7th or 8th grade, which is middle school. Our local middle school doesn't have any programming classes, but our high school does. They have classes in VB.Net, Java, and I think a few other languages. Most of the material is dry and not much fun for the students. My son is in the Java class, and it's focused mostly on learning facts about the language rather than using it.
Nicholas Hebb Send private email
Wednesday, February 20, 2013
 
 
It's fine man. Those who are curious will find it.

Or H1Bs.
Bring back anon Send private email
Wednesday, February 20, 2013
 
 
When we were at their age, there weren't much to chew on a computer. You had to program because there were few tools or fun things to do with the computer if you didn't create something. Few games. Few content.

Now, you can spend years browsing the web and always finding new content, years playing games without getting tired, years playing with different devices. I imagine computers will be more and more like TV, cinema or magazines. Plenty of people enjoy it and only a few know what's involved or how do they create it. Hell, I can't even *imagine* how they create current games!

Probably in the future there will be fewer programs, we don't need a hundred file compacting utilities or a hundred ERP systems, and there will be fewer programmers.
Mauricio Macedo Send private email
Wednesday, February 20, 2013
 
 
I have tried to interest my son in programming with no success. 

When I started learning as a kid I had only an Apple ][ and a collection of Logo and BASIC books/magazines as my guides.  Kids these days have instantaneous access to a near-infinite amount of information, tutorials, etc., and a wide variety of platforms and languages to choose from.  So accessibility isn't the issue...  apparently the desire just isn't there. 

Maybe kids these days feel that if they can't sit down alone and code up something like facebook or their favorite FPS that it isn't worth their time?  Computing definitely had a more 'hobbyist' feel back when I got started, so maybe there is a difference in perceived 'fun' factor that I'm not appreciating.
James A. Send private email
Wednesday, February 20, 2013
 
 
Kids are smart. They get a tacit understanding from the culture and from direct observation about the esteem that certain kinds of work are held in. 

Also, IMO natural interest in programming has always been a fringe thing. When I was in that age group - 13 or so - and this was decades ago, pre-Apple, pre-Commodore PET - stuff like computer science was held in reverence - but there were very few kids back then who expressed any interest in computer science or programming.

Today, with the immersion of the world in technology, I am guessing that today's young people see programming as another type of plumbing. Directed by owners, a form of labor, fungible.

Kids are smart.
WannabeTycoon Send private email
Wednesday, February 20, 2013
 
 
I was programming at that age, first at school, then on my Sinclair Spectrum. It seemed new and exciting then and the teachers were also genuinely enthusiastic about it. Now it probably seems mundane and irrelevant to the kids and yet another headache for the teachers. ICT lessons seem to be given to teachers of other subjects, almost like a punishment, and the curriculum seems to be about learning to use Office. To be fair, that is probably useful to more people than learning how to code.

I think that things are changing so that the critical supply of developers is not really required. There are a number of startups working on ways to make most developers redundant, by allowing people to create their own software. I guess there will always be a need for people to create the infrastructure software, but the days of needing millions of developers for all those Enterprise line-of-business applications are nearly over.
Scorpio Send private email
Wednesday, February 20, 2013
 
 
This is one of the problems that the Raspberry PI was supposed to address: http://www.raspberrypi.org/

There doesn't appear to be any shortage of kids learning to program on that.
Andrew Gibson Send private email
Wednesday, February 20, 2013
 
 
>There are a number of startups working on ways to make most developers redundant, by allowing people to create their own software.

I've been hearing that every since I can remember. I didn't believe it then and I don't believe it now. Wasn't Cobol supposed to put all business programmers out of work?
Andy Brice Send private email
Wednesday, February 20, 2013
 
 
>This is one of the problems that the Raspberry PI was supposed to address

Laudable though the Rasberry Pi is, I think access to hardware is the least of the issues.
Andy Brice Send private email
Wednesday, February 20, 2013
 
 
>You had to program because there were few tools or fun things to do with the computer if you didn't create something. Few games. Few content.

That's true. I guess it also had more novelty. Computers are just necessary appliances for most people now - like a telephone or a TV.
Andy Brice Send private email
Wednesday, February 20, 2013
 
 
First, I'm not sure that if you had asked one hundred 13 year olds in Wiltshire, UK in 1983 how many had tried programming you would have got many more hands.  I can think back to those days and with the help of a yearbook indicate at least a 99 other kids I knew who probably never tried programming then either; there's my personal experience of 1 out of 100.  It's just not that attractive to most 13 year old children.

But then, others have probably rightly pointed out that times were different then.  If you'd asked me about whether I'd "programmed" back then I would have raised my hand, but what I would meant is I had made a really lame sprite graphic balloon that I typed in from some magazine or a even lamer Zork inspired mess.  All in BASIC, of course.

Today, "personal computing" is so massively advanced that to even bother with such lame-i-tude seems, well, lame.  If you want to *really* program, you have to face the overhwhelming glacier face of Objective C, Xcode, or GTK, or Ruby, or...agh!  What is all that stuff!!  AGGH!!!

Better to just text msg your friend, eat cookies, and secretly watch SpongeBob.
Racky Send private email
Wednesday, February 20, 2013
 
 
>You had to program because there were few tools or fun things to do with the computer if you didn't create something. Few games. Few content.

I started BASIC programming in the first grade on a C64, and while I started learning from a book at home, my public school also had computers.  I was never pushed into programming; BASIC was just one of the things I could play with on the computer. If I remember correctly, the school started with letting the kids play  games and learning about the computer, but they let kids who wanted to try programming do that as well.

Back then, we had a decent enough selection of games to play with, and remember: what it took to catch our attention back then was a lot simpler. I think the difference was that I wanted to create my own programs, so I chose to do that instead of playing the games. My younger sisters, had the same, if not more access to computers, but it was never something that interested them--they don't know anything about programming today.

So, just from my own personal experience, I feel like those who have an interest in creating software will try and seek it out, and most importantly, decide to spend the time on it. I don't think it's an access issue or a distraction issue. There is a lot more content, but there is also a lot more information on beginning programming as well--what you find is more of what you're looking for.
Jarrett Lee Send private email
Wednesday, February 20, 2013
 
 
I have younger kids than you guys and I have seen relative success while teaching them how to program using

http://scratch.mit.edu

This tool allows to create a simple game with sprites, voices, mouse and keyboard input in 2-3 hours.

As for fighting with distractions I allow my chieldren to play modern computer games for 30-60 minutes per week only, but they allowed to program using Scratch any free  time they want.

Together with my kids (they were 6 and 8) we made a dozen of old-style computer games.

And there are couple of games they created themselves without me. I am really proud of them.
MatrixFailure Send private email
Thursday, February 21, 2013
 
 
Andy: "I've been hearing that every since I can remember. I didn't believe it then and I don't believe it now. Wasn't Cobol supposed to put all business programmers out of work?"

Me too. Remember "The Last One"?

What's different now is that I've also seen these things in action in the real-world and it is impressive. For example, a small team of four mid-level business people design, build, roll-out and support a complex line of business application in a couple of months, with no input from anyone in IT. Or, two quite senior business managers who replaced an extremely expensive (six figures) HR system that they hated with a system that everyone loved in a week. They took a week's holiday together, built it at home, then presented it the following Monday in some kind of coup d'état. The list goes on and on.

I was sceptical too, at first, but having seen it in action, I can't help thinking that this is the future. These business people can build applications quicker than they can document them in a way that we can go and build them, so we are cut out of the game.

Oh and I don't know for sure, but I suspect that COBAL did put a lot of people out of work, people who created business software in machine code. They all had to adapt or die, as we have all had to several times over the decades.

That was just progress/evolution, call it what you will, but this is different. A disruptive paradigm shift, where things that were hard become trivial and things that were virtually impossible become viable.
Scorpio Send private email
Thursday, February 21, 2013
 
 
@MatrixFailure, Scratch looks interesting.

My son is 7, any advice on how to approach the teaching using Scratch?
B2B Send private email
Thursday, February 21, 2013
 
 
Scorpio, care to tell how the managers achieved that? What's the magic bullet?

My observation is actually the opposite, it became more difficult to create a working system these days due to increased complexity and expectations.

Yes, it is easier to create trivial systems today than it was 20 years ago due to better tooling available in some areas (arguably there are areas where the tooling is a lot worse today than it was 20 years ago. I'd pick Turbo Pascal/C++ for DOS development any day over Eclipse/Aptana/insert-your-favorite-tool-name PHP web development).

Anyway, we are not talking about trivial systems, are we?
B2B Send private email
Thursday, February 21, 2013
 
 
"care to tell how the managers achieved that? What's the magic bullet?"

My experience working with clients is it's difficult just getting them to communicate their requirements, most seem unable to express the business environment they work in every day. I have no fears of my career being made obsolete by end users.

On the other hand I think developers tools have a long way to go, I'm amazed we still edit so much text for what is regular configuration.
Tony Edgecombe Send private email
Thursday, February 21, 2013
 
 
>My son is 7, any advice on how to approach the teaching using Scratch?

I am helping to set up a CodeClub ( http://www.codeclub.org.uk/ ) at my local primary school, to give kids a taste of programming. CodeClub is initially based around Scratch. You could look at the syllabus for CodeClub.

I have had a quick look at Scratch. It comes with lots of examples. So your son could start by just modifying the a simple example game. That is what I am intended to start my 6 year old on.
Andy Brice Send private email
Thursday, February 21, 2013
 
 
My son has had fun with the "Programming with Scratch" book.

One of our local secondary schools has a computer club that focuses on programming, and I think they cover some programming in class if you choose the right options.

I believe they use Python, but they also use Scratch for some stuff, and have Raspberry PIs around too.
Anthony Williams Send private email
Thursday, February 21, 2013
 
 
B2B: "What's the magic bullet?"

You are correct, in that we're not talking about trivial systems. Rather complex systems that consist of hundreds, sometimes thousands, of screens, dozens of entities, dozens of reports, etc, and are used by hundreds of people every day. All created from scratch by business people, with no programming experience and no help from the usual developers, analysts, etc.

These people are doing our job, quicker and better than we could ever dream of. I liked to think that I was of those fabled "rockstar developers", especially as I understood several business domains, but compared to these guys I was like some kind of trainee.
Scorpio Send private email
Thursday, February 21, 2013
 
 
Tony Edgecombe: "...difficult just getting them to communicate their requirements, ..."

That's the point, the "impedance mismatch" that is talked about and the reason the old way of doing things won't work any more.

IT people and business people don't communicate well for some reason, so there is always the issue of explaining what is required in numerous tedious documents that drone on and on about how the new system should work. Everyone hates it, but it has been forced upon us, as IT people don't understand business and business people can't describe to us what they need.

For a long time, effort was put into getting IT people to better understand business, e.g. Business Analysts, etc, but that never really worked, as far as I can see, and just created another unhelpful interface layer.

Looking back now, it is all so obvious.

The solution isn't to make IT people understand business, it it to help business people with IT. Not turning them into developers and giving the Visual Studio, but giving them tools that they can relate to and a way of working together to create their own applications.

You say you have no fear, as "...most seem unable to express the business environment they work in...", but they can express it among themselves. New people join teams all the time and fit right in, so it isn't like it is rocket science.

Like you, I was sceptical at first. I thought it was ludicrous and would never work. That was my hubris, but I've seen it work and now I'm a believer.
Scorpio Send private email
Thursday, February 21, 2013
 
 
Sounds interesting. What tools are you seeing them use Scorpio? Are we talking SalesForce.com or something less talked about?
Jonathan Matthews Send private email
Thursday, February 21, 2013
 
 
Something less talked about, but much more sophisticated than salesforce.com, which is stuck in the 1990's when it was designed.
Scorpio Send private email
Thursday, February 21, 2013
 
 
In my area, I find most kids of that age wasting their time in tv, facebook & whatsapp. It is hard to see people interested in programming.
Gautam Jain Send private email
Thursday, February 21, 2013
 
 
B2B:

It is really easy and fun!

Let your son do simple things, like to make sprites smaller /larger, then show how to make sprite move forward, then explain what coordinate system is (x, y)
After that you can make a sprite that runs after mouse cursor.
E.t.c.
Try to make kind of Breakout (Arcanoid) game.

I think I can post later  a link to some of our games so you will get the idea.
MatrixFailure Send private email
Thursday, February 21, 2013
 
 
I forgot to mention:

I also tried to get my kids interested in Code Academy, but I later decided it is appealing to neither young neophytes like them (not interesting enough) or old codgers like me (too simplistic). I also had lots of problems getting their 'automated grader' to work properly, and finally gave up.

Coursera, on the other hand, is completely awesome. Well, at least, the one course I have taken so far, still taking, actually, which is 'Programming Languages'. I am blown away by good a job they have done. Udacity ain't no slouch either, though their approach is very different and I prefer Coursera's so far. Both are biased towards IT, but definitely NOT limited to IT topics.

Anyway, a bit OT, but if you have the faintest glimmer of interest in the world outside of Storage Wars, I'd seriously suggest checking these guys out.

I have no interest in either company other than as a happy customer.
GregT Send private email
Thursday, February 21, 2013
 
 
+35 on Scratch. Taught my daughter to do it and she went to town.

Also, one of the lego robot kits is probably appropriate for 10+
Bring back anon Send private email
Thursday, February 21, 2013
 
 
The programs I have seen at schools are worse than nothing.

Trying to get kids interested in programming who have no aptitude or interest is a mistake, IMO. We need fewer programmers, not more. The average skill and motivation level of college graduates is exceptionally poor, polluting the talent pool and creating a market for lemons that creates lower salaries than we should be seeing. (Average for competent people should be $240k not $80-120k.)

Due to attempts to draw untalented people into computer programs, the programs themselves have had to be dumbed down.

The whole thing is dysfunctional.

The only comment here I agree with is Anon's "Those who are curious will find it."

Over on the MOOC sites the programming classes have lots and lots of kids 8-12 years old taking them and doing well.

Leave those kids alone, don't ban them, don't try to count or control them, just let them do their thing. Once you try to regulate kid access to MOOCs you'll screw everything up. Idiots can't resist screwing things up, so the destruction of MOOCs by regulation is probably inevitable, there are articles every day attacking them now.

As far as all the toy languages for teaching programming, 100% of them suck and should not be recommended.

You know what 8 year olds are doing right now in  your city? They are writing mods for Minecraft in Java.

You don't know about this because they don't care about any of you. Your stuff is boring and if you tried to  reach out and teach these kids all you'd do is turn them off from programming.
Scott Send private email
Thursday, February 21, 2013
 
 
Also, I can guarantee the teachers of these kids have no idea what they are doing at home. Many of the kids are doing badly in elementary school and are considered discipline problems. Many have been kicked out of their schools because they get antsy and their parents refuse to drug them with amphetamines to cure a fake disease that doesn't exist and whose "treatment" with methamphetamine causes permanent brain damage. Some of these kids are being homeschooled or unschooled. Quite a few are selling or giving away their own software games online already.

The schools in the pursuit of age-aligned egalitarianism in the style of Harrison Bergeron, bore the smart and creative kids out of their minds. Any kid that goes in to school and tells the teacher he has his own online business or is writing Java mods is going to be punished by the teacher for being uppity. He will be given endless reams of tedious dull busy work to "teach him to get used to the work world where everything is not fun and games."

Teachers in schools these days (in the US) are very stupid people and hate smart people. They complain to their coworkers about the smart kids and devise ways to punish them.

Look into the stats on entrants to Master Education students - they are the lowest GRE scoring of all graduate degrees. That means they are the most stupid. It's a fact.
Scott Send private email
Thursday, February 21, 2013
 
 
Scott, that's an excellent insight regarding Minecraft. How many of us got started in coding trying to hack a game? I know I did (some kind of hex edit of NHL 92...)
Bring back anon Send private email
Thursday, February 21, 2013
 
 
Me too. My first software business was selling a program called "The Hacker" that could be used to disassemble and modify games on the Sinclair Spectrum, back in the 80's.

Playing games is fun. Re-writing them while they're in memory if really fun ;-)
Scorpio Send private email
Thursday, February 21, 2013
 
 
"is really fun" Doh!
Scorpio Send private email
Thursday, February 21, 2013
 
 
Yeah, it's pretty amazing. I'd never have thought to recommend Java compiling into a desktop application as an appropriate route for small children to learn programming, but it's going on of its own accord. Since they start with a working program, it's a lot more accessible and requires less total understanding than starting with a blank file. There are scripts that not only decompile the obfuscated java, but diff patch in comments and variable names that the crowd has reverse engineered. So kids can poke around and make random changes and see what happens, and something happens. That is exciting and is a new level of controlling and playing the game. Minecraft already has digital gate level programming in it anyway with redstone circuits, and people write scripts to hack maps, so actually patching the code isn't even a big leap for people who are into it... even if they never programmed before.

And of course Notch's next game has a virtual 16 bit microprocessor in it running your spaceship that you have to learn how to program in order to advance in the game - by tweaking your ship's engines to be more efficient, run autonavigation, play PacMan or Tetris you wrote yourself on the ship computer, etc. You can imagine what a game with this sort of gameplay requirements will do to the level of programming skills among kids.

The mods that more advanced players develop are entire new games unto themselves. There's knights vs. aliens mods. There's dinosaur DNA sequencing mods. There's nuclear reactor mods. There's windmill mods. It goes on and on. Being easily able to decompile and recompile the program is creating young programmers all over the place.

It seems amazing, but then again, like you guys mention, back when I was that age I was looking at printouts of disassembled cartridge game machine code with a processor manual I had snagged from somewhere, annotating it, and figuring game tweaks, new methods, and puzzling over the dark art of undocumented opcodes with strange side effects/hardware bugs that could be exploited for fun.

For the kids who are into taking things apart and putting them together, they just need access to tools and time left to themselves.
Scott Send private email
Thursday, February 21, 2013
 
 
"Laudable though the Rasberry Pi is, I think access to hardware is the least of the issues. "
Exactly.  Pi is going to have zero impact on getting premature adults interested in programming.

This is a huge topic, and coming late to this thread, I'm amazed at the posts here, there is some brilliant stuff here.  I too got involved with CS in the early eighties, because it seemed like the next big thing, only to drop out to go into a career of soft skills.  The typical  mindset has changed and frankly, young adults today don't have enough of an attention span to be bright, mathematical programmers.  Not that we need mathematical programmers anymore, as Scorpio points out.  What we need are tradesman programmers, people who can use tools to solve well-defined problems. 

There is still a shortage of people who can properly define business problems, but as I look at it, that has been a problem since the beginning of the Industrial Revolution.  What we need are craftsmen, not technicians, but that's a societal problem with a much large scope than the world of information technology.  It's like the aviation or automotive industries, which started with individual innovators but ended up with platoons of engineers performing carefully mapped roles.

Tell your children to find a trade that they find personally satisfying, that they can develop an exceptional skill set for.  That may be computer programming, but it might be plumbing or teaching.  Just don't let them become economists or psychologists.
Howard Ness Send private email
Friday, February 22, 2013
 
 
Psychologists make a fortune, though.  More than any coder.  I know people who pay $350 per one-hour visit per week, 52 weeks a year.  Multiply that by 8 visitors a day, and that's $1.01 million per year just for talking to 8 people for one hour per day.  Not bad.
Harry Phace Send private email
Friday, February 22, 2013
 
 
This thread is bringing back a load of good memories from when I was a kid, especially what Scott mentioned about exploiting undocumented opcodes.

I was a real hacker back then, taking games apart and re-building them how I wanted. I wrote a series of magazine articles on machine code/assembler/game-hacking and even got fan mail, via the magazine. Pretty exciting stuff for a kid in high school.

The crucial difference was that we were encouraged in our exploits by our teachers, who shared our excitement and sense of discovery. It is hard to see how that can happen now, as teaching is all about crowd-control and not getting sued these days and less about learning and discovery.

I am encouraged by what Scott says about these kids doing their own thing though. Doing something different to everyone else is the only way to innovate, so ditching school "coding" class to hack something interesting yourself should always be encouraged.
Scorpio Send private email
Friday, February 22, 2013
 
 
>Not that we need mathematical programmers anymore, as Scorpio points out.  What we need are tradesman programmers, people who can use tools to solve well-defined problems. 

That might be true for basic line-of-business CRUD apps. But there are plenty of areas where lots of skills and innovation is needed. I don't see that changing.
Andy Brice Send private email
Friday, February 22, 2013
 
 
>Psychologists make a fortune, though.  More than any coder.  I know people who pay $350 per one-hour visit per week, 52 weeks a year.

I think you are talking psychiatrists, not psychologists.
Andy Brice Send private email
Friday, February 22, 2013
 
 
Andy: "That might be true for basic line-of-business CRUD apps. But there are plenty of areas where lots of skills and innovation is needed. I don't see that changing. "

I'm not talking about basic CRUD applications above, although I agree that there are plenty free solutions for this kind of trivial app.

If you can think of any classes of Enterprise application that can't be built quicker, easier and more cheaply using something like I've described above, please let me know. Obviously, I don't mean Office, network software or RDBMS, but applications that business users use to get their job done that they would traditionally hire teams of developers to build.

Looking back over my thirty year career, there are literally no examples of projects I've seen which would have to be done in the traditional way now.

Of course, YMMV and IMHO, but to me things are changing.
Scorpio Send private email
Friday, February 22, 2013
 
 
Scorpio, obviously there is a class of problems that can be solved by "managers". I have seen some very clever Excel sheets and Access-based enterprise systems done by non-IT people.

However there is still a much larger class of problems that require proper IT knowledge and experience.
B2B Send private email
Friday, February 22, 2013
 
 
B2B: Such as...
Scorpio Send private email
Friday, February 22, 2013
 
 
> Multiply that by 8 visitors a day, and that's $1.01 million per year just for talking to 8 people for one hour per day.  Not bad.

Err, being a psychologist is a heavily taxing career. You cannot talk to 8 people a day for 50 weeks a year. It's just not possible.

I would say it's more like programmers where you can expect 4 good hours a day, 6 if you're lucky.
Bring back anon Send private email
Friday, February 22, 2013
 
 
+1 to Bring back anon.

There's also the non-chargeable hours, doing paperwork, consulting on patients, etc, etc, which adds up.
Scorpio Send private email
Friday, February 22, 2013
 
 
Scorpio, such as for example (a few from my past and current jobs that come to my mind now):

...implement an optimizing compiler for a new language;

...write firmware for a new hardware designed by a fellow hardware engineer;

...code image processing algorithms in assembly language for multi-core CPU for a system that needed the speed;

...implement a PC driver for a specialized optical mark scanner.

I am sure there are a lot of people on this board who can add to this list.

No, these are not enterprise applications. I agree that a lot of THAT kind of applications these days can be implemented by non-IT people. It does not mean developers can be replaced by managers.
B2B Send private email
Friday, February 22, 2013
 
 
@B2B
I never said that all developers can be replaced by managers, but I'm glad you agree that enterprise applications, which is what I was talking about, can be done by non-IT people.

As you say, the examples you gave are not enterprise applications, and I'd never make any claim on how they might be implemented.
Scorpio Send private email
Friday, February 22, 2013
 
 
@Scorpio:

So, "Entries of Confusion" finally made it a product, and you've seen it in action? Unfortunately your descriptions are just as vague as his' 5 and a half years ago...

http://discuss.joelonsoftware.com/default.asp?biz.5.540754.46
Secure Send private email
Friday, February 22, 2013
 
 
Secure: Yes, "Entries of Confusion", I seem to remember that Don Dodge (of MSFT, now GOOG) liked that name and what he wrote.
Scorpio Send private email
Saturday, February 23, 2013
 
 
This whole thread has been a fantastic trip down memory lane.

Thanks guys ;-)
Scorpio Send private email
Saturday, February 23, 2013
 
 
"I never said that all developers can be replaced by managers"
Don't forget that the role of the developer is changing to that of a tradesman who performs the task he or she is contracted to do by a manager, instead of performing any kind of management role themselves.  The days when a programmer had any input into business strategy (or could provide any kind of competitive advantage) are long gone.

"...write firmware for a new hardware designed by a fellow hardware engineer;"
Not my domain, but I know some who is definitely not a programmer using QNX to control production hardware on a mega scale resource extraction project.  Never mind contracting this work out to IT sweat shops.

"No, these are not enterprise applications"
Well they definitely aren't consumer facing applications.  If your project involves the waterworks for NYC or Tokyo, you will hire a few civil and environmental engineers,  but the Grand Poobah Project Manager probably can't fix a leaking tap.  The actual work of installing pipes and valves will be done by the lowest trade classification allowed by local labour standards.  At least a programmer doesn't have to work outdoors in a wet, dirty environment.
Howard Ness Send private email
Saturday, February 23, 2013
 
 
"5 and a half years ago..."
I'm quoting you out of context, but the IT industry changed forever almost 13 years ago.  If you looked at global IT budgets, they fell off a cliff once all the Y2K contracts were completed.  Never again would business managers look at IT spending as an investment.  At the turn of the century we had PDAs and smartphones.  We had web apps and runtime languages.  Even MPEG-4 version 1 was released in 2001.  NHK had 1125 line HDTV in 1972!  Nintendo 64 with a 64 bit CPU came out in 1997.  In the past 10 years, the only growth in IT has come from personal computing devices, and that market is fast approaching saturation.  From 35,000 feet, IT is a dying industry.
Howard Ness Send private email
Saturday, February 23, 2013
 
 
+1 to Howard for interesting perspective.

A lot of Developer jobs have been commoditised by race-to-the-bottom outsourcing. That ship has sailed.

What I'm talking about is democratisation, in that anyone can do it, rather than commoditisation. A subtle but important distinction, as at least it makes people more valuable and the talent and employment remains onshore, even if in a reduced capacity.

As an aside, I was talking to my brother-in-law the other day and we were trying to come up with a professional job for our kids that wasn't susceptible to either outsourcing or replacement by robot/IT system. The list was short, i.e. empty. End of aside.
Scorpio Send private email
Saturday, February 23, 2013
 
 
The latest attempt to solve the problem:

http://code.org
Dmitry Leskov Send private email
Wednesday, February 27, 2013
 
 
Yes, code.org is an example of the democratisation process I've been talking about.

The truth is that pretty much anyone can do it, if you make it approachable.
Scorpio Send private email
Wednesday, February 27, 2013
 
 
Like Scorpio and Scott, this brought back a lot of memories. Just like Scorpio, I used to sit documenting bits of Z80 assembler on paper from memory dumps on my ZX Spectrum, trying to see exactly how things worked, like how to make sound by setting a bit on a port and waiting the right length for the appropriate frequency. I've a got a complete reverse engineered disassembly of the Technician Ted loader somewhere on disk, as I remember doing it something I considered technically impossible (but obviously wasn't).

What motivated me about this all those years ago, as I think was touched upon upthread, is that games were exciting, they were relatively simple, and it was reasonably straightforward to dissect them to see how they work and change them. More specifically, the Spectrum had very little in the way of APIs and IO. You had a ULA memory mapped display, a few bits for the keyboard and audio in, a bit for the speaker and border colour, and that was kind of it.

Perhaps teachers were excited at school when micros first appeared c. 1981 and everyone (or it seems everyone) learned to program in BASIC, but I don't think anyone else went as far as machine code, at least to the level that I did.

Where I see similar parallels today are with kids doing programming on Wikipedia, writing advanced templates with control logic or bots like Cluebot NG. Again, they're starting with something popular and established, figuring out how it works, and adding to it. You just can't do that with a blank canvas. That's where I'd be looking for new developers.
Ritchie Swann Send private email
Thursday, February 28, 2013
 
 
The ZX Spectrum was a great piece of hardware and I remember doing some pretty col stuff with it, like increasing the colour resolution by swapping the display memory on the 50Hz interrupt. You had to be very precise in your code, so that you'd swap the the colours during the horizontal refresh. Lots of NOPs to pad it out by a microsecond at a time.

One of my other favourite tricks was animating the screen while loading games from the cassette drive. Again, it relied on precise timing to get  work done between the on/off signals at the port.

It was also very easy to add hardware to it. I had a couple of disc-drives and a printer, plus some memory expansion packs (RAM & ROM). I burned my assembler and hacker toolkit into an EPROM, so that I could use it without taking up memory.

Memories...
Scorpio Send private email
Thursday, February 28, 2013
 
 
The tape system was actually quite forgiving, since it read in a bit based on a particular frequency pattern over a set time (1 being a relative octave higher than 0), so you could grab the available T-states between pulse edges to do other stuff. I guess it was doing this way to cope with the variation in speed across domestic cassette recorders.

Sorry, this is going off topic a bit....
Ritchie Swann Send private email
Thursday, February 28, 2013
 
 
It measured the time the signal was "on", so it'd be on for 1t or 2t, where t was some short amount of time (I think it was based on 1500 bits per second).

So, if you could do everything you needed to within 1t, then wait for the next off-to-on transition, you'd be fine.
Scorpio Send private email
Thursday, February 28, 2013
 
 
I went to my local primary school today and talked to 10 year olds about programming and an after school Code Club (http://www.codeclub.org.uk/) we are setting up. We also showed them a little short video about Scratch. When I asked them how many wanted to join Code Club, about 40 out of 60 put their hands up.  So there is hope yet. ;0)
Andy Brice Send private email
Thursday, February 28, 2013
 
 
That is great Andy.

Scratch looks very interesting and reminds me of something similar in the 80's, but I can't remember what it was called now. A good way to introduce the concepts of loops and conditionals, etc without getting bogged down in syntax.

...

Quick google yields Logo was what I was thinking of, from the old days.
Scorpio Send private email
Thursday, February 28, 2013
 
 
That sounds great. Nevertheless, I do feel that some people just become developers spontaneously by tweaking around with stuff. Every teenager can access Facebook and Wikipedia, and they do, and if fiddling around with template syntax or intricate JavaScript means they can do cool things, they will.
Ritchie Swann Send private email
Friday, March 01, 2013
 
 
It is hard to get started without access to a computer, programming environment and a knowledgeable person to talk to. We are not out to teach them programming. We are just giving the opportunity to play around with computers that they might not get otherwise.
Andy Brice Send private email
Friday, March 01, 2013
 
 
Isn't part of the problem that most of the problems they want solved are already solved? There is no motivation for them to learn.

What problems do children want solved? Games to play. Mostly.

If I think back to why I got into computers it was when we moved house. We moved to near an inland seaside resort (if you'll forgive the  impossibility of such a thing). I got exposed to video games right at the start of the Space Invader thing. A friend told me home computers could do that. I wanted one.

And then you couldn't stop me. I was motivated.

But that said, there was only one other guy at school who was also into computers like I was (and he is also still in the industry now). Everyone else wasn't.
Stephen Kellett Send private email
Sunday, March 17, 2013
 
 
Yes, games certainly played a large part in my early programming career. Not just writing games, but more interesting for me, hacking them to see how they worked and even changing them to make them better, while they were running.

It wasn't a traditional CompSci education, but I learned a whole lot of useful stuff that has stood me well for decades and allowed me to live a lazy life (lazy as in working from home, picking projects I'm interested in, not watching daytime TV and living off benefits).
Scorpio Send private email
Monday, March 18, 2013
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz