* The Business of Software

A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.

We're closed, folks!

Links:

» Business of Software FAQ
» The Business of Software Conference (held every fall, usually in Boston)
» Forum guidelines (Please read before posting!)

Moderators:

Andy Brice
Successful Software

Doug Nebeker ("Doug")

Jonathan Matthews
Creator of DeepTrawl, CloudTrawl, and LeapDoc

Nicholas Hebb
BreezeTree Software

Bob Walsh
host, Startup Success Podcast author of The Web Startup Success Guide and Micro-ISV: From Vision To Reality

Patrick McKenzie
Bingo Card Creator

Would it be a wise career choice to go into computer science?

Hi, I recently found this great website. I love programming and would really like to create a career around it, but I'm curious if the field is still expanding and whether you think there will be consistent hiring in 5 years or so. (~ when I finish college) Any advice? Thanks!
Ryan O'Nonomas Send private email
Thursday, April 25, 2013
 
 
It depends what kind of thing you want to do at the end. If you want to work at a startup, or even Google, Facebook, Apple, etc, CompSci might help, but they'd be much more interested in other stuff, like what you've done, what attitudes you have, etc, etc.

There are other options like games companies, government, business, etc, although the market for business programmers is likely to shrink as more startups eliminate those jobs, much like all the jobs that were outsourced in recent years.
Scorpio Send private email
Friday, April 26, 2013
 
 
Scorpio,

I doubt you would get an entry level programming job at Google, Facebook, Apple without a computer science degree. In fact the first jobs I looked at on the Google site had MS or PhD in Computer Science or related technical field as a preferred qualification. That was just for server side web apps.
Tony Edgecombe Send private email
Friday, April 26, 2013
 
 
Why a career?

Why not create your own projects?




AC
Reluctantlyregistered Send private email
Friday, April 26, 2013
 
 
I don't see the demand for software or software developers doing anything other than increasing.  The overall salaries and job prospects for developers depend on how well the supply of developers matches the demand. But I expect the top developers will continue to be very well paid.

You can greatly improve your job prospects by having software to show prospective employers - either open source projects you have contributed to or software you have written from scratch.

Follow your passion.
Andy Brice Send private email
Friday, April 26, 2013
 
 
Ps/ If you want to be a commercial software developer then 'software engineering' skills are more useful than 'computer science' skills IMHO. So make sure your course has at least some software engineering content.
Andy Brice Send private email
Friday, April 26, 2013
 
 
@Tony, you have a funny way of agreeing with me ;-)

I was trying to emphasise the importance of the"other aspects" that go into getting a job at Google, etc, not downplay the value of the degree. Maybe that didn't come across.
Scorpio Send private email
Friday, April 26, 2013
 
 
> You can greatly improve your job prospects by having software to show prospective employers - either open source projects you have contributed to or software you have written from scratch.

I can't agree enough with this. Every job I ever got was at least somewhat down to showing code / product in the interview without being asked. It amazes me that anyone shows up to an interview without a laptop full of stuff they've done.

If I was hiring a fresh grad and they said they'd never done a project outside of their course that would be a big red flag for me.

Personally I'm most interested in people who started programming before any formal education in it... but it's never to late to prove you love it so much you want to spend your free time doing it.
Jonathan Matthews Send private email
Friday, April 26, 2013
 
 
To answer your question: yes, I think there will still be consistent hiring when you graduate.

Software development as an art isn't going away and the two centres I'm aware of (UK/London because I live there & USA/Silicon Valley because it's talked about) are going through booms in startup activity. Although this is somewhat cyclical the one somewhat credible existencial threat to it (outsourcing) didn't come to much, or at least didn't hurt good developers much.

(I'm assuming you live in a western country, elsewhere in the world the answer is tricker / beyond my knowledge)
Jonathan Matthews Send private email
Friday, April 26, 2013
 
 
>>@Tony, you have a funny way of agreeing with me ;-)

Sorry, I think I read your reply too quickly.
Tony Edgecombe Send private email
Friday, April 26, 2013
 
 
Hi Ryan, it sounds like you are starting college or a junior in high school (explain 5+ years?) and are wondering if you should major in CS.

The answer depends on what school you are going to. For most, no, don't major in CS. For some, maybe. It really depends on your particulars.

You love programming, so you are already doing it. Tell us something about that. How long have you programmed? What sort of things have you done? Do you know what O(n) means? Do you use regular expressions? Have you ever played around at inventing a language?
Scott Send private email
Friday, April 26, 2013
 
 
It's not directly related, but this article http://www.linkedin.com/today/post/article/20130422020049-8451-the-tech-industry-s-darkest-secret-it-s-all-about-age might give you some insight into career planning.  Computer programming per se is evolving into a trade, not a profession.  Programming is a job function needed to implement business systems, programmers don't design business systems.  If you want to be a professional, go into engineering or accounting (yeck).

To make programming a trade, junior/community college is probably the right way to go.  Unlike a plumber, you can ask for higher rates once you demonstrate higher productivity.  There's nothing wrong with being a tradesperson, in fact in some ways, their future is more secure. 

"going through booms in startup activity"
That's not a good sign for someone going into a computer science or computer engineering degree program, it's a sign that the industry is in trouble.  We saw a startup boom in 2008, it's a sign the number of job openings is dropping.  Considering that the number of CS grads is also dropping, it means that the employment market for grads is really bad.

"Software development as an art"
Not according to any definition of art that I would accept.  "Art is not a study of positive reality, it is the seeking for ideal truth" - John Ruskin.  God forbid we should ever live in a world where we are forced to constrain our dreams to binary instruction sets.  Study poetry or painting or music and discover the incredible universe that doesn't follow boolean algebra.
Howard Ness Send private email
Friday, April 26, 2013
 
 
Howard Ness: '"Software development as an art"
Not according to any definition of art that I would accept.  "Art is not a study of positive reality, it is the seeking for ideal truth" - John Ruskin.  God forbid we should ever live in a world where we are forced to constrain our dreams to binary instruction sets.  Study poetry or painting or music and discover the incredible universe that doesn't follow boolean algebra.'

But art does tend to constrain.  How about:

"Painting as an art"
Not according to any definition of art that I would accept.  "Art is not a study of positive reality, it is the seeking for ideal truth" - John Ruskin.  God forbid we should ever live in a world where we are forced to constrain our dreams to 2D patterns of colours.  Study poetry or computer programming or music and discover the incredible universe ..."

Your screed about programming is just as silly.

Sincerely,

Gene Wirchenko
Gene Wirchenko Send private email
Friday, April 26, 2013
 
 
"2D patterns of colours"
Come on, painting as art is more than just the application of pigment on a flat surface in a pleasant pattern.  Paint by numbers is not art.  Art touches something inside our psyche in a way that hasn't happened to us previously.  You can dream about artificial intelligence or creative computing all you want, but software is just a means to perform calculations according to a set of predetermined instructions.  Software can't vary the instructions to suit changing requirements if those requirements aren't anticipated beforehand (by a human being).

Programming is a technique for using a tool called a computer.  It's a scaled up version of swinging a hammer. 

Over 2500 years ago there was a mathematician who taught that the world could be explained with math. http://en.wikipedia.org/wiki/Pythagoreanism  You can believe the same thing if you want, but I wouldn't advise anyone to base their career choices on it.
Howard Ness Send private email
Friday, April 26, 2013
 
 
>Study poetry or painting or music and discover the incredible universe that doesn't follow boolean algebra.

Just don't expect to make a living out of it.

Personally, I think the truths revealed by science and mathematics are far more interesting and profound that anything any artist ever came up with. On the other hand, artists do get laid a lot more than scientists and mathematicians. ;0)
Andy Brice Send private email
Friday, April 26, 2013
 
 
@Andy, only the unenlightened ones. The STEM guys who work out throughout their 20s and focus on their career are slaying the ladies 25 and under once they turn 30.

The image of the nerdy glasses-wearing, fashion-ignorant STEM is on its way out. I'm not talking about brogrammers.
Bring back anon Send private email
Saturday, April 27, 2013
 
 
Regarding art, depends on definition. There's FINE arts, which can be very technical and mathematical (Renaissance paintings and Baroque music) and involve engineering and materials science (many sculptural works).

Some fine arts is abstract. Some is not.

Software can be a medium of fine art of course, for example most video games, but also multimedia presentations.

The term Arts is also used to describe artisanal things, which might include anything made by a skilled craftsman. The things might be original and unique, or they might just be copies of known structures (basketmaking, installing Apache).
Scott Send private email
Saturday, April 27, 2013
 
 
"I think the truths revealed by science and mathematics are far more interesting and profound that anything any artist ever came up with."

The reverse is also true.
Scott Send private email
Saturday, April 27, 2013
 
 
Thank you all for the great responses so far! I'll try and respond to everybody here..

AC, is freelancing actually sustainable?

Andy, what's the difference between computer science and software engineering? The terms seem to be used interchangeably.

Jonathan, what kind of projects would probably be good? I love programming in my free time, but I feel like a lot of what I've done so far wouldn't really count for much, since they are just mods for a game using an uncommon scripting language (TorqueScript). I currently have a ~20,000 line mod (with about 5,000 users) that I've written and have been maintaining for more than a year, but that doesn't seem like it would be very helpful here. I'm also learning C++ and Java (in my free time and in classes through school). Yes, I live in the US.

Scott, I've been programming for about 4 years but I've only recently gotten more serious about it. I wrote about a lot of what I've done when I responded to Jonathan above. I have several projects and team projects going on for game modifications. I have a basic understanding of O(n). It's basically used to describe how well the algorithm scales as the number of items is increased, correct? No, I don't really have experience with regex and I've never done anything involving assembly (or not nearly enough to create a language).

Howard, thanks for the info. I'll definitely check to see if our community college has programming classes and then maybe transfer to a full college to finish. It might keep costs down. I'm not entirely sure about the whole college thing yet. I'm looking at colleges like U of IL Urbana. Also, I agree with you about software and art, but that's offtopic.

Thank you!
Ryan
Ryan O'Nonomas Send private email
Saturday, April 27, 2013
 
 
Ryan, I think it would be a mistake to lose your passion. You already have experience shipping and marketing software given that you have 5000 users.
Bring back anon Send private email
Saturday, April 27, 2013
 
 
To be honest for me it isn't so much about what you're working on, more just proof that you really love what you do & can stick with a project.

I don't think writing mods for a game in an obscure language is bad, as long as you could talk to me about it in a way so I could understand what you were doing and make it obvious it excited you. I'd certainly want to hear about that in an interview.

Of course if you can get that experience to being a little closer to what you'd want to do professionally that's helpful. For example if you wanted to work in software development in banking getting some experience in c# or Java would be beneficial.

Also if other people are validating what you're doing that's awesome. Written some code and had it accepted into an open source project? Top marks.

One that's a little more controversial would be writing a product and selling it yourself. I'd be very impressed if I interviewed someone and they'd written something that had sold even 5 licenses. It shows a level of determination and focus that even many professional developers don't have. Unfortunately I imagine others may see it differently - big corporate environments may interpret any entrepreneurial ambitions as a threat.
Jonathan Matthews Send private email
Sunday, April 28, 2013
 
 
>Andy, what's the difference between computer science and software engineering? The terms seem to be used interchangeably.

Basically the difference between science and engineering.

Computer scientists love finding elegant solutions to toy problems. Computer science is about languages, algorithms, data structures etc.

Sofware engineers love shipping software that solves real world problems. Software engineering is about requirents gathering, design, testing, configuration control etc.

That's a simplification and there is overlap, but you hopefully get the idea.

Ideally you should have some background in both to be a good professional software developer.
Andy Brice Send private email
Sunday, April 28, 2013
 
 
Based on your responses a CS program might be useful and interesting to you.

You mentioned Urbana. That is a good choice.
Scott Send private email
Friday, May 03, 2013
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz