Everyone who reads this site and isn’t already a programmer should seriously consider becoming one. This may be the obvious choice, but it’s worth making the case for it anyway. Briefly:
Demand for this skill has stayed strong even throughout the recession; it seems unlikely to be sated any time soon.
Good programmers can demand high salaries as well as great working conditions
You’re likely to get on with the people you work with.
It can be fascinating, brain-expanding work.
It’s a great skill to learn by yourself with no expenditure except the computer you learn from (start here).
As well as being a great job it’s a wonderful and rewarding hobby, which greatly expands your reach and general thing-doing power (edited to add).
Being able to program will improve your ability to think about mathematics, philosophy and much of what we talk about here.
You get slapped upside the head by reality over and over again, with relatively little room to rationalize it away (edited to add).
I’m 22, relatively good at math,and have absolutely zero experience in programming.
In the moment I’m studying psychology. At first I wanted to do research in cognitive biases, neuroscience, Evo-psych, etc. , but now I prefer the make-money-and-donate-it-to-existential-risk-reducing-organizations-scheme.
How much can you earn with a master in psychology? ( Can you work at companies, in something like human ressources? Or is this degree completely worthless?)
Should I really start to study computer science and programming?
Hopefully someone who knows can give careers advice for master in psychology. But learning to program, even just the basics, will be beneficial to you whether or not you make a career of it.
Check how much you can make. Apply for jobs, interview and see what kind of offers you can get. It’s not completely worthless, at worst it signals intelligence and conscientiousness even if you never apply anything you learned, ever. With a soft degree having good stories about how you’re awesome/capable is more important than proving you can do something in the interview.
Study CS and programming if you find them interesting. The monetary cost isn’t very high and if you enjoy it you can become good at it, and that is worth real money. Try it. Even being competent at SQL is (so I am told) quite employable though getting an entry level job without a qualification would demand a lot of perseverance. SQL zoo is apparently a good site for learning it. If you want to learn a programming language Python is often recommended as a beginner language. If you want a text that assumes no previous knowledge Learn Python the Hard Way is the source to consult.
I’m already convinced I should do this, but I need more procedural knowledge about how to break into the field.
(I actually already have a tentative assignment from an LWer I met on my NYC trip, but that was kind of a one-shot thing and doesn’t easily generalize.)
The common advice I’ve seen is to spend a few months contributing to some open source project. See this blog post, for example. (The advice in that post is hard to follow unless you already know C++ and feel like banging your head against the enormously complex Google Chrome codebase).
I’m also trying to get a programming job, but my hangup so far has been finding an open source project that I find interesting enough to contribute code to.
I think the point is that if you’re trying to convince someone to pay you to write code for them and you have no prior experience with professional programming, a solid way to convince them that you’re hireable is contributing significant amounts of code to an open source project. This demonstrates that 1) you know how to write code, 2) that you can work with others and 3) that you’re comfortable working with a complicated codebase (depending on the project).
I’m not certain that its the most effective way to achieve this objective, but I can’t think of a better alternative. Suggestions are welcome.
In my case, I found a local startup that employed students to test their code (we’d get a new build every couple of days and run it through a set of tests) on a part-time temp basis, paid by the hour. As the only non-student doing it, I worked more-than-full-time hours for a few months, and got noticed for having a work ethic.
You need something that you want to use. For instance, you want help calibrating your own judgements, but are disappointed by what predictionbook can do, and think that InTrade is too inflexible for you, and much to expensive/risky. Now, start. (That for instance would be a task for me, but after work I’m really not too much interested into programming anymore, and I know that I actually don’t really care.)
You have to find something that motivates yourself, of course. Some people like math-puzzles, I despise them. If one shoot problems don’t work for you, try something more day-to-day usable for yourself. Find something you want to do but don’t because it is too much manual work, for instance.
But, as I wrote as a comment to your comment’s parent, you should really reassess if learning on how to program pays back that much.
All that ciphergoth says is correct if you are among the top 5%. Top 10% ain’t enough.
But I have to admit, the first and the last point apply to a much wider variety of programmers. For instance, when you follow this advice and try to become a programmer, you will soon be hit by reality.
Agreed with nazgulnarsil. I’m a competent-at-best coder, and only work as a test engineer, I’ve got no formal qualifications in the field, and I’ve only been working as a software engineer two years. Yet I earn more on my own than the average household’s income in the UK, my work is often interesting, I have more flexibility about things like dress codes and working hours than in any other job I’ve worked, and I get on with my co-workers.
What probability would you put on me being able to make a living programming, given all of the following:
I’m 29, majored in Art & Design, and have 3 years of mediocre experience in and a current job in game testing.
To the extent that they matter nowadays, I was identified as Learning Disabled in both math and reading comprehension, but was placed in Academically Gifted classes, consistently made B+ to A, and the only course I ever failed was a college math course (calculus?)
I haven’t touched math in 6 years and have avoided it to the extent that I don’t even feel like I have an ugh field around it, and have always told people I wouldn’t be able to code because I wouldn’t pass the math courses necessary (practical arithmetic on the other hand I occasionally find fun).
Am easily discouraged and sometimes form an ugh field when I hit roadblocks in my own personal projects (usually 3d modeling or very light game design /programming using the drag and drop system in Game Maker, though I haven’t touched that for about 4 years)
Have too many interests to focus on one for longer than a week, which would probably apply to any self-motivated education
Math is not necessary for many kinds of programming. Yeah, some algorithms make occasional use of graph theory, and there certainly are areas of programming that are math-heavy (3d graphics, perhaps? Also, stuff like Google’s PageRank algorithm uses linear algebra), but there are huge swaths of software development for which no (or little) math is needed. In fact, just to hammer on this point, I distinctly remember sitting in a senior-level math course and overhearing some math majors discuss how they once took an introductory programming course and found the experience confusing and unenjoyable. So yes, math and programming are quite distinct.
The probability I would place on you being able to make a living doing programming is dependent on only one factor: your willingness to spend your free time writing code. There’s plenty of people with CS degrees who don’t know how to program (and, amazingly, don’t even know how to FizzBuzz), and it’s almost certainly because they’ve never spent significant amounts of time actually building software. Programming is “how-to” knowledge, so if you can find a project that motivates you enough to gain significant experience, you should be set.
I’d guess most people fitting that description won’t make a living as programmers, but the good news is, you don’t have to guess in advance. Just try it and see if you get in to it. You’re very unlikely to regret it whether it turns into a living or not.
No direct experience here—I got my current job a year or so before the recession hit—but secondhand accounts suggest that the demand for programming jobs right now is highly regional. Here in the SF Bay Area the job market seems weak but basically stable, but I have friends on the East Coast that claim their respective companies have been forced to hire substandard applicants just to put enough bodies in chairs.
Speaking as an undergraduate student in a computer science department, I can confirm your observation. I have also observed that while coding, the philosophical pumps start working and good—or at least interesting—ideas about other subjects are often produced. The most interesting off-topic conversations I have had with other students in any class have been had in computer science classes.
I have also noticed that my ability to deal with mathematical problems that are generally algorithmic mentally has been improving rapidly. I suspect the regular practice of holding a process in one’s mind while encoding it is related to this.
Everyone who reads this site and isn’t already a programmer should seriously consider becoming one. This may be the obvious choice, but it’s worth making the case for it anyway. Briefly:
Demand for this skill has stayed strong even throughout the recession; it seems unlikely to be sated any time soon.
Good programmers can demand high salaries as well as great working conditions
You’re likely to get on with the people you work with.
It can be fascinating, brain-expanding work.
It’s a great skill to learn by yourself with no expenditure except the computer you learn from (start here).
As well as being a great job it’s a wonderful and rewarding hobby, which greatly expands your reach and general thing-doing power (edited to add).
Being able to program will improve your ability to think about mathematics, philosophy and much of what we talk about here.
You get slapped upside the head by reality over and over again, with relatively little room to rationalize it away (edited to add).
I’m 22, relatively good at math,and have absolutely zero experience in programming. In the moment I’m studying psychology. At first I wanted to do research in cognitive biases, neuroscience, Evo-psych, etc. , but now I prefer the make-money-and-donate-it-to-existential-risk-reducing-organizations-scheme. How much can you earn with a master in psychology? ( Can you work at companies, in something like human ressources? Or is this degree completely worthless?) Should I really start to study computer science and programming?
Hopefully someone who knows can give careers advice for master in psychology. But learning to program, even just the basics, will be beneficial to you whether or not you make a career of it.
Check how much you can make. Apply for jobs, interview and see what kind of offers you can get. It’s not completely worthless, at worst it signals intelligence and conscientiousness even if you never apply anything you learned, ever. With a soft degree having good stories about how you’re awesome/capable is more important than proving you can do something in the interview.
Study CS and programming if you find them interesting. The monetary cost isn’t very high and if you enjoy it you can become good at it, and that is worth real money. Try it. Even being competent at SQL is (so I am told) quite employable though getting an entry level job without a qualification would demand a lot of perseverance. SQL zoo is apparently a good site for learning it. If you want to learn a programming language Python is often recommended as a beginner language. If you want a text that assumes no previous knowledge Learn Python the Hard Way is the source to consult.
I’m already convinced I should do this, but I need more procedural knowledge about how to break into the field.
(I actually already have a tentative assignment from an LWer I met on my NYC trip, but that was kind of a one-shot thing and doesn’t easily generalize.)
The common advice I’ve seen is to spend a few months contributing to some open source project. See this blog post, for example. (The advice in that post is hard to follow unless you already know C++ and feel like banging your head against the enormously complex Google Chrome codebase).
I’m also trying to get a programming job, but my hangup so far has been finding an open source project that I find interesting enough to contribute code to.
Link Context
I think the point is that if you’re trying to convince someone to pay you to write code for them and you have no prior experience with professional programming, a solid way to convince them that you’re hireable is contributing significant amounts of code to an open source project. This demonstrates that 1) you know how to write code, 2) that you can work with others and 3) that you’re comfortable working with a complicated codebase (depending on the project).
I’m not certain that its the most effective way to achieve this objective, but I can’t think of a better alternative. Suggestions are welcome.
In my case, I found a local startup that employed students to test their code (we’d get a new build every couple of days and run it through a set of tests) on a part-time temp basis, paid by the hour. As the only non-student doing it, I worked more-than-full-time hours for a few months, and got noticed for having a work ethic.
You need something that you want to use. For instance, you want help calibrating your own judgements, but are disappointed by what predictionbook can do, and think that InTrade is too inflexible for you, and much to expensive/risky. Now, start. (That for instance would be a task for me, but after work I’m really not too much interested into programming anymore, and I know that I actually don’t really care.)
You have to find something that motivates yourself, of course. Some people like math-puzzles, I despise them. If one shoot problems don’t work for you, try something more day-to-day usable for yourself. Find something you want to do but don’t because it is too much manual work, for instance.
But, as I wrote as a comment to your comment’s parent, you should really reassess if learning on how to program pays back that much.
I meant finding someone to pay me for programming.
Ouch. 100% misread.
All that ciphergoth says is correct if you are among the top 5%. Top 10% ain’t enough.
But I have to admit, the first and the last point apply to a much wider variety of programmers. For instance, when you follow this advice and try to become a programmer, you will soon be hit by reality.
Agreed with nazgulnarsil. I’m a competent-at-best coder, and only work as a test engineer, I’ve got no formal qualifications in the field, and I’ve only been working as a software engineer two years. Yet I earn more on my own than the average household’s income in the UK, my work is often interesting, I have more flexibility about things like dress codes and working hours than in any other job I’ve worked, and I get on with my co-workers.
I disagree, middling programmers make great livings compared to middling or even above average people in many many fields.
What probability would you put on me being able to make a living programming, given all of the following:
I’m 29, majored in Art & Design, and have 3 years of mediocre experience in and a current job in game testing.
To the extent that they matter nowadays, I was identified as Learning Disabled in both math and reading comprehension, but was placed in Academically Gifted classes, consistently made B+ to A, and the only course I ever failed was a college math course (calculus?)
I haven’t touched math in 6 years and have avoided it to the extent that I don’t even feel like I have an ugh field around it, and have always told people I wouldn’t be able to code because I wouldn’t pass the math courses necessary (practical arithmetic on the other hand I occasionally find fun).
Am easily discouraged and sometimes form an ugh field when I hit roadblocks in my own personal projects (usually 3d modeling or very light game design /programming using the drag and drop system in Game Maker, though I haven’t touched that for about 4 years)
Have too many interests to focus on one for longer than a week, which would probably apply to any self-motivated education
Math is not necessary for many kinds of programming. Yeah, some algorithms make occasional use of graph theory, and there certainly are areas of programming that are math-heavy (3d graphics, perhaps? Also, stuff like Google’s PageRank algorithm uses linear algebra), but there are huge swaths of software development for which no (or little) math is needed. In fact, just to hammer on this point, I distinctly remember sitting in a senior-level math course and overhearing some math majors discuss how they once took an introductory programming course and found the experience confusing and unenjoyable. So yes, math and programming are quite distinct.
The probability I would place on you being able to make a living doing programming is dependent on only one factor: your willingness to spend your free time writing code. There’s plenty of people with CS degrees who don’t know how to program (and, amazingly, don’t even know how to FizzBuzz), and it’s almost certainly because they’ve never spent significant amounts of time actually building software. Programming is “how-to” knowledge, so if you can find a project that motivates you enough to gain significant experience, you should be set.
I’d guess most people fitting that description won’t make a living as programmers, but the good news is, you don’t have to guess in advance. Just try it and see if you get in to it. You’re very unlikely to regret it whether it turns into a living or not.
I know experienced programmers who’ve had a hard time finding jobs. What do you mean by the demand being strong?
No direct experience here—I got my current job a year or so before the recession hit—but secondhand accounts suggest that the demand for programming jobs right now is highly regional. Here in the SF Bay Area the job market seems weak but basically stable, but I have friends on the East Coast that claim their respective companies have been forced to hire substandard applicants just to put enough bodies in chairs.
Here in London my programmer friends don’t seem to be having trouble staying in work, while my employers are pretty much always recruiting.
Definitely. Trying to talk to people who can’t program about abstract concepts is eye opening sometimes.
Speaking as an undergraduate student in a computer science department, I can confirm your observation. I have also observed that while coding, the philosophical pumps start working and good—or at least interesting—ideas about other subjects are often produced. The most interesting off-topic conversations I have had with other students in any class have been had in computer science classes.
I have also noticed that my ability to deal with mathematical problems that are generally algorithmic mentally has been improving rapidly. I suspect the regular practice of holding a process in one’s mind while encoding it is related to this.