Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Sunday, March 5, 2017

Truer words

If you want to attract and keep developers, don’t emphasize ping-pong tables, lounges, fire pits and chocolate fountains. Give them private offices or let them work from home, because uninterrupted time to concentrate is the most important and scarcest commodity.

Joel Spolsky on Geekwire.  (Mutatis mutandis...)

on not being hated

"Most tech company execs will do anything to keep their engineers happy."

Anil Dash is talking about what SF techies could do to stop being hated.

I came to AD via Joel Spolsky (whom I have been following for years); Dash is the new CEO of Fog Creek.  The idea that companies want to attract and keep good software engineers is a familiar theme in the annals of Spolsky.  It's bad and good for me to look over the fence.

Not to be unkind, I'd like you to imagine translating this sentence to a different sphere.

"Most publishers will do anything to keep their writers happy."

This is not that world.

Writers sometimes get asked whether someone who wants to be a writer should persevere, and they tend to sound rather curmudgeonly in their replies.  It sounds churlish to say something like "If you have to do it, you'll do it. Don't do it if it's not impossible to do anything else."  It sounds like the lucky few depressing the aspirations of the young and hopeful.

It's not really like that.  Writers know they don't live in a world where company execs, or, indeed, the lowliest intern, will do anything to keep writers happy.  They don't even live in a world where agents, or, indeed, the lowliest intern, will do anything to keep writers happy.  So they live in a world where the odds are heavily stacked against doing their best work, and actually, if you have a choice, you're probably better off being a dev.

It's not that devs don't live in a world where people drive them crazy.  Recruiters drive them crazy.  Management drives them crazy.  Open plan offices drive them crazy.  People calling them on the PHONE drive them crazy.  They may be required to write code in PHP when every fiber of their being revolts. (There are many languages which may prompt every fiber of their being to revolt.) But -- well, for example, they are not asked to wait months for a program to be debugged by someone who is not a programmer.

I was probably going to say more, but I think I'll stop now.

Wednesday, August 24, 2016

Falsehoods programmers believe

I hope you don't think this is for your benefit, cats and kittens.  I just want to be able to find it again.

I'm in love with these lists of "Falsehoods Programmers Believe About X." In case you haven't had pleasure, I've collected all the ones I know of here. If I missed any, let me know!

Falsehoods programmers believe about names

  • People's names do not change
  • People’s names have an order to them
  • My system will never have to deal with names from China
  • I can safely assume that this dictionary of bad words contains no people’s names in it
  • People have names

Falsehoods programmers believe about time

  • The time zone in which a program has to run will never change
  • The system clock will never be set to a time that is in the distant past or the far future
  • One minute on the system clock has exactly the same duration as one minute on any other clock
  • A time stamp of sufficient precision can safely be considered unique
  • The duration of one minute on the system clock would never be more than an hour

More falsehoods programmers believe about time

  • The local time offset (from UTC) will not change during office hours.
  • My software is only used internally/locally, so I don’t have to worry about timezones
  • I can easily maintain a timezone list myself
  • Time passes at the same speed on top of a mountain and at the bottom of a valley
And there's more, future self. The whole thing here.

Saturday, March 31, 2012

devant les enfants

almost everything we have done over the last two decades in the area of ICT education in British schools has been misguided and largely futile. Instead of educating children about the most revolutionary technology of their young lifetimes, we have focused on training them to use obsolescent software products. And we did this because we fell into what the philosopher Gilbert Ryle would have called a "category mistake" – an error in which things of one kind are presented as if they belonged to another. We made the mistake of thinking that learning about computing is like learning to drive a car, and since a knowledge of internal combustion technology is not essential for becoming a proficient driver, it followed that an understanding of how computers work was not important for our children. 

John Naughton in the Guardian

Naughton goes on to take issue with the claim that code is the new Latin, because Latin is a dead language.  This is somewhat misguided: the Latin (and, for that matter, Greek) literature I learned to read 40 years ago is no more obsolete than Beethoven's Ninth.  If I had started programming the year I started Latin (1971) I would not now be able to use the programming language I learned then with the same benefits it offered when I first studied it. (I am not saying it is not a good thing to learn to code, or that I don't wish I had done so earlier, only that it's rare to learn something in school that retains its value close to half a century later.)

Naughton also argues that the reason to teach programming in schools is not economic, but moral. What he means by this is that we owe it to children not to leave them in the power of computer-savvy elites. I would have thought the moral obligation was in fact much stronger than this: programming forces one to think logically.  (Some may remember the complaint of the Professor in The Lion, the Witch and the Wardrobe: What do they TEACH them in school?  Don't they teach them logic?)  It also forces one to face up many, many times to one's fallibility. (Douglas Crockford's JSLint carries the warning: Your feelings will be hurt.)  Many of the problems I have faced with the publishing industry over the last 16 years could easily have been avoided if people who were "passionate about books" had the kind of logical training, the attention to detail, the awareness of possible errors, that programming provides. 

Anyway, very glad to see this new initiative.  (As a number of journalists have commented, IT in British schools has dwindled to getting schoolchildren up to speed on Word. Jesus wept.)