Over a million developers have joined DZone.

Tech Leading: Initial Thoughts

· Java Zone

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

As I mentioned in an earlier post I’ve been playing the role of tech lead on the project that we’ve been doing at ThoughtWorks University so I thought it’d be interesting to note down some of my observations so far.

Out of the tech leads that I’ve had I liked the style of Dave Cameron the best.

He viewed himself more as a technical facilitator rather than as a person who should make every single decision about how a system got built which meant that others also got a chance to take some responsibility.

Varying the style

I wanted to apply this style with everyone on the team such that I would facilitate a conversation with the pair about the story that they were working on but they would decide how they went about it.

This worked reasonably well for some of the people but I quickly noticed that others were ending up quite lost if we only had a brief conversation.

They needed a bit of a structure around what they were going to work on so in those cases we tiny tasked out the implementation together.

A fresh view

When I worked with Christian as my tech lead I noticed that when we were stuck on something he would often come round and ask a question which guided us to a solution which had been completely evading us.

I don’t yet do that as well as him but I have found that having a fresh and higher level view of a problem means that you can see things which the pair may now be missing because they’re so stuck in the implementation.

That’s happened several times and is always immensely frustrating for the pair involved!

Knowing what’s on the wall

I’ve got quite used to only having to know what story I was working on and not really needing to know that much about what the rest of the team are working on.

That approach doesn’t work quite as well in the tech lead role where you need to be the one who has an idea of what’s going on with everything that’s in play.

This is the thing I’ve struggled the most with and there have been occasions where stories have been in play way too long where I could have intervened and help the pair work out how to finish them.

Other people that I’ve spoken to have suggested that one way of ensuring you know what’s going on is to browse every checkin that’s made to the repository each day.

I did try this a couple of weeks ago but it’s really time consuming and I think you can get information about a story quicker by just talking to the people working on it.

 

From http://www.markhneedham.com/blog/2011/04/17/tech-leading-initial-thoughts/

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}