Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

For the last 5 years I have developed as a lone developer. The business gives me the requirements, timescales etc and I do the rest. I choose which technology best fits the requirements, I decide on the architecture, I do all of the coding, releasing, testing and supporting.

I have been looking at moving as I feel I am missing out on agile experience, team interaction and exposure to some practices.

I was at an interview today and I was asked how I would feel having less control over the code I write as they have architects and project managers. I hadn't really thought about it to be honest and now I am wondering.

I know what I stand to gain by moving, interaction with other developers, exposure to agile/scrum and also exposure to new technologies.

My question here is, what do I stand to lose? I know I will no longer choose what technology I am using but just how little control will I be restricted to? How can I prevent myself from becoming someone elses code monkey who just has to write whatever they are told? I haven't experienced a set up with architects, BAs, projects managers etc so I am unsure what to expect. The teams are around 2-3 developers with an architect and/or lead developer.

share|improve this question

closed as too broad by pdr, GlenH7, BЈовић, Dynamic, James Jul 5 '13 at 22:21

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

This depends a LOT on the size and composition of the team. I don't think anyone can answer this question, in its current form. If it was more about what to look out for, to make sure you retain the specific bits of autonomy you crave the most, it might be a decent question. –  pdr Jul 4 '13 at 21:05
There are relatively small teams, 2 or 3 developers with an architect and/or lead developer. I say and/or as I am unsure. maybe a better question is how to prevent becoming someones monkey in that environment. As I said, due to lack of experience in that environment I dont know what to expect, which is why the question may seem vague –  James Jul 4 '13 at 21:08
That would be a much better question, in my opinion. –  pdr Jul 4 '13 at 21:14
Updated to include additions in last paragraph –  James Jul 4 '13 at 21:26
Here is an older post from SO which seems to be related: stackoverflow.com/questions/2113142/… –  Doc Brown Jul 5 '13 at 16:00
show 1 more comment

2 Answers

up vote 1 down vote accepted

I've worked in both modes, and I'm currently "in between." I develop completely on my own, but I am totally constrained as to the language I use. As for your concern, ultimately we're all monkeys to one extent or another, so at some point you'll have to decide where to draw the line for yourself. The only way to determine what any specific situation will be is to ask hard questions in the interview process.

You might actually find that you prefer the new setup, that having the ability to focus on a subset of tasks will free you to do better work. Or, you'll find that the people around you don't do their jobs, and you'll have to, for example, rewrite requirements to make them developable.

If I were you, I'd try the new setup and figure out what you like and don't like, and use that as input to your next move.

share|improve this answer
Glad I did, new environment is great and as long as what is suggested can be backed up with good reasons there is no issue –  James Sep 14 '13 at 20:32
add comment

That's actually an impossible question to answer. It all depends on the current team, the attitudes of the lead developer/architect, what constraints they have, how far into the design of the new/old systems they have gone, what legacy code they have... and a lot of other factors. You might be able to influence and change of lot of things... you might not. In the interview you need to try to get a bit of an idea of how flexible they are and how willing they are to listen to new ideas, and how risk adverse they are and what their constraints are (legacy code, skill level, management, stuck in the past etc).

At my last job interview they mentioned that they used VSS. I asked if they were willing to move to something else if it saved time for all of the developers - the boss said that he could be convinced, so it wasn't a deal breaker for me. (We moved to SVN three months later after I had proved that I knew what I was talking about).

Every job has it's unique constraints. Working on your own means you can make all the decisions - it also means you get a lot less done compared to working in a team. No job is perfect and you can't ever know what it's going to be like until you start. My advice, just do it, exercise your patience and enjoy working with a team for a while. If you hate it, move on to something else :)

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.