Fog Creek Software
Discussion Board

APL programming apprenticeship: NY Times

"SIXTEEN people competed fiercely on national television for a chance to become Donald Trump's apprentice. After all, even the losers received national television exposure, and the winner was rewarded with a job paying $250,000 a year.

Less clear is why 27 unemployed people would spend nearly a month competing for a $40,000-a-year entry-level job as a junior programmer in the Jersey City offices of Maple Securities U.S.A.
During the contest, which was held in February, the candidates helped to set up their own training space; learned an arcane computer language called A.P.L. (A Programming Language); and performed a series of complex programming tasks on tight deadlines."

( JOS needs emoticons: :eek! )

Bored Bystander
Wednesday, July 7, 2004

My own opinion: only someone with a background outside the technology field (who has no idea of the lack of marketability of older & niche languages), or someone REALLY desperate (which is not a moral failing), would volunteer a month for a "training" opportunity like this... The article went on to say that the ringleader of this experiment introduced the candidates whom he did not hire to an APL conference, and a couple of them got jobs.

My take: very little upside in exchange for an incredibly narrow new skill.

Bored Bystander
Wednesday, July 7, 2004

My take:  what a jackass.  Who the Hell does this guy think he is?

The whole point of the Apprentice was offering a once-in-a-lifetime opportunity for a few months of a ball-busting PR nightmare.

One can only imagine the masturbatory fantasy that led to this circle jerk of a hiring scheme, whereby the owner has equated his company's lousy opportunity with the "buzz" of the Apprentice.

Wednesday, July 7, 2004

My take: how did they find 27 people willing to do this?  HOW?  I would vie for a position like that only if my life depended on it.

Wednesday, July 7, 2004

Joel should try one of these for Fog Creek.  He can get a bunch of try-out's to help him figure out how to open the 100mb file in City Desk.  After they find the solution, then he can tell em', "Thanks...You're Fired!"

Wednesday, July 7, 2004

It's not surprising given the current state of the IT job market for entry level people.

I don't know why progamming has such a grandios vision associated with it.  I have had this vision.  Now my dreams are basically crushed so-to-speak.  Surprisingly this does not make me upset.  I have tried for so long to become a programmer and now I realize that it would probably be just another job after a while.  But it is something that I have worked towards and something that I had aspired to do since high school, but it is now time to move on.

Those that find they are in the right place at the right time and happen to obtain a job... well good for them.  It wasn't me this time and thus I call it quits.

As far as using these desparate people in a contest at their own expense well that's just plain cruel and wrong.

Anon calls it quits
Wednesday, July 7, 2004

Every now and then take a look at what you're doing and ask yourself if you're running with the herd -- if you are then it's highly likely you'll get screwed, be it bidding up a .COM stock, or jumping into programming because it's the cool new career to be in.

Wednesday, July 7, 2004

Let me be a devil's advocate. When I heard they were teaching APL, I thought "cool." Something I'd kinda be interested in, a month of free tutoring in a language I've wanted to learn.. powerful but a bit weird...

Points in favor:
- They hired two guys, one for ~70k.
- At least two others got hired elsewhere.
- More merit than the average hiring process.
- Building a possibly interesting financial simulation.
- The upside to "an incredibly narrow new skill" is not being a commodity j2ee guy.

- What license was the work under?
- How much time per week did it take?
- Did they get good tutoring?

I'm not ready to think it's exploitative, but experimental. Obviously this will go to hell when crappy companies adopt this model, but is it more demeaning than today's hiring processes? I just think it's weirder. People knew all the risks, they could speak with their friends about it... few people in the world have more access to info than the American programmer, and people need to judge risks clearly.

Tayssir John Gabbour
Wednesday, July 7, 2004

Dear .

I have never and never will "run with the herd" as you put it.  I liked programming way before the .COM boom and wanted to be a programmer then.  Unfortunately I was in grade school and high school.  During the boom I was in the military.  After the boom and during the recession I was in school.  Now that people "got their fill" and ruined the whole programming market, I am looking for work.  (Some people claim the market matured.  That's BS.  People ruined it just like the environment and everything else they touch.)

I always do my own thing.  I happen to like progamming and have always wanted to be a programmer.  Don't assume things about me.  I earned my way through school the hard way. Not a dime from my parents who are dead nor anyone else.  I will continue to write code as a hobby whether or not I ever get a job as a programmer.  I have never and never will go with the trends or jump on the band wagon or run with the herd.  It's not the way I am.  I do my own thing.  You can run your herd up your ass for all I care.

Anon calls it quits
Wednesday, July 7, 2004

Re: Tayssir's comments:

I agree most with your take on this methodology. It's quite weird and it's a singularity that was made possible only by the current middle-class "jobs depression". The company that did this had a problem to solve - no available APL people on the market. The solution was to basically create them out of thin air. This isn't the case with most programming and technology niches.

It's also not exploitative because training (albeit in an almost economically worthless specialty) was provided, and these people didn't perform work that really benefitted the employer.

If there is any castigation here it should be for the trainees and their odd sense of equitable payback. I can think of many, many types of training that would provide multiple real world opportunities. Learning APL, a language that has always been a tiny niche, in an unaccredited environment, spells "waste of time". (the fact that the company had problems initially finding APL developers says that there is almost no market for the skill.) If any of these people who wound up with nothing but APL training had tried a sales or medical services track they would actually have a skill that someone else might consider useful.

As far as the "cachet" of programming: I've found over the years that saying you're a programmer or developer is usually regarded as a very low-status calling, something that most business people perceive as something that "grown up kids" do. Anyone who gravitates to it based upon "coolness" needs a serious reality correction.

But, this "apprenticeship" gig: in summary: WEIRD.

Bored Bystander
Wednesday, July 7, 2004

I think it was illegal not to pay them. i don't buy the argument that it was education. To be education it would have to be a skill that would be of use to more than one employer. Wasn't APL the precursor to C? I don't think there is a single company world wide other than this idiot that uses APL.

Dennis Atkins
Wednesday, July 7, 2004

You said:
"these people didn't perform work that really benefitted the employer"

But then you also said:

"The company that did this had a problem to solve - no available APL people on the market."

Learning APL put APL people on the market. That solved the companies problem. But you say that solving their main problem did not benefit them.

Your statements do not follow.

Dennis Atkins
Wednesday, July 7, 2004

No it was BCPL or something that was the one before B and C.

APl is that stupid language that requires the special keyboards full of oddly shaped hieroglyphics:

Dennis Atkins
Wednesday, July 7, 2004

Huh, just on second reading noticed these two gems:

> Allen ultimately hired two programmers from the tryout program, one for $40,000 .

Wow - so for this rare skill of APL programming the going rate at a Manhattan High Finance firm is a whole big 40 grand. I guess the programmers will be staying at the hostel?

> the interns work on "entrepreneurial" projects involving sales analysis and creative design

So much for the theory that their contributions during 'training' didn't benefit the firm...

Dennis Atkins
Wednesday, July 7, 2004

> Allen ultimately hired two programmers from the tryout program, one for $40,000 .

The part you didn't include was how the other programmer was hired for $80,000. This sounded like a lot to me, so I read up on APL, a little bit.

I found out that APL programming examples remind me of scenes from movies with shots of alien technology computer screens.

Maybe the government is finally trying to hire more people to learn about that alien stuff they found or were given? ;)

Wednesday, July 7, 2004

OK it's Jersey City not Manhattan. Where is Jersey City, is it expensive there? Is 40k enough to live well off of? Is 80k?

You keep mentioning this fellow who worked for 80k and disregarding the other guy making 40k. But what about the 30 people who worked for free doing work that benefitted the company for three weeks? That's 90 man-months, or 2 years of free labor. So if he keeps these guys 2 years, then he's got 6 years of labor for 240k, which is 40k average for all the labor he's gotten. That's not much compensation for these 133t skills.

Dennis Atkins
Thursday, July 8, 2004

Jersey City is 1 train stop or so away from NYC (a quick Google for "jersey city map" turns that up, if you didn't know).

I've read of similar hiring practices where they take 3 or 4 of the best candicates their interviewing process turned up & put them to work for a week, getting to know the staff and working on real problems. This will weed out any problems the interview process left in & see if they're a cultural match.

This program is really just that one on steriods & with a bit more marketing hype behind it.

I think you could find 27 candidates in NYC willing to give up a month for just about ANY job you advertised for. With a job market this huge, even a 1% unemployment rate is tens of thousands of people.

BTW, the actual unemployment rate is 7%, down from 7.5% a few months ago and 8.3% 1 year ago.

"The number of unemployed New Yorkers fell by 16,700 last month, to 256,100, and the number of employed New Yorkers rose by 5,700, to 3,394,500, according to City Comptroller Bill Thompson’s office."

There you go, 250k people, some of them must be programmers.
Thursday, July 8, 2004

Odd that the rate of unemployed New Yorkers dropped by MUCH more than the rate of employed New Yorkers rose. I read somewhere that this rate is actually the number of people on unemployment, once you drop off of unemployment you're no longer on the unemployed radar screen. People have disputed this, but something must account for the huge (3 times) difference in numbers.
Thursday, July 8, 2004

"I don't think there is a single company world wide other than this idiot that uses APL. "

Ha! I used to work for a consultant company that used APL - what a stupid stupid "programming language" it is, it totally sucks and blows at every direction simultaneously. But, it turned out to be a good gig: after I quit the company, I've had a lot of work cleaning up the mess that the company made - I'm re-writing a lot of the APL stuff in normal languages (C++, VB, C#) so that companies who bought that crap are no longer tied to the company that made them.

I just wish I could unlearn the language at sime time, it really makes my head hurt.

Antti Kurenniemi
Thursday, July 8, 2004

Those who do not understand Unix are doomed to reinvent it, and do a bad job at it.

This, unfortunately, is not true of APL - those who do not understand it are doomed to write programs 10-100 times longer than they could have, and most probably wouldn't reinvent the APL concepts at any time.

The K language, inspired by APL, lets you write a reasonably useful order-aware relational database in .... 12 lines of code, none of them longer than 60 chars, most significantly shorter. And it runs fast too. When I first saw this my thought was "Wow. I've got to grok this!". Most programmers put a SEP field on it ("It can't be done, therefore it's someone else's problem"). Head of to [ ] and [ ] to learn more.

Ori Berger
Thursday, July 8, 2004

I'm glad a K/APL programmer jumped in; it's just too easy to get bad press on a language if people from its community don't visit much. That's why it's best not to slam such a thing if you haven't much experience in it.

One really accessible page on K, though someone else will have to vouch for its accuracy:

As I understand, its main advantages are of being concise and easily parallelizable. Extreme conciseness may have an interesting engineering boost -- if you look at AWK or regexps, those are really compressed, initially unreadable languages. But there's a wisdom behind them, which is why I'm glad people replicate things like AWK syntax in common lisp. (The reason this doesn't lead to anarchy is because you only use them in situations where their advantages are overwhelming.) Hopefully such things for K can lead to greater mindshare for it one day.

This is not to argue directly against Antti's post; there are two sides to such rewrites, and this Sunday I got to see a little of this play out. Always interesting to see the two sides.

Tayssir John Gabbour
Thursday, July 8, 2004

I don't actually mean APL per se is bad, but it was used completely wrong. The company that used it tried to make general database type Windows applications with it, which is definately not something it should be used. I wouldn't argue that much against it if it was used for, say, some analytical processing or some such, which it is intended for.

The grooviest hack was an invoicing system that pulled 200+ megs of data from a database, created invoices and pushed them back into the database. It took roughly three hours to do that in the APL program (not because of APL's poor performance necessarily, but because it was a wrong tool for that job - and most likely not very well used), and after I converted it to a C# equivalent it now runs in roughly 4 minutes. Plus it can be maintained by a lot more people if need be.

Righ tool for the job and all that...

Antti Kurenniemi
Thursday, July 8, 2004

That page on Jason Nordwick's web site is as accurate as anything you'll find on K.  I remember when he first posted that (great) article on kuro5hin.  I think that he's been doing consulting work with K ever since then.

Thursday, July 8, 2004

To throw in another data point, "apl" gets 3 hits on Dice.  I'm all for specialization and going after niche markets, but come on, is this a worthwhile way to spend your time?

AFAIK, the last bastion of APL is a company called Checkfree, which has a creaky old system called Security APL used for back-office trade processing.  Some small broker/dealer firms have systems that interface with it, my guess is that's why this particular company needs APL people.  Woohoo, cutting edge Carter-administration technology!

Thursday, July 8, 2004

"You keep mentioning this fellow who worked for 80k and disregarding the other guy making 40k. But what about the 30 people who worked for free doing work that benefitted the company for three weeks?"

Ah, but look at the alternative - 3 weeks looking for entry-level work that doesn't exist. Spending time working through O'Reilly books, even though recruiters won't give a rat's ass about that and you might as well have spent the time watching the Playboy channel instead of trying to learn new things. Even work on open-source projects won't be worth much with recruiters and HR, who don't care what you've done unless there was a paycheck involved.

Frankly, I'm not sure what the better option is. If you're unemployed, and local, I don't really see what the downside is. You can still go home at night for a desultory check of the online job ads.

As for what they developed for the firm, I'm not convinced they really accomplished that much in the three weeks. They're rank beginners in a bizarre language that probably doesn't resemble anything they've ever used. Plus they'd be learning the domain of the business.

Many of the 'contestants' dropped out early. The two who were hired were probably the two who made it farthest up the learning curve and were starting to be productive.

I really can't see much useful production-quality code being written. The programmers already on staff could probably knock out as much code in a day.

Jon Hendry
Friday, July 9, 2004

Antti: APL is very much the tool for the job, provided it's used correctly. I've once rewrote a C++ program in Python and speeded it up by a significant factor. It says a lot about the original programmer, and little about the language.

Specifically, K (an APL dialect) is better than C++ for almost any database or numbercrunching job. Provided you used it correctly - which is not an easy requirement, as it has a much steeper learning curve.

Ori Berger
Friday, July 9, 2004

I know 14 languages and APL, J and K are among them.

The problem with vector oriented languages is that they became available too soon. Actually, these languages (or some dialect of them) will be the "hot" topic in a future where people will grasp their concept and the hardware is better suited to their utilization.

In the mean time, we can always read about how crazy they are since ignorance is a bliss and it would be futile to try to refute those ignorant comments.

An example of how useless these languages are would be to look at the Instinet data volume treated daily or just visit the site...


Paul Gauthier
Thursday, July 15, 2004

*  Recent Topics

*  Fog Creek Home