I'm Samir.


Hey, you wandered over here.

Oh, yeah. So who are you, exactly?

Samir Talwar. I'm a software developer in London, UK. I help people automate things.

Like what?

It really depends on when you're asking. At any given moment, I might be building a small website, orchestrating a complex deployment pipeline for a large piece of server software, automating a manual data entry process or triaging performance bugs.

I don't just do, though. I teach. From low-level development skills such as test-driven development, the benefits of type safety, object-oriented programming, functional progamming up to cost-saving, how to build and run a development team, which technologies to use, how the effects of decisions change over time, and anything in between.

I am a believer in quality. The software I create will last. Rewrites are hideously expensive, so I spend time discussing, prototyping and researching to figure out what needs to be built before it gets built.

Cool. What else?

I like to create things for me too. Recently, I've been going back to basics, playing with the fundamentals of languages and paradigms, attempting to break them and recreate them as something else. Usually to mess with people, though there's often a point to the project too. There's some examples below.

My last project was Rekord. It's a different take on developing Java applications without the standard POJOs, builders, matchers and serializers we spend so much of our time writing. If you're sick of Java boilerplate (and Java 8 hasn't solved your problems), you might find it interesting.

I'm interested in deployment, web development, functional programming, simple communication mechanisms and plugging things together. My GitHub page has a few random things I've been working on.

I get it. You're a code monkey.

Sometimes, but that's the least important part of software development. I like sharing my knowledge and experiences with other people. I help run an annual unconference, SoCraTes UK, as part of the London Software Craftsmanship meetup group. It's a three-day retreat in the Cotswolds designed to get developers to come out of their shells and teach each other about everything they can. I've also given talks at a number of events, ranging from five-minute lightning talks to a full hour of live coding on a projector.

I have spoken at a number of conferences, including Devoxx UK and SwanseaCon, predominantly on types and functional programming. If you're interested in the material, you can find the essay forms on my talks site, as well as links to the slides and, when available, videos.

I also tend to spend a lot of time thinking about processes and mechanisms for developing software the "right" way, whatever that might be. If you're interested in my musings, take a look at my blog

Lastly, I spend a lot of time shouting about code, software and the state of the industry on Twitter. Incidentally, you should totally follow me on Twitter.

Where did you learn all this?

I learnt a lot at university. I got my masters from Imperial College London in Computing. A lot of it is self-taught though. I've spent a lot of time before, during and after university teaching myself, mostly through going to random events around London and listening to what people have to say.

You seem nice. I'd like to talk to you.

Cool. You can email me at [email protected].

You seem smart. I'd like to hire you.

Alrighty then. If you like, you can take a look at my CV. Contact details are up above. I'm currently available for contracts and consulting.