I'm the only developer in the (small) company that I work for, although I'm fortunate that my boss is very technical. What tips do other people in a similar situation have.
I'm wondering about how you handle some of the following issues:
I'm not really looking for pointers to technical/on-line resources, I'm looking for practical suggestions.
I was a lone developer for 4 years at my previous job. At first I was really enjoying the flexibility in making my own decisions and the speed with which I could do things without having to wait for group approval. But after a year or so I started to worry about the impact my developing on my lone island would have on my career. This is what I did to address my worries:
To counter the lack of other software dev input I started following tons of blogs on software development (although at the time they were more essays as opposed to quick blog format of today). I also bought books on software development methodologies and included their advice in my work to get a feel for their effectiveness.
To stay fresh and not isolate myself I kept trying to push new technologies (languages, frameworks, etc) into my work projects. That kept me both excited about what I was doing at work and also kept me on the cutting edge of tech. I was fortunate enough that I got flexibility to do that at work, provided I had a decent reason to use said new technologies.
I tried contributing to open source projects. Personally, I had a couple of bad experiences there and haven't tried it again since. But it's something to consider since obviously thousands of developers do it regularly and I'm sure they benefit from it.
In the end, I left my job to look for more interaction with other developers. I'm not sure if this was a result of the type of company I picked or not, but I found that technically I was ahead of the curve because of the constant diet of tech news/blogs I had fed myself on. But there definitely is great value to the questioning you get from other developers to your designs or implementation techniques. Not to mention experiencing first hand the politics of working in a group environment and the necessary techniques to navigate all that.
So if this is your first solo job, enjoy the benefits to the fullest and it will make you a better developer. But don't stick around for too long or you'll lose out on the other social aspects of development that are also just as important.
Just some ideas.
I experienced the very same issue in my previous job. So first off, my sympathies, I know it can be frustrating.
My 10 bits:
Best of luck, if you need anything else, please ask :)
[1] http://www.twitter.comI've been working in a similar way for the last two years. Here are my advices:
And yes, it's very bad when there is no one to review your code and save you from a stupid mistake... but on the bright side you'll learn how to make right decisions and what it means to be responsible for a project.
And now you have stackoverflow! Good luck!
[1] http://programming.reddit.com/I've had many years of experience working on my own, but currently I mostly work onsite at a company with many developers.
I would suggest finding local user groups.
Review a lot of code online and learn from what others are doing. Consider talking to your boss about hiring a consultant to code review your efforts periodically.
Try to hide it.
You might want to look at a similar question I posed: Best practices when "going dark" (or going solo) [1]
The only difference between you and me is that you're already in that position: I on the other hand am "still on my way".
As for your questions:
You are fortunate that you have a techie boss. At least you know you can talk to him.
And yes, Twitter [2] is your friend! I actually got into the StackOverflow beta because of it.
[1] http://stackoverflow.com/questions/35662/best-practices-when-going-dark-or-going-soloI find being a member of accu [1] is an excellent way of being part of a sizeable quality development community, and like StackOverflow it is populated largely by people who care about programming. However it is organised more as a community of developers rather than a question and answer forum.
They have a very lively set of email lists [2], on which you can discuss pretty much any topic and you will get a good response to.
They also do a superb annual conference in Oxford [3] that I managed to get to a couple of years ago, and would love to get to again. There are also regular get-togethers around the country that might be accessible to you.
You can join the accu general mailing list [4] without being a member, this would give you a chance to check it out.
[1] http://accu.org/index.phpthanks for all the really helpful answers, to sum up:
I am currently in the exact situation and yes my boss too is a bit techi. But of all these tips, I am already following most of them :). Thanks Guys for sharing your experiences and I will also try to get into local meetups etc.
I'm curious - if you were working on a difficult project, how hard would it be to share your source code in some format to get advice on a specific problem? I think that's one of the best things of working in a team, outside of the social aspects - the ability to have someone else look at what you are doing and come up with a different or better solution that you didn't think of.
If you can't share your code, I would try to come up with a solution that will allow you to seek help from and learn from others. Perhaps your company uses an OSS solution and you could contribute code to that project that would also help your company - you might be able to find a mentor on the project.