<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>surrealist</title>
  <subtitle>Really, I do not know whether my paintings are surrealist or not, but I do know that they are the frankest expression of myself. -- Frida Kahlo</subtitle>
  <link href="https://surr.eali.st/feed.xml" rel="self"/>
  <link href="https://surr.eali.st/"/>
  <id>https://surr.eali.st/</id>
  <updated>2026-11-02T00:00:00Z</updated>
  <entry>
    <title>Hello, world</title>
    <link href="https://surr.eali.st/hello-world/"/>
    <id>https://surr.eali.st/hello-world/</id>
    <updated>2026-11-02T00:00:00Z</updated>
    <content type="html">&lt;p&gt;I’m trying an experiment.   I’ve owned the &lt;code&gt;eali.st&lt;/code&gt; domain for ages and never really used t for anything.  I’ve decided that now is the time.&lt;/p&gt;

&lt;p&gt;There are three domains &lt;a href=&quot;https://r.eali.st&quot;&gt;r.eali.st&lt;/a&gt;, &lt;a href=&quot;https://id.eali.st&quot;&gt;id.eali.st&lt;/a&gt; and &lt;a href=&quot;https://surr.eali.st&quot;&gt;surr.eali.st&lt;/a&gt; and each will have different posts on them depending on where I think they belong.  &lt;em&gt;Realist&lt;/em&gt; will likely be programming stuff.  &lt;em&gt;Idealist&lt;/em&gt; is more my consulting and training hat, thinking about software, rather than writing it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Surrealist&lt;/em&gt; is everything else. Probably more personal stuff, or just plain silly.&lt;/p&gt;

&lt;p&gt;It’s possible a post will appear in multiple places.&lt;/p&gt;

&lt;p&gt;I’m going to start by hoovering up some old content and putting it in the right places and then see how  it feels going forward.&lt;/p&gt;

&lt;p&gt;The styling is very much inspired by the minimalist approach of &lt;a href=&quot;https://bearblog.dev/&quot;&gt;bearblog.dev&lt;/a&gt; :-)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Vectors of Attack</title>
    <link href="https://surr.eali.st/vectors-of-attack/"/>
    <id>https://surr.eali.st/vectors-of-attack/</id>
    <updated>2026-10-17T00:00:00Z</updated>
    <content type="html">&lt;p&gt;I’ve thought for a long time that most of the major movements I’ve been involved in were attempts to attack the same problems in different ways.&lt;/p&gt;

&lt;p&gt;I don’t mean, what’s the next big hype wave, I mean “where are the smart people who are trying to make better software, and make better software makers”.&lt;/p&gt;

&lt;p&gt;I got into patterns by reading OOPSLA proceedings in the university library.  I got into objects by way of C++ in 1992 in college when they were still teaching us C and COBOL.  I got into Agile in 1999 when it was still called “Lightweight Process”.  I got into Rails in the early days of that too. I can see my move into Apple platforms now, in hindsight, as a kind of Product Engineering thinking rather than Project thinking.&lt;/p&gt;

&lt;p&gt;I see them all as vectors of attack on the same problem.  Work on design, work on process, work on language, work on management etc.&lt;/p&gt;

&lt;p&gt;I’ve been trying to see what I think the next thing is that I want to dive into and LLMs have really shaken the snow globe so I can’t see clearly.   LLM is not the thing, but it colours all the other things.&lt;/p&gt;

&lt;p&gt;I think it might be Observability.  If we cede the problem of code generation to LLMs and use everything we learned from patterns, encapsulation, testing and low cost of change, and product thinking to help the LLM make good decisions, the next place to focus on is runtime.&lt;/p&gt;

&lt;p&gt;Not the code at all, but the running system.&lt;/p&gt;

&lt;p&gt;LLM snow makes it hard to see, but that’s what I’m going to be diving into.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Two Halves of a Career</title>
    <link href="https://surr.eali.st/two-halves-of-a-career/"/>
    <id>https://surr.eali.st/two-halves-of-a-career/</id>
    <updated>2026-10-15T00:00:00Z</updated>
    <content type="html">&lt;p&gt;I’ve been trying to think of different ways to see my career.  Often times I can see the shape of something and have to have a lot of attempts and conversations before I can find the right words for the thing I see.&lt;/p&gt;

&lt;p&gt;I’d been playing with the words to describe the first half of my career (consulting, onsite, client work, thinking a lot about new ideas, software in the large, culture, the craft itself) and the second half (more permie roles, fixed team, focussed on the needs and context of this particular place and these particular people).&lt;/p&gt;

&lt;p&gt;I’d been using “outwards facing” and “inward facing”, but there’s also a sense of “project focused” vs “product focused” and it also made me remember the endless discussions at XP conferences with ObjectMentor folks and Thoughtworkers where we all bounced between wanting to teach/consult/enable, and wanting to just find a team of good people and &lt;em&gt;build something&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I found great people at LivingSocial and Sketch and Flexibits and Mindme who just wanted to build something, but I sort of cut myself off from the outward facing, industry-at-large thinking.&lt;/p&gt;

&lt;p&gt;I still don’t have the right words.  Maybe you have some ideas for the shapes I see.  The two phases (eras?) are not positive and negative, they’re just different, and I’ll keep working to find the right words.&lt;/p&gt;

&lt;p&gt;To quote Ron Jeffries, “how will I know what I think until I hear what I say?”&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What&#39;s Next?</title>
    <link href="https://surr.eali.st/what-s-next/"/>
    <id>https://surr.eali.st/what-s-next/</id>
    <updated>2026-10-01T00:00:00Z</updated>
    <content type="html">&lt;p&gt;As I begin the search for what’s next, work-wise, I’m forced to accept that it will likely involve using LLMs.  Given all the shared ethical concerns, none of us have been using LLMs at work, but I’ve played a &lt;em&gt;little&lt;/em&gt; with Claude in my spare time.&lt;/p&gt;

&lt;p&gt;What I have noticed, is that it replaces the part of programming I wasn’t very good at - getting started from a blank sheet of paper… overcoming analysis paralysis, trying to get it right first time.&lt;/p&gt;

&lt;p&gt;What it &lt;em&gt;doesn’t&lt;/em&gt; replace, I have found, is the part I have traditionally been &lt;em&gt;very&lt;/em&gt; good at - refactoring and design.  Taking a complex, unstructured codebase and cleaning it up.&lt;/p&gt;

&lt;p&gt;What the LLM produces “works”, but if I want to understand that code and be responsible for shipping it, there’s still (for me) a vital manual step in reading the code and spotting opportunities for clarity, or reuse, in finding places where there’s a missing abstraction, and two things are really the same if you look at them the right way….even if those insights just end up as more input to the model.&lt;/p&gt;

&lt;p&gt;I recall Kent Beck saying (I’m paraphrasing) that LLMs made 90% of his skills irrelevant but 10% became vital.  I don’t think that was true for him, and I don’t think it’s true for me.&lt;/p&gt;

&lt;p&gt;Maybe 10% of my value to an employer (as a programmer…I do a bunch of other stuff too) became irrelevant.  I &lt;em&gt;think&lt;/em&gt; I know exactly which 10% and it was 10% I wasn’t great at anyway.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Personal Failures and Resilience</title>
    <link href="https://surr.eali.st/personal-failures-and-resilience/"/>
    <id>https://surr.eali.st/personal-failures-and-resilience/</id>
    <updated>2018-01-21T00:00:00Z</updated>
    <content type="html">&lt;p&gt;Apologies for how rambly this post will likely be, but I’m resolved to try and write more and worry less about whether its good writing or not.  I’ve had a bit of a crash recently, and one of my realisations is that I essentially work at my job, do chores around the house and then “veg out” in front of TV or Xbox.  Thats it.  Just those three things.&lt;/p&gt;

&lt;p&gt;I’m not sure when I stopped having hobbies, but it seems to me its been a while.&lt;/p&gt;

&lt;p&gt;Actually I don’t even mean a hobby, I’m trying to call it creative relaxation instead of “hobby”, because a hobby seems to me a thing like building models, or playing golf, and those aren’t the kinds of thing I’m talking about. What I mean is that in my “time off” I am doing nothing creative or useful.  I’m not exercising, I’m not building or making or learning stuff, I’m simply vegetating in front of the TV.&lt;/p&gt;

&lt;p&gt;This should be an easy problem to solve.  Go for a walk every saturday morning.  Sign up for a course every tuesday night.  But yet I find that I naturally rebel against structure and schedules.&lt;/p&gt;

&lt;p&gt;Anything I decide to do on a scheduled basis I will find a way to screw up.  I have to skip this tuesday because Hope has a show or Jane has a class and so once I miss one, I have failed so I just give up.&lt;/p&gt;

&lt;p&gt;It’s like giving up your web business the first time you have an outage instead of being proud of “4 9s” reliability.&lt;/p&gt;

&lt;p&gt;Also, I realise I’m sort of blaming my family for making it difficult to carve out time for myself to do some creative relaxation, but in the end it’s nobody’s fault but mine.&lt;/p&gt;

&lt;p&gt;When I used to travel I’d tell myself it will be nice to get away and have evenings to myself with nothing to do but work on some interesting coding project. Inevitably all I’d do is watch TV and sleep.&lt;/p&gt;

&lt;p&gt;I think I hit rock bottom yesterday. Jane and Hope were in Edinburgh and Isaac was visiting a friend, I didn’t know for how long, all a bit vague. So I’m in the house, alone, with all the time to do something interesting. I told myself that I couldn’t start anything big or go anywhere cause Isaac could call for a lift home at any point. End result, between 2pm and 7pm I ate fried egg rolls for lunch, Domino’s for dinner and spent the rest of the time playing Xbox or watching Star Trek on Netflix. Thought about renting an actual interesting movie but decided not to as I was sure I’d just get interrupted.&lt;/p&gt;

&lt;p&gt;I had 5 hours and I did nothing but burn time between eating bad food as some kind of “woo I’m alone!” treat. It wasn’t even a treat. The food didn’t make me feel happy, just the idea of eating bad food because nobody could stop me made me happy.&lt;/p&gt;

&lt;p&gt;So what can I do? How can I motivate myself into a routine. How can I get a little exercise, or do something a little creative every day?&lt;/p&gt;

&lt;p&gt;I don’t know any trick to it other than trying again and (most importantly) not getting discouraged if I miss a day.&lt;/p&gt;

&lt;p&gt;So I’ve set up the Streaks app for the following:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;complete my Apple Watch activity rings every day&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;8000 steps a day, which is my current goal in Pedometer++ and I know I can hit it by doing an entirely reasonable amount of exercise.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;don’t eat bad food.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;write something every day.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’m also trying to figure out whether to dust off my electric piano or get myself a guitar as both of those are things I have tried (and failed) to learn before. That will become number 5 once I figure out what I want to do.&lt;/p&gt;

&lt;p&gt;2 exercise things, 2 creative things and 1 food reminder.&lt;/p&gt;

&lt;p&gt;This is the first day (managed 12,000 steps) The key will be to see how resilient I will be in the face of inevitable failure.&lt;/p&gt;

&lt;figure&gt;
  &lt;img src=&quot;/images/2018-01-img-1800-1.jpg&quot; alt=&quot;habit tracker showing 4 habits&quot; loading=&quot;lazy&quot;&gt;
&lt;/figure&gt;
</content>
  </entry>
  <entry>
    <title>micro.blog</title>
    <link href="https://surr.eali.st/micro-blog/"/>
    <id>https://surr.eali.st/micro-blog/</id>
    <updated>2018-01-05T00:00:00Z</updated>
    <content type="html">&lt;p&gt;I’m writing this all out here, mostly so I can point to it from a micro.blog post and ask for some suggestions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Want&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I like the idea that I post what I’m going to continue to call my ‘tweets’ to &lt;em&gt;My Own Thing&lt;/em&gt; and that they are just mirrored into twitter (&lt;em&gt;Someone Else’s Thing&lt;/em&gt;).  There’s some confusion there around replies.  If someone on twitter replies to my tweet and I go into twitter to reply back, thats &lt;strong&gt;not&lt;/strong&gt; going to be on &lt;em&gt;My Own Thing&lt;/em&gt;, but in general I like the idea of my posts, both long and short, being &lt;em&gt;My Own Thing&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I have&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I have an existing blog, here, on Wordpress.  Its available as both &lt;a href=&quot;http://alancfrancis.com/&quot;&gt;alancfrancis.com&lt;/a&gt; and &lt;a href=&quot;http://alancfrancis.wordpress.com&quot;&gt;alancfrancis.wordpress.com&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;I have a twitter account &lt;a href=&quot;http://twitter.com/possiblyalan&quot;&gt;@PossiblyAlan&lt;/a&gt;.  I haven’t switch micro.blog to mirror to it yet.&lt;/li&gt;
  &lt;li&gt;I have registered for &lt;a href=&quot;http://micro.blog/&quot;&gt;micro.blog&lt;/a&gt; as &lt;strong&gt;acf.&lt;/strong&gt;  I have a paid plan which gives me acf.micro.blog, which is not &lt;em&gt;My Own Thing&lt;/em&gt;, its &lt;em&gt;Manton’s Thing&lt;/em&gt;.&lt;/li&gt;
  &lt;li&gt;I have created a &lt;a href=&quot;https://github.com/acf/acf.github.io&quot;&gt;GitHub pages repo&lt;/a&gt; and sent micro.blog to mirror into it (though its not jekyll-configured yet).  So currently I post to &lt;em&gt;Mantons Thing&lt;/em&gt; and then mirrored into &lt;em&gt;My Own Thing.&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;I have the micro.blog apps for iOS and Mac, which can post to micro.blog or Wordpress.&lt;/li&gt;
  &lt;li&gt;I have the Wordpress iOS app for posting to Wordpress.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Questions I Have&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It seems like I should ditch the hosted micro.blog as it runs against the idea of posting to &lt;em&gt;My Own Thing&lt;/em&gt;.  I’m currently just posting to &lt;em&gt;Mantons Thing&lt;/em&gt; instead of &lt;em&gt;Jack Dorsey’s Thing&lt;/em&gt; and then mirroring into &lt;em&gt;Githubs Thing&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;That means that I’d essentially just post to wordpress and have hit be mirrored into &lt;em&gt;Mantons Thing&lt;/em&gt; which would then mirror it into &lt;em&gt;Jack Dorsey’s Thing&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Does that then mean that all micro.blog would be is a way to put my Wordpress posts into the micro.blog audience and the twitter audience?  I can’t see why I’d need the apps then?  They say they can post to Wordpress, but I can already do that with more complete tools.  This feels like I must be missing something.&lt;/p&gt;

&lt;p&gt;Maybe I’m confusing a bunch of use cases ?&lt;/p&gt;

&lt;p&gt;Perhaps one use case is you stop using twitter, and you switch to using the micro.blog apps and a hosted micro.blog and you swap &lt;em&gt;Jack’s Thing&lt;/em&gt; for &lt;em&gt;Manton’s Thing&lt;/em&gt;, but you know you can get at &lt;em&gt;Manton’s Thing&lt;/em&gt; via RSS or export it.  Thats one use case for &lt;strong&gt;someone&lt;/strong&gt;, but not me as it’s still not &lt;em&gt;My Own Thing&lt;/em&gt;, its just a safer and more open &lt;em&gt;Someone Else’s Thing&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The other use case where I post to Wordpress ( &lt;em&gt;My Own Thing&lt;/em&gt; )  and just use a micro.blog username to consume the RSS and cross post to the micro.blog TL and the twitter TL is a separate thing that doesn’t require the micro.blog apps at all?&lt;/p&gt;

&lt;p&gt;Assume I post direct to Wordpress, then.  I am ignoring the micro.blog app and hosted solution and just posting to &lt;em&gt;My Own Thing.&lt;/em&gt;  Do I keep posting short and long form posts to &lt;em&gt;alancfrancis.com&lt;/em&gt; ?  Will micro.blog show short form posts inline and link to long form ones?  Maybe I should create a second Wordpress blog &lt;em&gt;micro.alancfrancis.com&lt;/em&gt; which is just the micro.blog?  That means its always ‘tweets’ and they can be duplicated into the micro.blog timeline and twitter, but it does mean its entirely separate from the main wordpress blog.&lt;/p&gt;

&lt;p&gt;*sigh*&lt;/p&gt;

&lt;p&gt;Anyway, analysis paralysis and thoughts welcomed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE: I just cancelled my subscription.  The only story I could actually understand was the hosted one which mean I was just posting to &lt;em&gt;Mantons’ Thing&lt;/em&gt; instead of &lt;em&gt;Jack’s Thing&lt;/em&gt; and that didn’t seem worth the effort_._  I’ll just keep tweeting on twitter and blogging here on Wordpress.&lt;/strong&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>I was looking for a job and then I found a job</title>
    <link href="https://surr.eali.st/i-was-looking-for-a-job-and-then-i-found-a-job/"/>
    <id>https://surr.eali.st/i-was-looking-for-a-job-and-then-i-found-a-job/</id>
    <updated>2017-05-20T00:00:00Z</updated>
    <content type="html">&lt;p&gt;Well.&lt;/p&gt;

&lt;p&gt;Having written a couple of times about what kind of things I wanted and didn’t want to do, and having decided to really take my time an opportunity came along that ticked pretty much every box I had.&lt;/p&gt;

&lt;p&gt;I won’t be starting right away.  I’m going to finish up my contract and LS work at the end of June, and then I promised myself and my family that I’d take all of July off.  Kids are on holiday so its a chance to spend some time together as a family.  Its also the anniversary of Jane’s accident so we’re not sure how that will affect us… whether we’ll want to go away or stay home.&lt;/p&gt;

&lt;p&gt;But this post isn’t about that.  Its about the job that I’ll start formally on August 1st.&lt;/p&gt;

&lt;p&gt;I’m absolutely delighted to say that I’ll be joining &lt;a href=&quot;https://www.sketchapp.com/about-us/&quot;&gt;Bohemian Coding&lt;/a&gt; to work with the team on the award-winning &lt;a href=&quot;https://www.sketchapp.com/features/&quot;&gt;Sketch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So what kind of job is it?  How does it manage to tick my various boxes ?&lt;/p&gt;

&lt;p&gt;My key goal was to find a place where I could parlay my “senior” skills in one area to allow me to be a junior in another, and I think I specifically mentioned Mac development as a thing I hadn’t done much of and would like to do more of.  Thats what I’m going to get at Bohemian.&lt;/p&gt;

&lt;p&gt;The role isn’t quite defined yet, and that’s by design.  I’ve described the kind of work I do as the spaces in between the moving parts of a team.  Sometimes its oil to reduce friction, sometimes its glue to increase cohesion, but in both cases its moving through the people who do the real work and figuring out ways to make the whole better than the sum of its parts.  Thats the kind of thing I’m going to be doing with Bohemian.  Not really quite a project manager.  Not really quite a team lead.  Not even quite a coach. Luckily Bohemian doesn’t have job titles so I don’t need to even give it a name.&lt;/p&gt;

&lt;p&gt;I’m going to be asking a lot of questions, trying to understand whats working and what isn’t, and how to help this amazing team be even better.  Thats my day job.  I couldn’t ask for a better one.  I’m also hoping that by being involved in the day to day operations of a Mac development team I get a chance to try a few small stories, or pair a little on some larger ones.&lt;/p&gt;

&lt;p&gt;Bohemian is distributed by design, with people all over the world.  This means that the day to day practicalities of my job won’t change.  I keep my small office a couple of miles from the house.  I’m close to Jane’s work and the kids schools in case I’m needed (which I am more post-accident).&lt;/p&gt;

&lt;p&gt;I’m glad I waited.  I’m glad I didn’t panic.  I’m glad I took the time to have a lot of conversations and be sure about what I was looking for.  I’m glad I didn’t go into a single interview desperate for a job at any cost.&lt;/p&gt;

&lt;p&gt;I was looking for a job and then I found a job, but heaven knows I’ve never been less miserable.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Know Thyself</title>
    <link href="https://surr.eali.st/know-thyself/"/>
    <id>https://surr.eali.st/know-thyself/</id>
    <updated>2017-04-14T00:00:00Z</updated>
    <content type="html">&lt;p&gt;One thing I’ve always been guilty of is honesty.&lt;/p&gt;

&lt;p&gt;That might sound a bit weird, but essentially I am alway happy to be clear at what I’m not good at.  This is often interpreted as imposter syndrome, or typical scots self deprecation, but its not.  I’m also pretty clear on what I &lt;strong&gt;am&lt;/strong&gt; good at.&lt;/p&gt;

&lt;p&gt;I’ve been trying to find a nice clear way of summing it up, but I can’t really do better than “I’m a coach, not a manager” and like so much of the XP/Agile terminology, that can really confuse or irritate people, so I’ll try and explain.  This will certainly be rambly.  As Ron Jeffries has said “&lt;em&gt;how do I know what I think until I hear what I say?&lt;/em&gt;”&lt;/p&gt;

&lt;p&gt;In the much maligned &lt;a href=&quot;http://www.myersbriggs.org/my-mbti-personality-type/mbti-basics/the-16-mbti-types.htm&quot;&gt;Myers-Briggs Type Indicator&lt;/a&gt; I come out consistently as INFP/ENFP, which is quite different from a lot of programmers who are often ISTJ/ESTJ.  I am intuitive.  I make a lot of leaps and guesses and many of them turn out right.  To quote Mr Jeffries again “&lt;em&gt;I’m not smarter than other people, I just make mistakes faster&lt;/em&gt;”.  I try things.  I talk about how I feel about things, rather than how I think about them.  I worry about people.  The intangible is very important.&lt;/p&gt;

&lt;p&gt;I like a tutorial rather than lecture setting when I’m teaching.  I’d prefer people to ask questions and see where the discussion goes, adjusting my answers to the same questions for different people.  Looking them in the eye and seeing if I’m making sense.  This jibes with using XP to build software.  Small steps, feedback informing the next steps.  Lectures feel too much like Waterfall and I &lt;strong&gt;suck&lt;/strong&gt; at that.  If I have no immediate feedback I will overthink and worry and panic and never get anything concrete done.  There will be no software because I’m trying to make sure I get the design just right before I start,  There will be no lecture because I’ll rewrite and revisit the content over and over, aware I have to get it right before I start, rather than adjusting as I go.&lt;/p&gt;

&lt;p&gt;I like short or multiple choice exams rather than essay questions, because I get bored planning an essay out and want to just write all the things I know and move on.&lt;/p&gt;

&lt;p&gt;In many of my consulting engagements I have been glue, helping to bring disparate parts of an organisation together to share a single vision.  In others, I have been oil, providing a layer to ease the interface between parts that rub up against each other.&lt;/p&gt;

&lt;p&gt;I’m a starter, not a finisher.&lt;/p&gt;

&lt;p&gt;I don’t mean that I just want to have crazy ideas and not see them through, I mean that I enjoy being one of the guys running along behind your car, pushing, shouting, telling you whats worked on other cars, helping you get started on whatever journey &lt;strong&gt;you&lt;/strong&gt; want to go on, then move on to the next car.  I like building teams that build software.&lt;/p&gt;

&lt;p&gt;I feel naturally entrepreneurial, but my family responsibilities override that and keep me (rightly or wrongly) essentially risk-averse.&lt;/p&gt;

&lt;p&gt;As a programmer I work best alone when in the early stages of a codebase.  I like to get something working in a hacky, spiky way, then refactor until its good enough to share.  I think thats a good model for the exploration phase of a project. Let individuals own a piece they’re playing with.   On more mature projects, during the expansion phase, safety is paramount and lots of pair programming and testing is a good way to spread that knowledge around.  (phase names courtesy of &lt;a href=&quot;https://www.facebook.com/notes/kent-beck/comparing-explore-expand-and-extract-topics-in-3x/1241983035834558/&quot;&gt;Kent Beck’s 3X theory&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The most productive I have ever felt is using IntelliJ to build Java code.  It perfectly fit my “&lt;em&gt;just code it up till it works, &lt;strong&gt;then&lt;/strong&gt; do the actual work of extracting and renaming and parameterising&lt;/em&gt;” mode.  Once you have the guts of the thing, thats the best time to start designing.  What makes sense here or there, is this thing a new object, how could these two similar bits be merged to eliminate duplication?  All these  questions are better answered once you have working software.  Then you’re making exactly the right design for the software you have.  Proper, reliable, natural refactoring tools entirely change the way you can write software.&lt;/p&gt;

&lt;p&gt;I suck when I’m bored.&lt;/p&gt;

&lt;p&gt;My first manager at Panasonic, Don Grant, once had me in a performance appraisal and said &lt;em&gt;“I wish I could give you two marks for everything.  When you’re interested, you’re amazing.  When you’re not interested, you’re terrible&lt;/em&gt;”.  I was fresh out of college and horrified.  “&lt;em&gt;Well&lt;/em&gt;”, he said, “&lt;em&gt;its not necessarily a problem.  The question is are you only interested in doing things you’re good at?  Or are you only good at doing things that interest you?  If its the former, thats an issue for you.  If its the latter it’s just my job to keep giving you things that are interesting&lt;/em&gt;”.   Its definitely the latter.  I’ll have a go at &lt;strong&gt;anything&lt;/strong&gt; as long as its caught my interest.  I might suck initially, but I’m good at figuring stuff out with limited information because of the aforementioned making mistakes fast.&lt;/p&gt;

&lt;p&gt;I was the &lt;a href=&quot;http://agilemanifesto.org/display/000000001.html&quot;&gt;third independent signatory&lt;/a&gt; on the Agile Manifesto.  I was knee deep in XP for ObjectMentor when Agile became a thing, back in 2001 and as soon as Ward allowed people to sign up, I did.&lt;/p&gt;

&lt;p&gt;My favourite thing I have ever achieved is &lt;a href=&quot;https://vimeo.com/23849926&quot;&gt;bringing Zoe Keating to play&lt;/a&gt; at the Scottish Ruby Conference.  &lt;a href=&quot;https://vimeo.com/56903705&quot;&gt;Twice&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I have nothing concrete to point to.  No big open source projects, no books written. My name is in a couple of the original XP books as a reviewer, but my one attempt to write a book for the prags failed because I’m an overthinker.&lt;/p&gt;

&lt;p&gt;I’ve organised six Scottish Ruby Conferences and 4 NSScotland conference but I’ve only ever given two conference talks (one of them twice).  My entire career is based almost entirely on word of mouth recommendations.  “I worked with him and he added value”.&lt;/p&gt;

&lt;p&gt;From one perspective I feel like thats what I’m proudest of.  It should count for the most.  From another it makes it hard in situations like now where I’m considering “cold calling” for something new.  If you don’t know me, or know someone who does, how can I convince you I’m a good hire?”.&lt;/p&gt;

&lt;p&gt;I got into the ThoughtWorks interview because I put Kent Beck and Martin Fowler on my CV as references.  At one stage I listed a reference for every single job.  These days my CV is too full of jobs, so I just say “references available on request” and wonder who I’ll call if I get a request.&lt;/p&gt;

&lt;p&gt;I don’t really have an ending to this.  I’ve just kind of run out of things to say.  I did mention I suck at planning and finishing.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Where do we go from here?</title>
    <link href="https://surr.eali.st/where-do-we-go-from-here/"/>
    <id>https://surr.eali.st/where-do-we-go-from-here/</id>
    <updated>2017-04-11T00:00:00Z</updated>
    <content type="html">&lt;p&gt;I will soon be made redundant from a job I’ve held for 6 years.  Thats the longest I’ve ever been anywhere.&lt;/p&gt;

&lt;p&gt;The last time I found myself without a job, I was terrified.  How will I keep a roof over my family’s head?  What if I couldn’t ever find another job?  The fear of the unknown was enormous, mostly because the financial pressure felt crushing and imposter syndrome loomed large.  No-one will hire me because I have no idea what I’m doing.  Perhaps I should go talk to McDonalds.&lt;/p&gt;

&lt;p&gt;This time round however, I find myself in the enviable position of having enough of a redundancy package to keep me afloat for 6-8 months.  If I find a job right away, thats a nice lump sum that I could do something useful with, either personally or socially, but if not, 6 months should be plenty of time to find something.  Anything.  So thats the financial fear taken care of.&lt;/p&gt;

&lt;p&gt;And so we come, as we inevitably do, to imposter syndrome.  What am I worth?  The last time I did anything other than iOS development was about 10 years ago.  My Ruby/Rails skills are out of date, my Java is ancient history and my work consulting and training with XP/Agile process is almost certainly too old school.  I have, in 10 years buried in Apple tools and technologies, failed to keep up with pretty much anything else. The changes in web technologies, in process, in buzzwords and frameworks seem all too massive.&lt;/p&gt;

&lt;p&gt;When I did C++ for money, I did Java for fun.  When I did Java for money, I did Ruby for fun.  When I did Ruby for money I did iOS for fun, and then I kind of stopped.  Family life meant there was little time for programming outside of work, so I stopped having an eye on the new things, and which of them might be interesting as a future direction.  Back then, each transition seemed obvious.  I knew what I was interested in before I had to look for a job doing it, and each time, because I was interested and made friends in that space, I didn’t have to look hard to find a place to do it for money.&lt;/p&gt;

&lt;p&gt;This time though I find myself a little lost.&lt;/p&gt;

&lt;p&gt;How can I find a job with skills so out of date and irrelevant ?  I don’t know any of this stuff?  I need to buy books on Elixir and Go and a 10 volume set of Javascript frameworks.&lt;/p&gt;

&lt;p&gt;But wait, I know how to build good software.&lt;/p&gt;

&lt;p&gt;I know how to build good software and I’ve done it in FORTRAN and C and C++ and Java and Ruby and Lotus Notes for goodness sake and C# and ObjectiveC and Swift.&lt;/p&gt;

&lt;p&gt;I know how to build good software and I’ve done it with UML and XP and DDD and Scrum and using Jira and Pivotal Tracker and Rational Rose and index cards.&lt;/p&gt;

&lt;p&gt;I know how to build good software and I’ve done it for banks and startups and research labs and electrical retailers and power stations and Coca Cola and telecoms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I know how to build good software in anything.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So.  The imposter syndrome is kicked into touch this time too.&lt;/p&gt;

&lt;p&gt;I feel strong.  I feel ready.  I have no idea where I’m going or what I’m going to do next, but thats a blessing, not a curse.&lt;/p&gt;

&lt;p&gt;It might, as I’ve said, be lovely to spend the next 6 months as a junior Mac developer or Project Manager or devops engineer and be the worst guy in the band.  To focus on the small and the specific.  It might also be lovely to finally take a step up into technical leadership across a small organisation.  To think bigger and work harder out of my comfort zone.&lt;/p&gt;

&lt;p&gt;Its a magical world, Hobbes ol’ buddy.  Let’s go exploring.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>The Worst Guy in the Band</title>
    <link href="https://surr.eali.st/the-worst-guy-in-the-band/"/>
    <id>https://surr.eali.st/the-worst-guy-in-the-band/</id>
    <updated>2017-02-17T00:00:00Z</updated>
    <content type="html">&lt;p&gt;In Chad Fowler’s wonderful &lt;a href=&quot;https://pragprog.com/book/cfcar2/the-passionate-programmer&quot;&gt;Passionate Programmer&lt;/a&gt; book (which you should buy), theres a chapter called “Be the Worst”.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Legendary jazz guitarist Pat Metheny has a stock piece of advice for young musicians, which is “Always be the worst guy in every band you’re in”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Chad spins this musical advice into advice for programmers.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Being the worst person on the team has the same effect as being the worst person  in the band.  You find that you’re unexplainably &lt;em&gt;smarter.&lt;/em&gt;  You even speak and write more intelligently.  Your code and designs get more elegant, and you find that you’re able to solve hard problems with increasingly creative solutions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’ve tried to make a habit of this, and so far I think I’ve succeeded.  You’d need to speak to my co-workers to confirm.  I’m looking for a change in work right now, and its got me thinking.&lt;/p&gt;

&lt;p&gt;The advice above is essentially saying be around people who are better than you, so you’re always learning.  But there are a couple of issues with this.&lt;/p&gt;

&lt;p&gt;Firstly, you’re good enough to be in the band at all.  Chad talks a little about this in context.  You want to be the worst guy in the first division, rather than the best guy in the second, but that assumes you have the requisite skills to be in the first division.  Secondly, it assumes some relevance or connection between you and the others.&lt;/p&gt;

&lt;p&gt;You can become a better saxophonist by playing regular jazz with a really good pianist, drummer and bassist, assuming they let you in to their band, but what if you really want to play drums.  You can’t be the worst drummer in that band.  They already have a drummer who’s good.&lt;/p&gt;

&lt;p&gt;Maybe you go join a drumming group.&lt;/p&gt;

&lt;p&gt;You’re surrounded by drummers who are better than you.  You are the worst drummer and every day you work with better drummers and get better at drumming.  But now you’re a junior drummer, and you’re getting paid as a junior drummer, and you’re playing basic stuff all the time, which is improving you as s drummer, but not really stretching you as a musician.  &lt;strong&gt;Your expert saxophone status does not buy you recognition in that drumming group&lt;/strong&gt;. You’re a beginner.&lt;/p&gt;

&lt;p&gt;What you want is a bigger band.  A band that already has a great drummer, but can hire you for your saxophone skills 6 days a week and indulge your desire to be a junior drummer 1 day a week.&lt;/p&gt;

&lt;p&gt;A couple of times in my career I’ve wanted to change direction, and both times I’ve been lucky.  My first proper Ruby job, my Java experience and Agile consulting work was enough to pay my way while I was a junior Ruby engineer working with a team of experts.  My first proper iOS job, that Ruby (and the Agile work again) was enough to justify a senior engineers position and salary while allowing me to essentially be a junior iOS guy and learn the ropes.&lt;/p&gt;

&lt;p&gt;I’m feeling like its time again.  I’d like to be a junior something.  Maybe Mac development, maybe project management, maybe something else entirely, but I have to find the right band.  Someone that’ll happily hire my saxophone while I learn my crash from my splash.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Link: How Designers Destroyed The World</title>
    <link href="https://surr.eali.st/link-how-designers-destroyed-the-world/"/>
    <id>https://surr.eali.st/link-how-designers-destroyed-the-world/</id>
    <updated>2017-01-24T00:00:00Z</updated>
    <content type="html">&lt;p&gt;&lt;a href=&quot;https://vimeo.com/68470326&quot;&gt;Webstock ’13: Mike Monteiro - How Designers Destroyed the World&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
</feed>
