Fog Creek Software
Discussion Board




I'm scared.

A friend of mine - engineer, no software training - asked me to take a look at some software he'd written and wants to sell on the internet.

"Oh really", I thought.  "Now how am I going to break the bad news gently." How wrong I was.

The thing is, he's engineered himself a complete product. The whole thing. The software is robust, it has a nice installer, nice interface, a database, it updates itself over the web, has a built in licensing & registration engine. There is a website to support it which works well and looks nice with flash intro. The whole thing has been assembled using off the shelf components and utilities from the internet, either open source or inexpensive packages. Even the software itself is assembled using a semi-scripting language.

This is scary. Is this the future ? Is it time for a career re-evaluation ?

WoodenTongue
Tuesday, August 31, 2004

"Be not afraid."

Bill C.
Tuesday, August 31, 2004

Look, soon you need 2 phd to work for mcdonalds, what do you expect?


Tuesday, August 31, 2004

That is why I became a web application developer instead of a Windows application developer :-)

Seriously, though, I do believe more things are moving that way. As the web becomes more capable of handling rich media and user interfaces (through Flash, DHTML, etc) then it will start to take over some traditionally client-based applications.

But I also think that there will always be a place for Windows software development, as there are certain applications which just wouldn't be practical on the Internet in the foreseeable future.

James U-S
Tuesday, August 31, 2004

I damn well hope so. I'm sick of writing basically the same thing time and time again.


Tuesday, August 31, 2004

Wow, people really have lost faith in humanity...

(1)

"I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)" -- Linus Torvalds

No comment.

(2)

http://www.skyos.org/

"The team currently consists of Robert Szeleney (Chief Software Architect), Kelly Rush (Head of Operations), as well as a few other software and graphics developers." (from the Wikipedia entry on SkyOS)

(3)

http://syllable.org/

Syllable is a fork from AtheOS (http://www.atheos.cx/), which was in turn "created entirely by a Norwegian programmer, Kurt Skauen, from 1994 to the early 2000s." (from the Wikipedia entry on AtheOS)

(Premature) conclusion:

What will really scare the heck out of me is when these projects stop. Projects like OpenBeOS (now known as Haiku) are what really makes one feel at awe at what only a few people can do with a compiler. And these are just a few examples from the operating systems world.

Vladimir Gritsenko
Tuesday, August 31, 2004

Vladimir: OT, but Haiku isn't so popular everywhere:

http://www.osnews.com/story.php?news_id=8114

i like i
Tuesday, August 31, 2004

James U-S said "That is why I became a web application developer instead of a Windows application developer :-)"

This *was* a Windows application, old bean, that's what's so scary.

WoodenTongue
Tuesday, August 31, 2004

"Popularity? We don't need no stinkin' popularity."

And no functioning code either. Well, it doesn't always go as planned...

Vladimir Gritsenko
Tuesday, August 31, 2004

+++This *was* a Windows application, old bean, that's what's so scary. ++

I think that was his point, TongueBoy.  Us Web developers seem to have a mite more job security than you Windows fellers, these days.

muppet
Tuesday, August 31, 2004

Are you sure? I agree with Joel on this one. Finding Java/ASP/PHP developers isn't that hard, but someone who knows his ATL/WTL/MFC/COM isn't simple. I have friends who've been developing in Java/ABAP/Perl and the only thing they know about pointers is that it's something C has.

Ogami Itto
Tuesday, August 31, 2004

We do both actually, your muppetness.

Abstraction-abstraction-abstraction: the whole issue here is that you don't need to know about pointers, etc, if third parties take care of all the hard stuff for you. If I buy an LED from a catalogue, I don't have to worry about how it works, I just solder it down.

I don't see how web developers are immune.

WoodenTongue
Tuesday, August 31, 2004

Pointers aren't the all-important things that you Windows developers like to believe they are.  They're your security blanket.  Sorry, but there's plenty of robust (and fast!) apps these days in Java, where there are no C style pointers.  I've even seen a handful of enterprise Java apps that were slick and fast.

You're right.  PHP and Java programmers are a dime a dozen.  SKILLED PHP and Java programmers, that's another matter.  Higher level languages have a lower barrier to entry, so the market gets flooded with "programmers" who can use them, but there is still quite a bit of complexity in coding those languages *properly*.

Because C has a higher barrier to entry, you get a higher ratio of skilled programmers.  This does not make C a superior language, it makes it a more difficult one.

muppet
Tuesday, August 31, 2004

Tonguey -

Web developers aren't immune, but we've been using those high level tools for years, and could slide right into something like the scenario you describe above, if we wanted to.  There'd still be a market for people who can do it WELL.

I'd like to see a dedicated C programmer write something competent in Perl or Java.  That would be fun to watch.

muppet
Tuesday, August 31, 2004

Steve Jobs & Wozniack built a computer with Radio Shack parts out of high school.  It's nothing new that Engineers might know/learn more about how to built systems than computer scientists... as I have pointed out a billion times, Computer Science is too new to teach the kinds of problem-solving that engineering teaches, and you can have lots of i.t. experience and not know a thing about how to solve software engineering problems.

devinmoore.com
Tuesday, August 31, 2004

"as I have pointed out a billion times"

I've told you a quadrillion times not to exaggerate.

Neil Hewitt
Tuesday, August 31, 2004

Tell me Neil, how would you store a value of one quadrillion in a series of non-sequential bytes in RAM, and how would you retrieve that value both forwards and backwards while using ASM to play "Yankee Doodle" out the PC speaker?  How would you address performance concerns?

muppet
Tuesday, August 31, 2004

The take away here is that engineering training trumps CS.

Engineering (as I know it) emphasises current cost accounting, ROI, make or buy, innovation, exploitation and efficiency decisions, all upfront facing the market. (I am ignoring natural tax-subsidised monopolies here such as the US Army Corps of Engineers, old British Rail, CSIRO, NASA, LLL, Northrop, French tobacco, Italian oil, KBR or anything Chinese.)

So what? CS shares all of these traits except perhaps the first as 1) software development tends to occupy a shorter time axis where money can be regarded as constant and 2) I've never noticed CCA offered in a CS curriculum.

As the hard problems get solved and competition identifies  winning systems (though maybe not the best), smarties from all disciplines will reach in and run with your low hanging fruit.  So make sure you charge the going rate.

I liked the LED analogy (mentioned above) but what it missed is that the LED does not get soldered down (incurring cost per) in software, it's figuratively plopped into a prototyping breadboard and used FOREVER for no incremental cost once it's noticed and exploited.

Every time someone stitches together something new from the materials to hand it shows that innovation and evolution is working. This has been going on for millions of years. (Sorry if I've just lost those who cannot count back that far or rely on hidden or special powers).

Your defence? Use your innate talent and special understanding of the field to leapfrog parvenus and stay ahead. Life is an extended lottery. Or go take an engineering degree. And welcome to the real world.

(whoops, must go - unassembled Nobel-winning software alert to turn off)

trollop
Tuesday, August 31, 2004

this has been happening for years! the thing is that with that being more Open Source software, there provides more of an opportunity for stuff like this to happen.

heck, i was looking at Microsoft Patterns and Practices site last night, looking at some of their applications blocks that i plan on using.

i think the key is that you need to be specialized and acquire a specific domain knowledge.

Patrick
Tuesday, August 31, 2004

Well the subtext of my original post was that software development seems to be reaching the point where any competently trained engineer can pick the elements off the rack and build a solution without understanding the deep intricacies of software development.

WoodenTongue
Tuesday, August 31, 2004

Natural selection. It's simple as that.


Tuesday, August 31, 2004

It's not as though no one saw that coming.

muppet
Tuesday, August 31, 2004

Your muppetliciousness: we have lots of people do C and PERL. They also do Java from time to time.

No-one is that dedicated. Well actually, maybe a couple out the back in their special cages.

WoodenTongue
Tuesday, August 31, 2004

>Use your innate talent and special understanding of
>the field to leapfrog parvenus and stay ahead. Life is
>an extended lottery. Or go take an engineering degree.
>And welcome to the real world.

This "engineer" worship is hilarious.

I can go to parallaxinc.com and buy some basic components to easily make a nice-looking remote-controlled car that can sing and send you email over 802.11b.  Do you think that a decent electronic engineer ought to be scared?

Kalani
Tuesday, August 31, 2004

The whole Engineers v CS argument has already taken up many threads. So lets start it again: engineers make comp-sci noodling work.

WoodenTongue
Tuesday, August 31, 2004

Engineers make bridges that fall down.  I code liquid charisma.

muppet
Tuesday, August 31, 2004

I'm glad I wasn't drinking when I read that.

Simon Lucy
Tuesday, August 31, 2004

"Engineers make bridges that fall down.  I code liquid charisma."

Best. Muppet. Ever.

Captain McFly
Tuesday, August 31, 2004

Pretend I googled a quote that said, "These 'programming languages' will commoditize us and take our jobs. Releasing our work for free... these programming language developers are putting us all out of business and they're too stupid to see it!"

Remember when there were hundreds of fear-driven threads every stupid day about how these demonic Indians were taking our jobs? Fifty years ago we'd also be complaining they were taking our women, like some sort of cattle-thieves. Well guys, I know nowadays there are hundreds of threads apologizing to Indians for calling them "curries," but could we somehow cut back on them...?

Tayssir John Gabbour
Tuesday, August 31, 2004

Er, we have a divergence here - and a convergence.

Engineers (this side of the planet) understand, synthesise and exploit whatever they find. It's probably true around you. Whether chemical, legal or structural - it's grist.

What is missing in CS is accreditation and barriers to entry.
Medical, legal, phamacutical, architectural (here and there), taxi-driving, nursing, teaching, garbage collection and guilds of all sorts reserve turf for their constituents.

I don't see this in CS.

I see conditions whiteanted by expedient immigration, outsourcing and gamesmanship.

I'd like to see a professional society welcome to all, cognizant of conditions and able to gain the ear of government. Our local placeholder seems more preoccupied with status rather than influence.

Where do I sign?

trollop
Tuesday, August 31, 2004

that liquid charisma thing. google thinks it's not that original.


Tuesday, August 31, 2004

what is?

muppet
Tuesday, August 31, 2004

Nothing to be all that scared about. Your friend is a quasi-self-taught software engineer. (I would imagine he got some formal software training in engineering school)

If he managed to do all that on his own then he's quite talented and has the sense to integrate readily available components rather than waste a lot of time rolling his own. (i.e.; focus on objective)

Think of it as a positive learning opportunity. Most of my learning experiences have been negative (i.e.; cleaning up other people's messes.).

Tom

Tom
Tuesday, August 31, 2004

"If he managed to do all that on his own then he's quite talented and has the sense to integrate readily available components rather than waste a lot of time rolling his own. (i.e.; focus on objective)"

Sure. He had an idea for a product and went and did it in a very focused way. What impressed me most was that having shown some technical acumen in getting it all together, he didn't get seduced by the need to write perfect code or lots of whizzy extra screens.

I told him to forget about the product itself, he should make money selling his approach & facilitate it for others.

WoodenTongue
Tuesday, August 31, 2004

So now we have two fronts opening up. Professionals offshore who are cheaper than us and flatpack developers writing their own killer apps.

hey . . . flatpack software . . . did I just invent some jargon ?

WoodenTongue
Tuesday, August 31, 2004

How much money has he made sellling this software?

I'll bet the answer is zero.

If he did all that, *and* can sell it.  Then you should worry.

LH
Tuesday, August 31, 2004

Without wanting to merge every thread that has ever been on this forum, one of his questions was 'I did this on my own time using my own resources, am I ok to sell it to my employer ?'

I said 'of course' but what I should actually have said was 'stand aside, let *me* sell it to your employer.' I guess I don't have the killer instinct, perhaps I should be worried about *that*.

WoodenTongue
Tuesday, August 31, 2004

I misread the OP as a web-based software package written in ASP or PHP or something.

As you said it is a Windows application I think you've got even less to worry about :-) As others have said, your friend is just particularly talented. The vast majority of people couldn't produce anything like that. Sure, better education and accessibility is helping to open up the field of software development to a wider group of people but in general the field will still be small, and the number of people producing the kind of thing you describe will be tiny. I would fear open source more than that.

James U-S
Tuesday, August 31, 2004

Yeah, surely one has to be a genius to read his documentation and consult mailing lists.

Vladimir Gritsenko
Tuesday, August 31, 2004


> The vast majority of people couldn't produce anything like
> that. Sure, better education and accessibility is helping to
> open up the field of software development to a wider group
> of people but in general the field will still be small, and the
> number of people producing the kind of thing you describe
> will be tiny. I would fear open source more than that.

James U-S,


You sound awfully self confident that there are very few people who can do this sorta thing...

Well, let me ask you something: How many "Bill Gates"es or "Michael Dell"s or "Andy Grove"s does it take to change the way we do business and/or change the world? 

Think about that!

Does this mean we need to fear change?  That's a completely different question. People fear what they don't know. It's a primal instinct.

Maybe it is time for the OP to look at what's happening around himself and adapt to the changing world... Or maybe he is not even directly involved with software development. In that case, there is nothing to worry about anyway.  :)

just me and myself and I
Tuesday, August 31, 2004

I think that there are a lot of people who are highly skilled in one area, but to find somebody with the skills to make a great product, market it, sell it and support it on their own is, IMO, fairly rare.

Perhaps others disagree?

James U-S
Tuesday, August 31, 2004

Didn't EE turned Software engineer used to be the norm?

My old man got a BSEE in the 60s, then became a software engineer in '79, partly because that's where software engineers came from back then, and partly because he had bought a TRS-80 earlier that year and started learning BASIC and Z80 assembly.  He ended up writing code for the Minuteman missile and later the F-16 (which used a Z80, btw).  He also had a co-worker in his shop (no college, no degree) who was known for being extremely talented, who went to work in '82 or '83 for a little company outside Seattle that made DOS for the IBM PC at the time.

OffMyMeds
Tuesday, August 31, 2004

"Is this the future ?"

Uh...Visual Basic, RAD, early-to-mid '90s...anyone?

Nope.  This is the past.  You're livin' in it. :)

Are you forgetting that easy technologies let people build more, not less?  They don't marginalize good programmers, they increase the scope and size of the systems they can build.

These technologies _increase_ the value of individuals to businesses.

indeed
Tuesday, August 31, 2004

I think it's the lot of programmers to overthink how they're going to be employable and create value in the near future.

Back in 1990, Windows 3.0 came out, and I was dead certain at that time that everything worthwhile in terms of desktop computing had already been created, marketed and exploited to death.

Re: WoodenTongue's friend - the proportion of engineers or other non-formal-CS types in the population who can independently produce something of great value by reusing building blocks is still vanishingly small.

Basically, I wouldn't overthink a trend. Just get on with your life and try to make things of value.

Bored Bystander
Tuesday, August 31, 2004

BB, that's the best advice in this thread.  What else can you really do?  Sit around worrying about this kind of stuff?  You'd be paralized by all the possible things that could alter your carreer.

OffMyMeds
Tuesday, August 31, 2004

> flatpack software . . . did I just invent some jargon ?

Dunno, but it has a nice ring to it.


Wednesday, September 01, 2004

*  Recent Topics

*  Fog Creek Home