Should I go back to school to become a programmer?
April 23, 2008 11:00 AM   Subscribe

I have a bachelor's in architecture but after a few years of work experience I have begun to feel that it may not be my bag. At work I find myself spending more time tweaking my computer and finding new tricks than actually drafting.

Computers have always fascinated me. I've only done a little of the basics--qbasic in grade school, truebasic in high school, Visual Basic in college--and I've begun learning Python. I have ideas for useful programs almost on a daily basis, but I think in terms of knowledge and skill I am years away from bringing them to life.

I feel a little stuck in my current job, I'm still in debt from school so I really can't go without work and it doesn't leave me with much free time to learn to program. There's not really any opportunity from my current position to grow in that direction either. I've been trying to figure out how to reach my goal and it seems that my best option may actually be to go further into debt, that is, to go back to school.

My roommate has been telling me I'd make a great PhD student (which is what he is) but also that I don't have the necessary skills to get in. I have to admit that in a sick sort of way the idea appeals to me.

So again, should I go back to school? If so, how can I make it happen? And as a corollary, what schools in Chicago would be worth checking into?
posted by mockdeep to Computers & Internet (19 answers total) 4 users marked this as a favorite
 
Honestly, for a PhD in computer science, you really need to have a desire to work on a specific area of research. And PhDs are expected to know how to program well enough to investigate that area by themselves. If you just want to learn how to program, looking into a PhD program is not the first step.
posted by demiurge at 11:24 AM on April 23, 2008


FWIW, most programmers I know didn't go to school for it, and some who did say the experience didn't really have much to do with real-world coding. It doesn't sound like you've really tried coding enough to be able to know whether you enjoy doing it or not. (Having ideas for programs, and actually programming, are two almost entirely unrelated activities.)

I'd suggest you spend some more time trying this out for real, before you jump back into school again and possibly find yourself in the same situation another four years from now. If you really don't have enough free time, perhaps you could cut back to part-time work and treat it as a day job while you try coding on for size?
posted by ook at 11:25 AM on April 23, 2008


There are conversion computer science master's programs at both DePaul and the University of Chicago. Both are expensive, and frankly, both are having trouble attracting students now that the value proposition for CS graduates is less obvious. There's also a conventional master's program out of the Chicago campus of the University of Illinois - which is a relative bargain - but lousy with ethnic cabals of cheating foreign nationals from mainly India and China.

On this side of CS grad school, I'd like to say that the debt isn't worth it - but it really depends on what you want to do. I found that formal CS classes in discrete math and algorithms really are worth the time and effort, but even very good students from the best programs are left pretty much completely unprepared for the day to day realities of actually building commercial software in the so-called real world. I guess I'm saying the pedigree and experience aren't strictly necessary - but without them you'll find it pretty hard to join teams that can teach you the trade and help you grow.

So, yeah - it's tough to get started. That's all the bad news. The good news is that if you're any good, you open the door to a world of freedom in terms of jobs, where to live, work/life/compensation balance - especially compared to the rigid neo-apprenticeships you see in academics, lawyers, doctors, etc. If that's what you're after, and if you're not completely useless at math (this is important - do some research on this point), then it can often be a good way to go.

Best of luck.
posted by NoRelationToLea at 11:26 AM on April 23, 2008


I think NoRelationToLea has it pretty much wrapped up. The best part about computer science right now is exactly that the value proposition is less than obvious. Tech, even here in lousy Detroit (Home of the Never Ending Recession!), has been bad-economy proof. The real truth is that you really don't have to actually be any good at what you do in comp-sci (just average), and there is still a world of freedom out there for you. Especially if you have any sort of soft skills. Then you can basically do whatever the hell you want.

Let me add a few things:

1. There were essentially only 8,000 new comp sci graduates across the United States last year from PhD-granting schools. What this means is that you can go to whatever accredited university you want and nobody has the luxury of judging you based on your choice.

2. I would not get the PhD unless you want to do research. Get the masters degree.

3. Take a couple night classes at your local U and see if you like it. If you do, come join the party. We need more good people.
posted by fusinski at 11:46 AM on April 23, 2008


Fear not.
How about informationsarchitecture or User Interface Design.
I run a small consulting firm that combines architecture and digital media design. Architects make surprisingly good UI and information architects. I transitioned into the profession quite easily and as I moved up the ranks to management was able to hire graduate architects with enormous success. The bonus is that the work is much better paying than old school architecture and you likely won't get sued...that being said, it certainly doesn't have the permanence of a building.
posted by badkarmaboy at 12:35 PM on April 23, 2008 [1 favorite]


Having a BA in Architecture doesn't get you very far. You really need to get an MA before you become more than a cad-monkey. So it's no wonder that you are bored. About all you can hope to do in your situation is to try and do some side work in programming to whittle away your debt. You can learn lots of programming from books and user groups rather than going back to school. Keep the job and do other stuff when you get home.
posted by JJ86 at 12:56 PM on April 23, 2008


Having a BA in Architecture doesn't get you very far. You really need to get an MA before you become more than a cad-monkey.

Maybe. But mockdeep didn't specify whether he's got a BArch, or a Bachelor of Science or Arts in Architecture, and there's a pretty big difference between those. FWIW, nobody in any firm I've ever worked for had more than a BArch, and many people had far less. That's including everyone from drafters to principals, so you can do plenty with it. Some states might not let you get a license with just a BA or BS, though.
posted by LionIndex at 1:06 PM on April 23, 2008


Response by poster: Regardless, when I look forward I don't see a whole lot for me at any level in architecture. Even the thought of being some big shot who can build anything he wants doesn't really appeal to me.
posted by mockdeep at 1:23 PM on April 23, 2008


Well he did say he's in Chicago and I know from plenty of people who have an MA in arch that it's pretty standard to get ahead in a competitive market.
posted by JJ86 at 1:27 PM on April 23, 2008


We have a guy in our firm who specializes in CAD -- he knows the ins and outs of CAD and is very knowledgeable about computers in general. He seems to enjoy his job and takes on other tasks in the office like figuring out complex project management tracking software. He may do some coding himself, I don't know, but I imagine he gets paid pretty well. Not all firms think they need such a person or can afford them but you might find something like that at a larger firm. Just a thought....
posted by amanda at 1:41 PM on April 23, 2008


Learning Python and a degree in CS are two very different things. Are you good at math? because most CS programs are about 70% math with some programming in there as well.

I suggest spending more time trying to figure out what you want to do with your life before going back to school. Because I know lots of people who found CS boring and would rather never touch a computer again in their lives. The grass is always greener, etc.
posted by GuyZero at 2:08 PM on April 23, 2008


Response by poster: In response to a few:

I am good at math and enjoy solving logic problems.

I have enjoyed greatly the little bit of coding I have done. In my programming classes I would be way ahead of the coursework. In one class I finished the entire semester's assignments in three weeks. I think what kept me from pursuing programming more actively was not having a particular goal to accomplish with it. More recently I have had some ideas that I think would be valuable tools both to myself and others. I don't see myself working as a programmer in a company, but creating the types of programs I would like to see for myself.
posted by mockdeep at 2:46 PM on April 23, 2008


I went from a BS in Arch. (class of 91) to a career in programming.
My path was this, and keep in mind computers had been a kind of hobby for me for a while, but in college it was more about Ultima, and less about programming.
First I was working as an apprentice/draftsman fo a while, when CAD was about a year away from breaking into the mainstream.
I stopped working as an apprentice, and started doing CAD work for 3x my previous hourly rate.
From there I got into 3d, and rendering, and then into CD-ROM based multimedia.
Then in '93 I got involved with an interactive television project. The people involved in this went on to get involved with the web, and I went with them, learning HTML first, then CGI, perl, ASP, Cold Fusion, Java and finally Ruby.
By '96 I was not doing anything related to graphics/multimedia at all, just straight programming.

I find that the architecture training, if applied correctly can help with things like information architecture, software architecture, and page design. You also probably picked up some project management skills along the way.

I've also thought about going back to school for a CS degree, but every single person I speak to about it - some of whom are well-respected CS graduates, says it would be a waste of time and money.

What you do need, though, is a passion for whatever it is you are going to get into. If you love it enough, you will get up to speed very quickly. The hacker ethos is one of self-education.

Although I don't have direct experience, I would think a CS degree is to a programming job what an english literature degree is to being an author. (neither sufficient, nor necessary)
posted by bashos_frog at 2:53 PM on April 23, 2008


If so, how can I make it happen?

That's your question. Here's your answer:

More recently I have had some ideas that I think would be valuable tools both to myself and others. I don't see myself working as a programmer in a company, but creating the types of programs I would like to see for myself.

You're already learning Python and you have ideas for useful tools. Just commit yourself to one of those ideas and do it. Don't be discouraged if it doesn't come out perfect. Just keep making progress and working on the challenges you come up against. There's really no better way to learn programming than doing it.
posted by junesix at 4:14 PM on April 23, 2008


There's really no better way to learn programming than doing it.

Having done training for self-taught programmers, I have to disagree. This is comparable to saying that the best way to learn architecture is by doing it.

I will go back to the question of what you want to accomplish. Do you want to write programs for a living? Do you want to make a living writing your own software?

I don't see myself working as a programmer in a company...

So I don't get it. You need a job. But you don't like your current job. Fair enough. You'd like to learn to program. OK. So maybe you should go to school to learn to program. Which is one way to do it... but I can't quite get back to the fact you need a job.

If you went back to school for CS what would you want to do for a living? if not be a programmer at a company, then what? Going to school is fun and all but it's not a long-term proposition unless you really, really like school. But eventually they make everyone graduate and then you're back to square one.

What is it you want to do?
posted by GuyZero at 4:36 PM on April 23, 2008


Response by poster: GuyZero, you said it yourself, I want to make a living writing my own software, not writing code for someone else. I'm hoping that this will be profitable enough to sustain me. I was imagining going back to school to learn the skills while simultaneously deferring my debt. In the process I could write some of my own software so that, hypothetically, by the time I finished school I would have my sustenance and my shiny new self-employed career.
posted by mockdeep at 5:50 PM on April 23, 2008


OK. So being a self-employed coder is an entirely different kettle of fish and you'd be better of going back for a business degree. Whether you're a independent contractor or an entrepreneur, actually writing code will be one of the least of your worries. Connecting with customers, marketing, sales and accounting will be equally as important and IMO harder to teach yourself. But it's definitely possible to be a profitable independent software creator. Google up "microisv"

Funding this is, again, a different story. You'll either need to do it off-hours from your regular job or get funding from friends, family or credit cards. You could do it while at school but I'm not sure what you would gain personally from taking that route. You'd know more about development but be further in debt.

Overall it's definitely possible and there are a lot of people who love the lifestyle of being a one-person coding shop. I would say that a passion for doing it and an ability to learn as you go along are the only two prerequisites.
posted by GuyZero at 5:59 PM on April 23, 2008


"I think what kept me from pursuing programming more actively was not having a particular goal to accomplish with it. More recently I have had some ideas that I think would be valuable tools both to myself and others."

Nthing others (and noting your comment that you'd be way ahead of others in a programming class), I'd say don't go back to school (unless it's for business, like GuyZero suggested).

Instead, pick an open source project that uses python and find places to contribute - there are bound to be some bugs you can fix. That will give you exposure to more of the language than you'll find in Teach Yourself to Program books, and more real-world examples.

At the same time, start turning one of your ideas into a functional tool.

The combination of solving quick programming problems (on the open source project) and working on a larger project (your own idea) will help you learn a lot while keeping your motivation high.
posted by kristi at 9:58 AM on April 24, 2008


I understand your predicament, it seems to happen to many architects. I worked for a space planning company and had the best of both worlds. While AutoCAD drawings/design were a small part of the job, the majority of my work was creating databases and small applications for clients to help them automate the process of space planning. There was a lot of logic and thought intensive work involved and paid very well. There are so many companies that have thousands of employees and need the ability to plan ahead for new headcount, lay offs, etc as well as find easy ways to keep track of all their square footage and needs. So you could look into a space planning position if this interests you. You could google "Strategic space planning jobs" or "Archibus jobs" and see if anything pops up that sparks your interest. Good Luck!
posted by boulder20something at 11:20 AM on April 24, 2008


« Older How to photograph the elderly to be not just...   |   Gift for the newly-engaged girl Newer »
This thread is closed to new comments.