Once upon a time, James Hague asked an interesting question on his blog.
"When I was still a professional programmer, my office-mate once asked out of the blue, "Do you really want to be doing this kind of work when you're fifty?"
James went on to identify two kinds of programming
Type A "work(ing) out the solutions to difficult problems. That takes careful thought, but it's the same kind of thought a novelist uses to organize a story or to write dialog that rings true. That kind of problem-solving is satisfying, even fun."
Type B "what most programming is about - trying to come up with a working solution in a problem domain that you don't fully understand and don't have time to understand... skimming great oceans of APIs that you could spend years studying and learning, but the market will have moved on by then ... reading between the lines of documentation and guessing at how edge cases are handled and whether or not your assumptions will still hold true two months or two years from now.. the constant evolutionary changes that occur in the language definition, the compiler, the libraries, the application framework, and the underlying operating system, that all snowball together and keep you in maintenance mode instead of making real improvements."
He went on to state that while he'll continue doing Type A programming, he isn't particularly interested in Type B, (presumably at fifty).
I was looking forward to some good discussion on this, but HackerNews (which, in spite of its flaws still has no competition) went off into some tangents primarily about ageism in the software industry and there was surprisingly little discussion about what James actually said.
Now, is ageism a problem? Yes, it is. As people grow older, they are expected to do anything but programming. It is a cultural thing and not necessarily logical. I know someone who is a good programmer, but left Bangalore for a decade (programming all the while) and now can't get an interview (let alone a job)because "oh you have 18 years experience, we are looking for people with two years of experience.Sorry".
So, yes ageism is a problem, even in Outsourcing Land, and there is plenty to be discussed, and action to be taken, with respect to ageism.But that is a topic for another day and isn't quite the problem addressed by James Hague in his blog post.
In this post, I'll try to explain what I think (and it is just that, my opinion ymmv etc etc) about "Do you really want to be doing this at fifty?"
The essence of the question is "Do you want to be doing this(at a future time point)". The question addresses the (evolution of) motivation to program, and James goes on to state that his motivation to do a certain type of programming (unfortunately this is the more dominant type of programming worldwide) decreases with increasing age.
The question of motivation with respect to career activities has been discussed by a wide variety of people and a lot of research has been conducted. One interesting insight has been articulated by Dan Pink - in his book "Drive - The Surprising Truth About What Motivates Us" he identifies 3 factors that motivate us (or demotivate us) to undertake and pursue any activity.
(1) Mastery - getting better at what you are doing
(2) Autonomy - the degree to which you can direct your activity.
(3) Purpose (or meaning) - doing something that really matters.
If you get high scores in any of the above, ideally all three, and more importantly get more and more of all the above as your programming career progresses, of *course* you'll be programming at 50. Or 60. Why wouldn't you?
The problem of course, is that in most programming jobs you either hit a declining slope or at best, plateau, with respect to one or more of the above as you age. If you are on a team of 50 people, maintaining some legacy leasing system written in Java, with business analysts doing the business thinking and you are converting their thoughts into code you are being a scribe for other people's ideas in a rigid and ageing language, in a context where you are an expensive 'resource'.
In general , even at many product (vs services) companies, a 'line programmer' has low levels of autonomy - other people - product managers, business analysts etc etc - tell him what to do. Legacy codebases constrain technology choices. His 'mastery', while not non existent, is of a shallow and frothy kind (hey I use Rails today instead of J2EE yesterday! Node.js vs rails blah) and writing the n-th business app pulling data off a database and putting it on a web page for some corporate drone to use to update his TPS reports crushes 'being part of a higher purpose'. Little autonomy, modest mastery, non existent purpose. No wonder few people want to be doing this kind of programming at fifty.
Thankfully, other kinds of programming do exist. John Carmack of Id Software is still programming in his forties because programming (and till recently, being a majority shareholder of a cutting edge games company!) helps him in maximizing all three attributes.
Programming is a skill, like writing. Unlike writing, we live in a society where most people are code illiterate. And coding ability has (some) economic value. "Software is eating the world" etc, and so anyone who is comfortable with coding can exchange that skill for money. The deeper question is whether you can trade increasing experience in the skill of programming for increasing amounts of money (and mastery and autonomy and purpose) as time passes. For most people that function plateaus and then stays steady or declines.
If you were someone who knew how to write, but lived in an illiterate society you could exchange that skill for money, by being a scribe at so many cents per word. You write people's letters and wills etc and you get paid for it by word count. But if you did it for thirty years, and you are still writing letters for people when you are fifty, would you be satisified with your career? What about when your customers move to that desperate youngster who offers a lesser rate per written word?
A novelist uses writing in a different manner than someone who sets up as a letter writer for illiterate people. A novelist is trying to do something that uses writing grammatically correct sentences as a base skill, but the core of his work, plotting, characterization, dialogue, world building, etc lie on a plane well above deciding whether to put an i before an e, or vice versa. And you don't even need much base skill. Many people are pretty bad at grammar and still write best selling or world changing books.
Generalizing, the (conceptually) shortest step to getting away from the 'path to ageist irrelevancy' for programmers is to find a way to make money by transcribing your own ideas to code. This might involve, for example, stepping away from time and materials services types of programming to product development. If not by yourself, then as a part of a small team. Even if you are still technically an employee, your are much more autonomous in small teams and companies (and codebases).
A second way out of a programming career deadpool track is to move to something related where programming skill actually helps in a major way, but it isn't the core of your job.
If you are a Computer Science researcher who is also an excellent programmer, your primary job is the creation of new knowledge (aka research, embodied in published papers) but your programming skills will help.
If you are a (technical) startup founder using cutting edge languages and algorithms to build a superior product, your primary job is to satisfy users and pull your company ahead of the competition, then superior programming ability can help.
If you are a finance expert who can also code, you probably have a significant edge over your competitors who have to depend on the software people to come in after the weekend to prototype your idea.
Programming skill amplifies effectiveness in almost everything you can do.
Of course you could find yourself in the same situation in your new career. If you still lack money, autonomy, mastery and purpose, you are back at square one. That said, being "an excellent programmer and a good X" seems like a decent plan.
The idea that a programmer
always has to work in a half understood domain transforming some one
else's ideas into code is just that, an idea. It is a dominant idea, but
nothing really stops anyone from mastering an interesting domain or acquiring a complementary skill in
addition to programming.
That gets me to what I think is the right way to go about 'career planning'.
Decide what increased levels of autonomy, mastery and purpose mean to you. Figure out what you need to do to get to that point. Then do whatever it takes.
If increased programming skill will move you towards increasing one or more of the three attributes, work on it. If something else (like writing skill, or knowing a domain, or getting good at sales, or going to medical school) looks more promising, work on that. Assembly line programming inside 'the industry', converting other people's thoughts into code in stone age languages, is a beginning. It need not be the end.
To conclude, will I be programming at fifty? I think so (these days I do as much maths and stats as programming, and everything feeds very nicely into everything else), but at fifty, I'll be writing novels, not scribing letters.
Wednesday, October 24, 2012
Sunday, October 14, 2012
Why I (need to) write (more)
For some context on what sparked this, see this excellent post and discussion on Hacker News, (for those so inclined)
The reason I used to blog somewhat regularly is very simple - I found that I could take some half formed thought and flesh it out by writing about it. Sometimes this would result in something actually useful to people. Most often, I would just end up 'emptying my head' and think new thoughts.
And then something happened. I got an audience. And comments. And emails. And controversies, and flames.
All good, because I didn't (and don't) *mostly* care what people thought of anything I wrote (or what people think of me for that matter) . But there *is* a small element of reactivity and friction when you know persons X, Y and Z will be reading what you write.
"Hmm is this too harshly worded for friend X. After all he is a big Ruby fan and if I say Ruby is a particularly brain dead language, would this ruin his day?". And then I have to write stuff twice. First write down what I really want to write, and then go through it with and delete stuff or add more explanatory stuff and cautionary qualifiers and so forth.
I am not the only person facing this. People who are much better at writing than me apparently face this too.
Someone asked Paul Graham (he of the glowing essays fame) on Hacker News
"what's it like to have your every written (or spoken!) word analyzed by a bunch of people? Esp. people that you end up having some form of contact with.
It seems like it would be difficult to just have a public conversation about a topic. Do you think about that much when you write?"
and PG replied to say
"It's pretty grim. I think that's one of the reasons I write fewer essays now.
After I wrote this one, I had to go back and armor it by pre-empting anything I could imagine anyone willfully misunderstanding to use as a weapon in comment threads. The whole of footnote 1 is such armor for example. I essentially anticipated all the "No, what I said was" type comments I'd have had to make on HN and just included them in the essay."
If pg can't escape this fate, I sure can't.
but otoh I am less concerned than pg about whether someone mis-understands me etc because, I am (comparitively) not famous, and I am not writing essays just spewing out (comparitively) unpolished *blog posts*. I could deal with misunderstandings just fine.
What I found harder to deal with was -- Twitter.
Once I started tweeting regularly, I found I could just try to distill whatever I was thinking about and just tweet about it. 140 characters is pretty good as a constraint. And since I regularly purge my twitter following of idots and nutcases, I am fairly sure I can convey exactly what I want to, and most people following me would understand (and if not clarifications are just 1 < n < 3 * 140 character tweets away.
But as good as twitter is, 140 character tweets aren't as good as multi paragraph blog posts to *explore ideas* (vs expressing their seed forms concisely). My writing has suffered, though like riding a bicycle it should come back pretty fast, and then I'll go around improving it.
The goal of my writing remains the same. I write to explore thoughts and ideas and 'empty me head'. No more. No less.
One thing I am doing differently this time is to pay even less attention than usual to comments and reactions, and not bother clarifying what precise shade of meaning I intended to convey and so forth. This is just me writing a letter to a friend every other week or so. It just takes the form of a blog post other people can read.
And so here goes.
I'm back.
The reason I used to blog somewhat regularly is very simple - I found that I could take some half formed thought and flesh it out by writing about it. Sometimes this would result in something actually useful to people. Most often, I would just end up 'emptying my head' and think new thoughts.
And then something happened. I got an audience. And comments. And emails. And controversies, and flames.
All good, because I didn't (and don't) *mostly* care what people thought of anything I wrote (or what people think of me for that matter) . But there *is* a small element of reactivity and friction when you know persons X, Y and Z will be reading what you write.
"Hmm is this too harshly worded for friend X. After all he is a big Ruby fan and if I say Ruby is a particularly brain dead language, would this ruin his day?". And then I have to write stuff twice. First write down what I really want to write, and then go through it with and delete stuff or add more explanatory stuff and cautionary qualifiers and so forth.
I am not the only person facing this. People who are much better at writing than me apparently face this too.
Someone asked Paul Graham (he of the glowing essays fame) on Hacker News
"what's it like to have your every written (or spoken!) word analyzed by a bunch of people? Esp. people that you end up having some form of contact with.
It seems like it would be difficult to just have a public conversation about a topic. Do you think about that much when you write?"
and PG replied to say
"It's pretty grim. I think that's one of the reasons I write fewer essays now.
After I wrote this one, I had to go back and armor it by pre-empting anything I could imagine anyone willfully misunderstanding to use as a weapon in comment threads. The whole of footnote 1 is such armor for example. I essentially anticipated all the "No, what I said was" type comments I'd have had to make on HN and just included them in the essay."
If pg can't escape this fate, I sure can't.
but otoh I am less concerned than pg about whether someone mis-understands me etc because, I am (comparitively) not famous, and I am not writing essays just spewing out (comparitively) unpolished *blog posts*. I could deal with misunderstandings just fine.
What I found harder to deal with was -- Twitter.
Once I started tweeting regularly, I found I could just try to distill whatever I was thinking about and just tweet about it. 140 characters is pretty good as a constraint. And since I regularly purge my twitter following of idots and nutcases, I am fairly sure I can convey exactly what I want to, and most people following me would understand (and if not clarifications are just 1 < n < 3 * 140 character tweets away.
But as good as twitter is, 140 character tweets aren't as good as multi paragraph blog posts to *explore ideas* (vs expressing their seed forms concisely). My writing has suffered, though like riding a bicycle it should come back pretty fast, and then I'll go around improving it.
The goal of my writing remains the same. I write to explore thoughts and ideas and 'empty me head'. No more. No less.
One thing I am doing differently this time is to pay even less attention than usual to comments and reactions, and not bother clarifying what precise shade of meaning I intended to convey and so forth. This is just me writing a letter to a friend every other week or so. It just takes the form of a blog post other people can read.
And so here goes.
I'm back.
Monday, September 24, 2012
Renewal. Learning. Stuff
I haven't written anything here for more than a year.
That will now change.
I was too busy and twitter was interesting enough - 140 character limits are good training for conciseness - that I didn't miss blogging all that much.
But writing longer pieces have their own advantages, and I hope to write at least one entry a week for the next year or so.
Stay tuned.
PS: I hate the changes Google has brought to blogger. A change of platform is on the agenda. I just don't have the time right now.
That will now change.
I was too busy and twitter was interesting enough - 140 character limits are good training for conciseness - that I didn't miss blogging all that much.
But writing longer pieces have their own advantages, and I hope to write at least one entry a week for the next year or so.
Stay tuned.
PS: I hate the changes Google has brought to blogger. A change of platform is on the agenda. I just don't have the time right now.
Saturday, October 8, 2011
An unimportant person''s comment on Steve Jobs's death
Context: Everyone and his dog is hyperventilating on the internet about the death of Steve Jobs.
Here is my opinion (which like most opinions isn't worth very much, but hey this is my blog).
All men are mortal.
Steve Jobs was a man. (A great man, but still, a man.)
[Modus Ponens] Steve Jobs was mortal too.
Now he has died. The world endures. Life goes on.
Your (and my) time to depart will soon be here. The world will still endure. And life will still go on.
I read somewhere that the one regret most people have at the moment of death is about how they should have done X or Y instead of A or B.
Get back to work. Do X or Y instead of A or B. Die happy, when your time comes.
To the degree one admires Jobs, emulating his virtues in your life is a more fitting tribute than another silly comment about how he was as influential as Plato and Aristotle (an idiot actually said this on HN).
Update: on Stallman's comment on Steve Jobs' death. People have different ideas on whether a person's achievements were good or bad. This affects their judgement of whether a person's death was "good for the world" or not.
Stallman thinks that the end of Steve's influence on computing (note: he clearly distinguished it from Steve's death itself) is a good thing. And said as much.
I don't agree.
I think, for all his faults (and like you, me and every human who ever lived, he had some) Steve's influence was beneficial (overall) and I wish he'd lived longer.
But I also think it is ok for people (including Stallman) to express their opinions, even when I find them not in agreement with my own.
I look forward to the day when everyone (including me) will shut up about how other people should think exactly like everyone else.(or else we'll all get all self righteous and puffed up and hyperventilative).
And now I'll go back to coding. (Thank You for reading this far.You really should be doing something useful instead!)
Here is my opinion (which like most opinions isn't worth very much, but hey this is my blog).
All men are mortal.
Steve Jobs was a man. (A great man, but still, a man.)
[Modus Ponens] Steve Jobs was mortal too.
Now he has died. The world endures. Life goes on.
Your (and my) time to depart will soon be here. The world will still endure. And life will still go on.
I read somewhere that the one regret most people have at the moment of death is about how they should have done X or Y instead of A or B.
Get back to work. Do X or Y instead of A or B. Die happy, when your time comes.
To the degree one admires Jobs, emulating his virtues in your life is a more fitting tribute than another silly comment about how he was as influential as Plato and Aristotle (an idiot actually said this on HN).
Update: on Stallman's comment on Steve Jobs' death. People have different ideas on whether a person's achievements were good or bad. This affects their judgement of whether a person's death was "good for the world" or not.
Stallman thinks that the end of Steve's influence on computing (note: he clearly distinguished it from Steve's death itself) is a good thing. And said as much.
I don't agree.
I think, for all his faults (and like you, me and every human who ever lived, he had some) Steve's influence was beneficial (overall) and I wish he'd lived longer.
But I also think it is ok for people (including Stallman) to express their opinions, even when I find them not in agreement with my own.
I look forward to the day when everyone (including me) will shut up about how other people should think exactly like everyone else.(or else we'll all get all self righteous and puffed up and hyperventilative).
And now I'll go back to coding. (Thank You for reading this far.You really should be doing something useful instead!)
Monday, August 15, 2011
On Owning a Kindle
I was gifted a Kindle a month or so ago. I like it for what it does.
Should you buy one? If you are a book lover, one of those people who always have a book on hand, or reach for one when you have an hour to spare, you definitely should. If you read mostly technical or math books (which require a lot of flipping back and forth and good rendering of code or equations)or research papers, you won't get as much benefit as you ought to.
I am well satisfied with the Kindle for allowing me to lug around about 300 books (I still have almost 3 GB left) so I can read on the bus, while waiting for someone, etc. I would have loved it if I could read math books and papers (pdf rendering on the (small) kindle is terrible) and also scribble notes (the kindle "make notes" functionality is awkward and unusable) but e-ink based readers are still in their early days. For what it does (enable you to carry around a few hundred fiction books it is awesome. For example, I have all the 20 Aubrey Maturin books and the dozen or so Jim Butcher books in a 6 inch device. (E-Paper blows away IPad's screen for reading.)
If I'd received the Kindle before the release of George Martin's utterly terrible "A Dance With Dragons" (I should write a blog entry one of these days on how terrible it is - suffice to say that the man has lost his touch) I could have spent 11$ on a kindle version instead of 54 $ (18 for the book, the rest for postage to India). The Kindle shines for fiction and light non fiction books. And you can avoid paying for the kindle editions by downloading "pirated" versions if you know where to look. I suspect it would work well for magazine subscriptions too ( at least for those in which the written word is more important than glossy pictures).
Somewhat tangentially, someone should write a piece of software that works like LaTex for math but generates flowable text. Tex is (print) page oriented.If you could just take a LaTex file and generate a kindle readable document out of it,I suspect a lot of math/tech papers would find their way on to e-readers very fast.
After having used the kindle for a while I am not surprised that Amazon sells more e-books now than paper books. I suspect the Kindle is a very potent weapon in Amazon's arsenal, that its competitors underestimate. If they make it work in the Indian context, (Amazon plans to launch in India in 2012 - I have no idea how much of a role they plan for the Kindle here), their competitors will get swatted aside like so many flies. (Hmmm I should write a post on how I see the Amazon-Flipkart battle shaping up in India. Interesting times we live in).
Meanwhile, if you are a reader and can afford to buy a Kindle, you should. It (or something like it) is the future of reading.
Monday, June 27, 2011
Two Roads Diverge - Machine Learning or IOS Dev?
Now that my latest project (for those interested in such things - 30 k lines of Haskell, 200 k lines of (mostly legacy) C/C++ code, a few thousand lines of Lua, signal processing, some NLP ish things) is "done done"[1] I have to choose [2] a new project.
Choosing a new project is always an exciting time, but also a mildly stressful one. For every choice made, a half dozen equally worthy alternatives have to be rejected. And I do a lot of agonizing over what is the 'right' project to take up.
One way to maintain a sense of continuity among projects is to examine what could have been done better on the finished project and see if you can build a project around fixing those deficiencies.
Working on the last project exposed some flaws in my dev chops - I know nothing about Network Programming and this caused me to take longer than usual to fix a few nasty bugs that cropped up. So I'd like to take a couple of months off and work through Stevens's books and close this gap and then build some customized network monitoring tools which I could have used when my hair was on fire. Our visualization and rendering subsystem used an Open Source renderer that fell down on large datasets. NLP algorithms in Haskell had to be painfully built one by one. The Computer Vision library we used (Open CV) is a friggin mess that needs serious surgery. And so on. Doing all that would multiply the existing codebase's power by a factor of 10. And also make good building blocks for new projects.
And many ML projects have the strange property that completing them successfully opens up even more ambitious projects. The folks who sponsored the last project want me to do more stuff for them.
Another way to choose a new project to work on is to find great people you'd like to work with and build a project around what they are doing or are interested in. My stubborn refusal to move to the USA somewhat limits my choice in this regard - Not many people or companies in Bangalore are doing anything interesting in Machine Learning. But otoh a few people have bounced really (really really) interesting IOS projects (and start up plans) to me. On the one hand, this means I have to go over to the Dark Side and sell my soul to the evil but competent folks at Apple and learn Objective C and overpay for a MacBook and the annually renewed right to put software I write on hardware I already paid for and so on. Being a storm trooper for Darth Steve is a proposition that requires some thought. But on the other hand, I would be working with ultra competent devs again (Working alone, or as the only dev on a team is the only negative - and it is a small one - in my 'lifestyle'. Fixing that would rock).
A third choice - I actually thought of sitting down and writing a book, just for a change of pace. I have a few ideas for some tech books I think are missing from thes shelves and every dev I pitched reacted with a variant of "I'd buy that RIGHT now - please please write it". What stops me is that people who have written successful tech books say that it is a pretty thankless task, and with some exceptions, financially unrewarding (though your "prestige" goes up- something I don't care a rat's ass about). If I had to choose between spending a thousand hours writing a book and a thousand hours writing code, it is somewhat hard to choose the former.
Hence the "two roads diverge" tone that permeates my thoughts. I could dive deeper into Machine Learning(and allied areas) or go do mobile app stuff. Choosing promises to be interesting.
Two Roads Diverge and all that jazz[3]
But first, before I have to make a choice, clear the backlog of people to meet (I thank you all for your patience and suffering my erratic schedules), places to visit, things to do. (Metaphorically) lie on a beach somewhere with no computers in sight. Relax, refresh. Then decide.
[1] Most projects have an official "done " date and then a later "done done" date. In this case the project was 'done' some time ago and then a rookie dev wiped out the source control repo while simultaneously trying to alter the Haskell code (vs writing a minor script in Lua, which is what the situation called for), bringing the whole cluster down, causing the (non dev) owners of the project to send an SOS to me to get on a plane pronto and put out the fire.
Some fences have been built to avoid this kind of FUBAR situation from happening again so now I am "done done"
[2] One significant milestone in one's evolution as a developer is when you realize that you have more ideas than you can implement in your lifetime. You are even luckier when people pay you to implement them (vs being assigned to some Godawful Leasing System dev in some enterprise dev body shop say)
[3] - From Frost's poem, of course
Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could
To where it bent in the undergrowth.
...................................
I shall be telling this with a sigh
Somewhere ages and ages hence:
Two roads diverged in a wood, and I
I took the one less traveled by,
And that has made all the difference.
Choosing a new project is always an exciting time, but also a mildly stressful one. For every choice made, a half dozen equally worthy alternatives have to be rejected. And I do a lot of agonizing over what is the 'right' project to take up.
One way to maintain a sense of continuity among projects is to examine what could have been done better on the finished project and see if you can build a project around fixing those deficiencies.
Working on the last project exposed some flaws in my dev chops - I know nothing about Network Programming and this caused me to take longer than usual to fix a few nasty bugs that cropped up. So I'd like to take a couple of months off and work through Stevens's books and close this gap and then build some customized network monitoring tools which I could have used when my hair was on fire. Our visualization and rendering subsystem used an Open Source renderer that fell down on large datasets. NLP algorithms in Haskell had to be painfully built one by one. The Computer Vision library we used (Open CV) is a friggin mess that needs serious surgery. And so on. Doing all that would multiply the existing codebase's power by a factor of 10. And also make good building blocks for new projects.
And many ML projects have the strange property that completing them successfully opens up even more ambitious projects. The folks who sponsored the last project want me to do more stuff for them.
Another way to choose a new project to work on is to find great people you'd like to work with and build a project around what they are doing or are interested in. My stubborn refusal to move to the USA somewhat limits my choice in this regard - Not many people or companies in Bangalore are doing anything interesting in Machine Learning. But otoh a few people have bounced really (really really) interesting IOS projects (and start up plans) to me. On the one hand, this means I have to go over to the Dark Side and sell my soul to the evil but competent folks at Apple and learn Objective C and overpay for a MacBook and the annually renewed right to put software I write on hardware I already paid for and so on. Being a storm trooper for Darth Steve is a proposition that requires some thought. But on the other hand, I would be working with ultra competent devs again (Working alone, or as the only dev on a team is the only negative - and it is a small one - in my 'lifestyle'. Fixing that would rock).
A third choice - I actually thought of sitting down and writing a book, just for a change of pace. I have a few ideas for some tech books I think are missing from thes shelves and every dev I pitched reacted with a variant of "I'd buy that RIGHT now - please please write it". What stops me is that people who have written successful tech books say that it is a pretty thankless task, and with some exceptions, financially unrewarding (though your "prestige" goes up- something I don't care a rat's ass about). If I had to choose between spending a thousand hours writing a book and a thousand hours writing code, it is somewhat hard to choose the former.
Hence the "two roads diverge" tone that permeates my thoughts. I could dive deeper into Machine Learning(and allied areas) or go do mobile app stuff. Choosing promises to be interesting.
Two Roads Diverge and all that jazz[3]
But first, before I have to make a choice, clear the backlog of people to meet (I thank you all for your patience and suffering my erratic schedules), places to visit, things to do. (Metaphorically) lie on a beach somewhere with no computers in sight. Relax, refresh. Then decide.
[1] Most projects have an official "done " date and then a later "done done" date. In this case the project was 'done' some time ago and then a rookie dev wiped out the source control repo while simultaneously trying to alter the Haskell code (vs writing a minor script in Lua, which is what the situation called for), bringing the whole cluster down, causing the (non dev) owners of the project to send an SOS to me to get on a plane pronto and put out the fire.
Some fences have been built to avoid this kind of FUBAR situation from happening again so now I am "done done"
[2] One significant milestone in one's evolution as a developer is when you realize that you have more ideas than you can implement in your lifetime. You are even luckier when people pay you to implement them (vs being assigned to some Godawful Leasing System dev in some enterprise dev body shop say)
[3] - From Frost's poem, of course
Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could
To where it bent in the undergrowth.
...................................
I shall be telling this with a sigh
Somewhere ages and ages hence:
Two roads diverged in a wood, and I
I took the one less traveled by,
And that has made all the difference.
Sunday, May 29, 2011
"Civil-Society Hacker" barcamp at Google Gurgaon
Without extra comment, an email I received. If you are interested in this kind of thing and/or live near Gurgaon, maybe you should take a look.
From:
"Laina Emmanuel" < lemmanuel@accountabilityindia.org >
Dear Ravi,
I came across your blog while looking for hackers in India. I am looking for civil-society hackers who would like to use their programming skills to develop innovative solutions for governance. To facilitate a conversation between programmers and policy-makers, I am organizing (if it can be called organizing) a bar-camp at the Google Campus in Gurgaon, on "Technology, Transparency and Accountability" on the 5th of June.
This bar-camp is being held by Accountability Initiative. Founded in 2008, Accountability Initiative is a research initiative that aims to improve the quality of public services in India by promoting informed and accountable governance. To this end, one of AI's key efforts is to develop innovative models for tracking government led social sector programs in India. The Centre for Policy Research, an independent and non-partisan research institute and think-tank, is the institutional anchor for this initiative.
We have a wide variety of participants for the bar-camp ranging from policy-makers to technology-enthusiasts. We would be honored if you could also join us at this bar-camp and help show how hackers can contribute to governance. Also, we would really appreciate it if you could forward this invitation to others who would be interested.
Thanks and regards
Laina Emmanuel
I have no affiliation with any of the organizations mentioned in the email. Write to Laina for details.
From:
"Laina Emmanuel" < lemmanuel@accountabilityindia.org >
Dear Ravi,
I came across your blog while looking for hackers in India. I am looking for civil-society hackers who would like to use their programming skills to develop innovative solutions for governance. To facilitate a conversation between programmers and policy-makers, I am organizing (if it can be called organizing) a bar-camp at the Google Campus in Gurgaon, on "Technology, Transparency and Accountability" on the 5th of June.
This bar-camp is being held by Accountability Initiative. Founded in 2008, Accountability Initiative is a research initiative that aims to improve the quality of public services in India by promoting informed and accountable governance. To this end, one of AI's key efforts is to develop innovative models for tracking government led social sector programs in India. The Centre for Policy Research, an independent and non-partisan research institute and think-tank, is the institutional anchor for this initiative.
We have a wide variety of participants for the bar-camp ranging from policy-makers to technology-enthusiasts. We would be honored if you could also join us at this bar-camp and help show how hackers can contribute to governance. Also, we would really appreciate it if you could forward this invitation to others who would be interested.
Thanks and regards
Laina Emmanuel
I have no affiliation with any of the organizations mentioned in the email. Write to Laina for details.
Subscribe to:
Posts (Atom)