|Notify me of new responses|
Hi Phil, love the sight. My question is since you seem to be rather negative towards the technical careers what do you think a good career choice would be? I am a 20 year old sophomore who needs to declare a major soon and I don't know what to pick. I am a rather good computer programmer, but I also am interested in politics, writing, history, english, business, and the law. You can see the dilemma. I had intended to major in Computer science, but now I'm not sure if that is a good idea. Any ideas would be appreciated. Thanks.
-- Matt Farmer, March 21, 1998
If in 1990 you'd ask me about computer programming, I would have told you unequivocally that the career sucked. You'd be sitting in a cubicle doing a tiny part of some dull project using a low-productivity programming language and taking orders from an MBA.
With the Web/Internet we finally have computers that work for people instead of simply crunching payroll checks and/or turning users into unpaid sysadmins. So I think the projects are getting more exciting. The freedom from micromanagement is also better these days. Project schedules are too short and the degree of experimentation is too high for an MBA to split up a job among 30 programmers. Now it tends to be a couple of really good programmers getting $1000-2000/day and enough scope that they can be creative.
Anyway, I wouldn't discourage you from computer science if your plan is to graduate and become an independent artisan, attaching yourself to projects that are worthwhile, interesting, and lucrative. Sort of like the movie industry. If your plan is to graduate and work in a cubicle for a Fortune 500 then I think you'd do better in some other profession.
-- Philip Greenspun, April 4, 1998
I am a avid reader of the site. I am a computer science student and feel that I know about the ways of the programmer as an artist. I currently work at one of the top 10 news sites in the world, and the db guys who sit near me are probably sick of hearing your name mentioned. Your review of application servers could not have been more timely: they are implimenting Kiva right now...
My question is this: how does one actually go about the process of becomming an "independent artisan"? I could start a consulting firm and could probably get a few jobs, but how can I distingush myself from the fray of "c hackers" or junkware peddlers? You reccomend the hard sell in your book (i.e. I can save you x dollars..), but I can't do this without first knowing the paltforms. I love Linux, but I don't want to suggest a Linux based platform to clients for the resons you specified. I write code on Digital Unix systems at work, but I would hardly claim extensive knowledge of the system.
Also, if I start a consulting firm, do you have any general suggestions on the topic? What about "things I learned the hard way" about consulting or startups? Thanks for making a better web.
-- Arjun Sanyal, July 16, 1998
I've actually been meaning to write and post a "from start-up to belly-up" guide to business. But of course it is a backburner project to which I might not ever get.
If you want to be an independent consultant then you need to market yourself. You can do this either by printing cards and advertisements or you can do this by somehow managing to get your name associated with software or systems that people use every day. Richard Stallman (author of Emacs, gcc, and a bunch of other GNU stuff) would have no problem getting a consulting job though he has invested but little time in traditional marketing. If you sit in a cubicle and let managers take all the credit for your work then you'll have a tough time.
I guess the most effective thing to do IMHO is to work for an organization that will let you give your code away. Universities are traditional places for this though these days some universities are greedy and some companies are generous so it is tough to say.
-- Philip Greenspun, July 22, 1998
I've been an independent consultant for 5 years now, doing Oracle Financials technical work. I find the best way to gain work is either through personal contacts or by using specialist computing contract agencies. This is only if you have an in demand skillset, and appropriate experience of course.
Being an independent contractor can be fun, and you can usually avoid a lot of horrible company politics. I've worked for about 10 different customers in half a dozen countries in the last 5 years and really enjoyed it.
Setting up a consultancy firm (something I've considered on a number of occasions) is potentially more lucrative, but with more associated risk. In the initial stages you would also have to work longer hours, and generally put a lot more effort it, where as a contractor (paid by the hour) you can often work a 9-5.
-- Steve Graham, July 24, 1998
Hello! I'm doing my first year Computer Science course ... and I am dying a slow death. I can't seem to be able to master the C programming language that they are using for the intro subject. I don't have a strong grasp on mathematics, and while I can last the first 10-15 pages of SICP, I get really really lost after that.
I used to think I had a strong interest in computers, but I'm really getting frustrated with this. Does anyone have any advice for this loser? Do you think I should consider another line of study/work ?
-- DrBug --, May 19, 2000
Response to DrBug:
I have asked myself the same question sitting in front of some very boring lectures where everybody wore a blank stare.
I guess the question you have to ask yourself is what area of computers are you most interested in, and why? You can become proficient in a particular application (and there are a multitude of them... music, video, graphics, computer aided design, web publishing, video games), but that does not mean you were born to write in assembly language. You have to have some very good math skills to be a good programmer (not that I am there yet).
It may be too early for you to make a decision, and you might want to consider committing to a certain amount of learning. At that time you will have a better prespective of where you want to go with it. When I first started learning music theory, (I play piano), I found it boring and tedious. When I began to understand it and incorporate it into the things I wanted to do, it was a great experience.
You might also want to consider taking on a couple of small projects on your own (or maybe with a friend with similar interests) that are at or near your skill level. I found that I learn a whole lot more when I ask, "How can I get from here to there?" and solve a series of problems in the process. Learning by doing is much better than trying to remember some fact that you crammed into your brain because you had a final the next day.
I'm no authority on programming or computer science, but I thought I would share my thoughts, for whatever they are worth. Hope it helps.
-- David Guarneri, May 19, 2000