Off-topic, but this sounds like an awesome team arrangement. How was your team formatted? Any tips on finding a place with teams built like that?
One approach @charlie is to ask your job interviewers how they handle a sprint (or a release) where one of the specialists is out. If they answer with, “oh that’s not a problem, we all pinch in where we can” then you know that you’ve found a reasonably healthy team. If they struggle with the question, or if they say “well we just move the deadline” you might have to dig deeper.
Good to know, thanks for the response!
That was a very rare case (in my experience) of effective self-organization. It was like that because we made it that way.
I asked, "Hey, instead of me formatting this whole thing with CSS and doing it wrong, and then you having to undo everything, what if I just output raw, unstyled HTML, and you added the CSS?"
Then I'd take a stab at adding class names to the HTML elements which he or she would use to add styles. Sometimes they would ask me to rearrange the elements a little or add different classes.
On the last project I worked on we even had more than the usual input into what the intent of the feature was and how it should behave. The result is that we rapidly developed one of the most useful features I'd worked on in years.
The rest of the time, both before and after, I was asking the same question. Where do we find these teams who do "real" agile and write unit tests and refactor stuff?
My best answer is that it's difficult. Look for companies whose primary purpose is to deliver software, as they're way better at it than companies who do other stuff and, by the way, they need some IT people to make stuff.
Also, try companies that provide consulting. It's not perfectly glamorous. You can still end up doing staff augmentation with the exact same aforementioned non-software companies. But they still know the difference, and they often organize their own teams. You're also more likely to move between clients, so something is less-than-ideal you're not there as long.
If you ever read Erik Dietrich's blog he'll recommend that everyone should become a self-employed consultant so that you have more control to choose the teams you work with, and if they're paying you to consult (vs. just write code) then you can actually influence them to work more effectively.
But my short answer is just that it's hard.
Thanks so much for the detailed reply! I appreciate the advice greatly. I'm hoping to eventually move into consulting, speaking, and freelancing, so that's fine by me. I'd love to be the front-end half of the sandwich in a team like that.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.