Results tagged “Technical Staff” from ITJOBLOG

I've been traveling, at three conferences in three weeks. At some point during these weeks, a few people asked me, "What's the difference between a technical lead and a first line manager?" Given their job descriptions, which include helping people manage their careers, seems to me that the answer is $10,000-$20,000. That is, the technical lead was being paid less, but doing the same work as a manager.

Ok, maybe I'm being a little cynical. Wouldn't be the first time today :-) But, I don't think anyone is restricted from being a technical leader. That person doesn't have to manage people or help them manage their careers. My opinion is that anyone who is responsible for results generate by other people is some kind of manager.

But a technical leader, is in Jerry Weinberg's words, "Leadership is the process of creating an environment in which everyone feels empowered", from Becoming a Technical Leader.

The people I spoke with did that. They also did many other kinds of work, including leading design/architecture work, which is what many of them thought the tech lead job was. But if you think about creating an environment, you can see that if you facilitate a decision, you're a technical leader. If you make it easier to ask for support or help, you're a technical leader. If you ask for whiteboards or chairs or some other tool, and that tool makes it easier for people to work and collaborate, you are a technical leader.

I wish organizations would stop using the term "tech lead" to stop paying first line managers what they are worth. I wish more people would exercise their technical leadership muscles.

Just remember, it doesn't matter what they call you, you can be a technical leader.
So you've decided the agilists aren't completely crazy and maybe it's time to think about it. And, your waterfall project is in the dumps. You'd like to make some progress, and oh, maybe even find another job because you can't see how your company can live through this project disaster.

If you're considering how to integrate Agile into your work, here are four tips you can try to implement now:

Decrease the size of your tasks so you can get to done faster. One of the issues in non-agile lifecycles is that the tasks tend to be too big. It's common to see 1-week, 2, 3, 4, even 6-week tasks. The problem with tasks that large is that people get lost in the task. They lose sight of what done means. They wait until too late to start the task (also known as student syndrome). It's just too hard to do. So, instead of trying to manage big tasks, break every task down into smaller pieces. I like 1 or 2-day tasks max (also known as inch-pebbles).

Work in short timeboxes. Once you have smaller task sizes, make a todo list for just one week at a time. I have to admit, I have my big todo list, so I can track and see all the work I have to do. But my working todo list is just one week long. Because I work in short timeboxes of one week, I have a pretty good idea of what I can get done in a week. And, I know when I'm not making progress in a week, so I have some early warning signs.

This can be quite difficult to do if you have many partially finished tasks, or if your boss wants you to multitask, or if you are depending on other people for input into your work, or if you've never received feedback about your estimates. Don't worry if your estimates are wrong. Estimates are just guesses, so guess for now, and track your work. I don't track actual hours per task, I just look at my one-week list and see how much I have on it and where I am during the week, and where I am at the end of the week. I often have a task or two I did not finish. I don't beat myself about it and neither should you. Take that information and re-estimate what you can do for the next week.

Finish partially completed work. One of the biggest changes I found when I moved to agile is I had much less partially completed work. I still have several articles (and books!) in progress, but they are all at reasonable stopping points. When you have partially completed work that's not at a reasonable stopping point, you feel a pull to go back to it until you get it to a reasonable stopping point. That pull causes you to multitask, which prevents you from finishing more work. So the more work you can get to a reasonable stopping point, the better. That frees your mind to go do the next piece of work. Which means you can do small pieces of work and get to done faster.

One of the ways I do this is to use the SCM system to help me. I integrate continuously, no matter what I'm writing (code, tests, documentation, project plans). That way the latest version is checked in, and I know the state that it's in and I don't have to think about it.

Know what done means. Any given task may have a different definition of done, but a project's definition of done is "fit to release." Since the project has to be ready to release, I like my pieces to be ready to release also. Sometimes, as one individual contributor, that's not possible until other people have done their parts. But make your pieces as done as you can make them.

For me, this means working by feature more than working by architecture. If your project manager is still organizing the work by architecture, offer to work with others across the architecture so you finish a feature, even if you don't finish the architectural layer. Yes, this may seem counter-intuitive, but it's faster and leads to finished product earlier.

Why should you do this? Because if you're looking for a job, even if you don't have agile experience, these practices will help you add value to your organization now. And you can talk about them in interviews.

Current Vacancies from CWJobs

(* Required field)










Preferred format