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.

As a newly self-employed software developer, my concern is that I am not getting the stream of feedback I have received in the past when working in groups. (I do have feedback (mostly positive) from my customers, and I do spend a fair amount of time on self-improvement.)

What should I be doing to fill the gaps? Any other one-person software shops out there? How do you stay connected and avoid becoming too enamored of your own work? Am I worrying about this too much? Thanks for your comments.

share|improve this question
1  
I think you can often learn more about coding outside of work; work is quite good for learning business though. So, you are worrying too much. Just ask questions on SO from time to time and you will learn a better way of doing stuff. –  Job Aug 22 '11 at 21:32
    
You are worrying about this too much. You seem to be doing well. –  Bernard Aug 22 '11 at 21:32
7  
Perhaps this question is too much about you. Can you rephrase it some so that it would apply to more people? The bulk of the question is your personal story. Some of that could be left out. –  sylvanaar Aug 22 '11 at 21:40
    
Fair enough. Axe has been applied to most of the personal stuff. –  nerdytenor Aug 22 '11 at 22:05
1  
@Job There's also codereview.stackexchange.com, though I haven't looked at it too much yet. –  Rei Miyasaka Aug 22 '11 at 23:14
add comment

3 Answers

up vote 4 down vote accepted

I'm in a similar boat. With nobody to review your code, it's tough to evaluate your work and grow as a professional.

At a minimum, I recommend finding a local software development group and attending meetings regularly. Meetup.com is a good place to begin looking. CocoaHeads is great if you do Mac-specific stuff. A good group meets once a month, has some kind of presentation meeting, then goes out for dinner/drinks afterward.

You should aim to participate: prepare some slides on a technical topic, then offer to present. (Telling yourself you'll make the offer when you have time to prepare puts you in a chicken-or-egg loop and you'll never do it.) You'll get a feel for what the norm is for the group, but don't put a ton of pressure on yourself to do a perfect presentation. (The guy in the room who points out a problem in your example (1) was paying attention and (2) feels good about himself, and will be predisposed to like you. Offer to buy him a drink afterward.)

If you can't find a group, start one. Post it on Meetup. Build it, they will come.

Aside from learning a thing or two, this will make you part of a community, which is invaluable when looking for projects or, God forbid, a full time job. If you're too busy to take on something new, you can refer it to one of them, and in the future they will return the favor.

Now, one tech presentation a month doesn't really do much for your skills. So make time to do some reading (blogs and books).

Answer questions on Stack Overflow, and take the time to browse other people's solutions to questions you find interesting (even if it's not related to anything you are working on).

There's also a Code Review Stack Exchange in beta right now. Use it for your own code and participate.

None of those are a complete substitute for working with others, though. In that case, I'd consider making an effort to contribute to an open source project. Be the guy to work on the boring but necessary parts that project maintainers complain that nobody ever wants to do. But pick a product that has some active development, where there are other people who will review the patches you submit. (Releasing your own thing as open source can be good P.R. for your contracting business, but unless you attract contributors, you won't get the feedback you're craving.)

I'll confess that I'm being mildly hypocritical: I don't do everything on the above list, but I make an effort. Some months coding will keep you too busy; other months you'll feel like you diddled away hours editing tags on S.O. But working for yourself is like that. And it's a nice feeling when you show up at the monthly meeting and people ask you where you've been.

share|improve this answer
    
+1 for codereview.se –  Joseph Weissman Aug 23 '11 at 1:04
add comment

Just because your day job is primarily a solitary one, it doesn't mean that you should do anything differently. Continue to surround yourself with other friends in software development. Speak to them passionately about what you all have in common. If none of your close friends are in the same field as you or you're not too keen on face-to-face interaction, then immerse yourself in an online community and build rapport with those you can learn from - IRC channels are an excellent starting point.

It's one thing to observe strangers in what they do by reading blogs and articles. However, it's an order of magnitude more fulfilling to be part of it.

share|improve this answer
1  
Can you recommend how to find a good IRC channel? –  benzado Aug 23 '11 at 16:32
add comment

If you are in one of the many locations, look into joining a local group for software development. Not sure if you're a Microsoft programmer, but there are .NET groups all over. Become a part of something like that, and just immersing yourself in that environment will force you to improve.

share|improve this answer
    
I make a solid attempt to go to every user group or developer event that is within an hour driving time to me. –  The Muffin Man Aug 23 '11 at 0:41
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.