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.

I have almost 5 years of experience as a web developer, and feel that I should be mid-level by now, but when I walk the walk I think I'm still pretty "junior" at it.

Here's what I think is the problem: For most of my career, I seldom had any real guidance by a more senior developer and zero experience with developer teams, so I sort of had to hack my way through a lot of solutions, and do everything cut-and-dried. In practice, there was no time to waste as the only guy responsible for writing or maintaining the code. Because of this, I have no formal knowledge of the actual software development process and eventually realized that coding is only a small part of the process.

I would greatly enjoy working with a developer team with solid experience, but I am afraid it would be a very bumpy ride trying to adjust with the knowledge base that is required for development processes. As a programmer who has flied solo most of his career, what can I do to prepare to "settle in" a job working with a larger team (at least 5) of seasoned pros?

Edit: To that end I haven't passed a lot of the technical tests given out by the "big shot" companies that thrive on their software and developers. By big I don't mean like Google, but reasonably successful in the geographic area.

share|improve this question
2  
See Cowboy Coding en.wikipedia.org/wiki/Cowboy_coding –  P.Brian.Mackey Oct 11 '11 at 20:08
    
Would you suggest editing the question title to mention cowboy coding, to make the problem clearer? –  Chris C Oct 11 '11 at 20:43
add comment

2 Answers

up vote 2 down vote accepted

Be prepared to learn from your team members and realize that the way you have been doing things for the last several years may not be "up to snuff" with the rest of your team members. Code reviews will likely reveal this if they are a part of the development process.

Communication is also important, so if you haven't been doing so already, be prepared to document your code well, write external documentation, use detailed source control messages for your code changes and track issues/features/changes in issue (bug) tracking software. You need to allow your team members to see what you have done and understand why you have done it. Perhaps they will learn a thing or two from you in this manner.

Good luck!

share|improve this answer
5  
At least I have some experience with SVN. I agree with being receptive to criticism- I'd rather be humbled by developers than be heckled by people that don't know how to program. –  Chris C Oct 11 '11 at 19:49
add comment

You'll need to have the coding skills, but you also need to make interviewers comfortable with you willingness to get along with others. You need more than just wanting to be a better programmer.

Start analyzing the way you currently do things. Do you return to code and find what you wrote confusing and difficult to change? Are you repeating certain tasks over and over. Search SO sites or ask questions about how to do them better. You may not be able to inplement them. I currently program alone. I like agile development methods, but have had to adapt to my situation.

Don't just look for a team but find one that can/will teach you something. I prefer to ask questions about why things are done a certain way and get something beyond, "That's the way we've always done it." sort of answer. If everyone is going to get defensive, and not justify what they're doing, I don't feel I learn anything. Learning comes when you've discovered why you were right or wrong. Your mind has to be changed.

You may want to see where the team scores on The Joel Test.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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