Chris Donnan : Programming – Brooklyn Style
software, trading, family, fun
Posted programming on Sunday, July 8th, 2007.
In response to Jeremy’s post “How I’m, sigh, going to become a better developer”Â
1st – Jeremy – do get and read Mike Cohn’s Agile Estimating and Planning book. I have helped many people using this book as a guide.Â
Things I Should DoÂ
- Sleep more
(small kids’ll get ya)Â
- Get better at quantitative and risk related maths  (so I can work better with *real* quants and build better automated trading solutions – when they let me)Â
- Do a project where I use ruby (again, use it or lose it) or python (even the iron variety would suffice)Â
- Blog more – I have lots to say – and I have helped (I think/ hope) lots of people – by repeating the same old songs N times… should write those down!Â
- Do a pet project with ErlangÂ
Things I Want to DoÂ
- Immerse myself all the more in the derivitatives and automated trading domains. Technology can be used as and viewd as a weapon here! Big hard challenges are here and without the domain expertiese – you will not get the challenges presented to you. I have done lots in the space of automated trading – and I have done a fair bit of work in the derivs space – but there is LOTS more to go.Â
- Write more – specifically WRT trading and technology – I have been writing for Automated Trader Magazine- but I need to do some more (and to have good content – I better learn some more!)Â
- Interrupt people less – software is people workÂ
- Focus on team(s). I have seen lots of teams of good software developers that deliver badly – what’s up with that!? Aligning people – that is hard work – and each guy/ gal programming well does not a good software product make.Â
- Get other folks to take the scrum classes. I do NOT think the scrum “pedegree” means spit – but I can only teach so many folks myself and still work. I love making teams tick. All the more, I am on a mission to see many many teams “do the agile enterprise thing”. Certification-schmertification – yeah – but – education that comes from someone besides me is good.Â
- Do a pet Lisp – scheme project.Â
- Deliver an excellent user experience to the end users of the applications (and application suites) that I am involved in. This means getting better and better at UX, HCI, Interaction design - the real user experience stuff.Â
Things I Won’t DoÂ
- Sleep more (got no time to sleep!)Â
- Work on open source projects (I want to – at a level – but I have no cycles and I believe I can be better with a single purpose- my current full time job – I give it my all.)Â
Things I am doingÂ
- Plenty of messaging related workÂ
- Plenty of event stream processing related workÂ
- Focusing on “Integrated User Experience” for trader workstationsÂ
- Programming with most of my days (and some of my nights:))Â
- Working hard at getting a big organization doing the agile engineering and process stuff (PS – hard job)Â
- Building something with WPFÂ
- Reading a LOT of books (as I always do – it is an addiction)Â
I guess that is it – I think for me – a lot of “being a better programmer” at this stage is getting many people to deliver the right thing, at the right time, with unmatchable quality and sustainability. I am not even in much of leadership position from an authority perspective. I am however in a bit of a thought leadership position currently and that is just as useful – if your thoughts help people do their jobs. It is hard to get lots of teamwork in an meritocratic environment – I have to even fight the urge myself. I could do a LOT of programming – by myself – make a small bit of people happy, but that is not the big win. To be a better programmer – I am working on a variety of meta-programming – spreading the agile memes through the organization I am participating in and helping figure out what the right thing is to build. Helping business people and technology build better relations through transparency, honesty and realistic expectations.Â
This has been an interesting exercise. I think (humbly) I am quite a good programmer. That said – I think the domain of application, the intangibles of using a piece of software as a user, the ability to add up N people and make their impact to the business be big… these things are where my head is. I can program by myself till the cows come home. Doing that and delivering timely sustainable business value that financial firms can use as weapons to win the battles in finance – that is hard. There are a zillion people that can program. How many people can influence others to help them all deliver what their users want? How many people can make software products of such high quality that billions of dollars can pump throught them? How many people can make users lives pleasant while using their software to do their daily work? I can do a fast sort, I can recite big O notation. I can do all the threading tricks you need/ want. I can talk about event stream processing, etc. Now – can I meet the other challenges? I am trying
Â
This may all sound a bit – managerial – not so – I am a programmer
I have IntelliJ and Orcas open currently (Coral8 tools too). I think the key to being a better programmer is to love it and do it. I do – and I do. Reading, experimenting, doing pet projects, and doing real projects in a domain you are interested – with other people – in is about as good as will get for being a better programmer. Other people can have a great impact on you as a programmer – and you on others.Â
-ChrisÂ
Â
Comment on this post below
You must be logged in to post a comment.
You can leave a response, or trackback from your own site.
