views:

236

answers:

3

Question: Is there anywhere online where someone can apprentice as a software developer and have an expert work with them, review their code, and guide them as a journeyman would in the trades? (Obviously I do not expect such a service for free)

Background: I am a fairly recent graduate of Computer Science; I have worked for 1 software development company as a developer, one non IT company as a developer, and have started my own side business in an attempt to stay current. My first job was for a company with no code review, no training, and little to no standards. It is safe to say they just wanted the code written and they didn't care how, or if it was well written. My training was really a stack of books to take home.

I am now in a small town working for an online vacation booking company and writing some custom software and websites and maintaining their existing software/websites. I am pretty much the only software developer in the town and I just feel like there is only so much I can learn from books and tutorials. I am endlessly worried that I am writing crappy code, but I have nobody here I can work with and I have no real connections with anyone who is an expert. That is the background for why I would like to find such a service. I am sure I am not alone.

Thanks in advance.

+2  A: 

There was a time when I was looking for the same thing, and didn't find anything of this sort. I doubt that in 7 years the situation has changed. Yes - I have heard words like 'mentoring' way back at uni, but they were just that - words. Hey - you might be onto a start-up idea there, except that it's unclear what the incentive for experienced people to do mentoring is. I bet they prefer to go teach at universities and such, which is a somewhat different, less personal affair.

Dmitri Nesteruk
Ya I had thought about not posting the question and using it as a startup idea.... then I realized that if I am the one who is looking for an apprenticeship, maybe I am not the best suited to design such a large complex web app. If nobody knows of anything I might just have to build it.
Shane
No, you are 100% wrong. It is precisely freshies and yesterday's students who design great web-based start-ups. It's called 'learn by doing'. And since you have lots of motivation to get this service yourself, you are the ideal designer for it.
Dmitri Nesteruk
Thanks for the cold shower.... you are right. Thats the whole reason I started my own company. Now I just have to do it before everyone reads this post and steals the idea :p.
Shane
You still have a fundamental problem, that nobody really wants to be a mentor - especially for free. _However_, you could shoot for a more generic start-up. Call it altruism.org or something - kind of like stackoverflow but with a lot more effort involved. Hey, it might just work.
Dmitri Nesteruk
no one wants to be a mentor for free... BUT... look at stack overflow! That is pretty much what is going on here. Granted it isn't as hands on and one-on-one, but hey, it's still pretty nice :)
Alex Baranosky
I disagree with Dmitri's statement that nobody wants to be a mentor. Look at how many people here at stackoverflow donate their time for free to answer random people's questions. Tutoring on an academic level is a huge business, and this would be the same thing only on a professional level.
17 of 26
Maybe StackOverflow should create a (completely free) mentoring section for connecting junior developers with experienced professionals. It would certainly be a notch above any tutoring that a typical university provides.
Dmitri Nesteruk
+1  A: 

I don't know, but I'd say just jump on a open source project and get into the community there. You can always ask questions about your code and someone will probably look at it. If you are looking for someone to walk with you hand in hand you should try to look to team up with another freelancer who has more experience than you who is willing to give you some of his work to work on. Since that person will most likely be repsonible on contracts and such, I'm sure they'll look over your stuff to make sure it's up to par. Unfortuneatly, I think most people don't have the time.

A: 

I don't think that you'll be able to get the kind of mentoring that you want online. Your work product can be transmitted online, but the kind of communication you need to become a better developer is better done in person.

That isn't to say that you can't grow as a programmer in your current situation. By reading and practicing, you can get much better. In the future though, you may want to try and find work which gives you the chance to learn from (and teach) other developers.

Edit: If you want to stay in your town, your best bet is to get involved with as many other opportunities to get better as a programmer. The right open source project can give you an opportunity to interact with other programmers. It's not ideal for everything to happen online, but it'll help. And it's probably the closest thing that there is to an "online apprenticeship."

Rob Lachlan
You may be right. It is an unfortunate reality as this is a beautiful little town. Golf course, ski hill, lake, transnational fiber lines, hydro dam... Great place for a tech company.
Shane
damn, where are you living? sounds sweet? I live in a small town with awesome amenities but no other software developers. Fortunately, I work for a non-local company remotely and have great people to work with, learn from and teach (hopefully). Hope someday I can attract talent out here.
jonstjohn
@Shane: Well yes. The rest of your life matters, too. If this town makes you happy (sounds pretty sweet actually) then that's worth staying for.
Rob Lachlan
Revelstoke, BC Canada... www.revelstokemountainresort.com If you are ever in town look me up.
Shane