anton maximov

Logo

23 May 2006

no fluff just stuff: day first talks

this year i was actually anticipating the conference, waiting impatiently for the release from work tedium. i tend to feed on the energy of others, and these intense three-day gatherings are a perfect boost that lasts for months afterward.

this time i chose to attend fewer purely technical talks. i think some of it is the result that i have to work with people a lot more in my new role, and i am trying to figure out how to be better at it - there seems to be a lot of non-tangible things that i am struggling with. another side of it - i am trying to decide what architecture is as opposed to development, where is it that i am trying to go, what is it that i am interested in doing, and what my focus should be, given that the time is limited.

of course some of it also comes from the gratifying masturbatory effect of bitching about work and those cavemen coworkers (the theme that was running strong last year, and something i am too eager to jump into myself).

on friday afternoon i caught the end of ramnivas laddad talk on AOP (“state of aop”, to be exact). nothing groundbreaking there, just a nice rundown on load-time weaving (relying on JVMTI agents), bea’s take on aspects in jrockit (do not miss reflective calls), xml and annotation syntax for aspects, eclipse AJDT, java5 features support. it was a little disappointing to see the obligatory logging example (i thought any AOP guy is fed up with these). most of this is already familiar to anyone that followed the AOP landscape, even from the distance; not a bad talk for anyone that is just starting out. one of the best AOP talks last year was on step-by-step adoption techniques with cookbook examples. i think this is the best way of introduction, since a lot of people are just paralyzed by the power available to them, not knowing where to start.

next i stopped by venkat’s “refactoring your code” talk. i remember him being an excellent speaker, and i primarily wanted to see how he explains this already familiar topic - perhaps copy a trick or two to use myself if i were to speak in front of others. instead i was simply drawn in and followed every moment of the presentation. he was coding at breakneck pace, and yet amazing lucid, humorous, and illustrative, tying it altogether with the agile development principles. the examples were excellent; he was getting feedback from the audience, and yet driving the talk; setting up little traps and problems and solving them effectively, illustrating the point. his real-life anecdotes are so vivid often crossing the boundary into absurd; and they stick in your mind, together with his deadpan delivery. he is so natural, none of this stuff is forced or awkward. excellent talk; as a teacher he is unsurpased. a nice example of repetition as a stepping stone that gradually lets one refactor methodically and safely. some quotes from william zinsser on writing. and some famouse quotes (perhaps if i write them down, i will actually remember them):

perfection is achieved, not when there is nothing left to add, but when there is nothing left to remove. (Antoine de Saint-Exupery)

Programs must be written for people to read, and only incidentally for machines to execute. (Abelson and Sussman)

unit tests and code is like my left leg and my right leg - i do not walk three miles just on my right leg and then switch

this set the theme for venkat’s talks for the rest of the weekend - i attended his talks on seemingly familiar topics, but he managed to either illuminate them from a different perspective, or really arrange them properly in my head, clarify and organize them. i seem to get a lot of stuff on very intuitive level, and then it takes me a while until i can clearly formulate it. teaching would probably be the best way to get it organized, but venkat’s talks is a nice shortcut for that. some of this stuff is also available on his website.

still under the impression from the books i’ve read, i went to see bruce tate’s talk on effective teams (“effective teams: the dirty little secret”). it was pretty decent, although a little tedious at times (when we had to remember what the letters were corresponding to the personalities and then go through the examples). up to this date the best books on team organization were “peopleware”, “rapid development”, two joel books (“best in software writing 1” and “joel on software”) and many-many blogs on interviewing (stevey’s drunken blog rants is one of the recent favorites). so a lot of the stuff was already familiar, although it was nice to see a distillation of personalities (rock vs. visionary, as well as myers-briggs personality test), as well as reaffirmation that good teams need both (here it is also pertinent to mention the difference between a developer and a programmer, and where each one fits). another good point - mentoring (get one; perhaps even outside of company) and keeping up.

looking through the slides for the first day, i realized that glenn vanderburg had a very nice talk on collections api; filled with practical details, very hands on, very useful. i think this goes for all of his other talks that weekend - very well researched, very thorough, very technical, in retrospect, i wish i have attended more of them.