Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Comment: Here's my 3800 satoshi (Score 1) 546

by cshark (#47822935) Attached to: Does Learning To Code Outweigh a Degree In Computer Science?

As someone who learned how to code without school, and gradually since the early days of the internet, I think I come to the table as someone with a lot of practical experience on this subject. Practical experience is great. But when you are a self taught programmer, you're (at least initially) going to speak a slightly different dialect than your counterparts that spent years in school learning how to do this stuff. And that's okay, because it's something that's workable.

You're also going to end up with a lot of experience that revolves around the way you think, and the way you, personally, happen to solve problems. This is going to be an issue for you until you have about a decade of experience or so in the corporate world. The advantage here, is that there will be certain areas where you run circles around the college guys, which is great for your ego, and strong egos are important in young programmers.

The drawback is that there are going to be other areas where the college guys can expound on a subject at length, and you'll have no idea what they're talking about. If you're smart enough to keep up, you'll get it; just bear in mind that there will be things that you'll have to begin learning that the college guys spent half a decade studying.

The best thing you can do, as someone who teaches yourself code is remember that everything you're doing, and everything you have done is part of the learning process. Unlike a lot of the guys who earn degrees, you're never going to stop learning, and for simple reasons of economy, you're going to have to remain faster, stronger on the practical matters of your trade, and more open minded to changing platforms and workflows than your counterparts. This is what makes you competitive in the marketplace.

In the event that you do end up going back to school, usually because you've convinced yourself that you need an expensive piece of paper, I urge you not to make the mistake that I've seen some of the best self taught programmers make. Don't unlearn what you know. Don't forget what you've done, or the practical experience you have. Just because you happened to hear it in a CS lecture doesn't necessarily mean that this is the most accurate or up to date information on any given subject.

If you decide not to pursue the academic route (like I did), my best advice would be to take your craft seriously. Young programmers are like cats with imposter complexes, and they can make the mistake of seeing other programmers as competition. What I'm telling you is that you need to run directly against that instinct, and go out of your way to find good mentors. Most people that would mentor you work day jobs, and with a little cyber stalking, it's not really especially difficult to get yourself on their teams.

Comb through big open source or high profile proprietary products that you can verify are much stronger programmers than you, who may work in areas you're interested in. Seek these people out, stalk them, try to learn from them. Apply for jobs where they work. Try to get jobs on those teams. Then... learn how to take orders, and let them teach you what they know about programming and life. Of all of the options available to you as a programmer, this is the most challenging. But in my experience, it yields the greatest rewards... even if it is an exercise in humility at times.

There will be days when you feel the job has beaten the shit out of you, but that's how you know you're learning.

Don't give up.
Don't pretend you don't belong there. It's never your place to make that call.
Rinse, repeat.
Do this for a years, and you'll be among the best.

Hope that helps.

In seeking the unattainable, simplicity only gets in the way. -- Epigrams in Programming, ACM SIGPLAN Sept. 1982