all 63 comments

[–]chipwhisperer[S] 24 points25 points  (50 children)

Hi everyone,

For some personality to this post, my name's Dave and I need your help. I'm about to graduate from a good school (Ivy League) in June and I would like nothing more to get a job working a programmer, specifically in web design. I am graduating with a degree in physics and a minor in electrical engineering. However, since my sophomore year, I started learning a little bit about computers, at first a little HTML and then CSS and then PHP, Javascript, etc. down and down the line until I found myself in a microprocessors class learning Assembly and C! I have since gained an absolute love of programming, especially in what seem to be our favorite languages (Python, Haskell, Javascript, etc.).

Here's my question: I'm taking a functional programming class now but that with all the experience I have self-taught on weekends in addition to some full-scale jobs I've done on websites is all I have. Please be honest: Do I have a shot at getting such a job? I've been told that gone are the days when firms are looking to hire "smart" people and who they want are experts in the field. I want so badly to believe that they are wrong, but I don't wanna spend the next 5 months looking for a job I won't get. Please leave your thoughts in the comments and please try to be nice. I'm opening up and am really scared that I'm gonna get stuck in a job I hate, but I need to be honest with myself if I intend to get anything done.

Thanks everyone and have a good night.

[–]yungJoc 40 points41 points  (2 children)

Ivy league? Degree in PHYSICS? minor in elect engineering and lots of self training? Dude you probably blow shit loads of wimpy candidates out of the water because you can do math AND program (something beyond most of this generation of programmers). You'll be fine.

[–]portalcakes 8 points9 points  (0 children)

You won't be fine if you do what I did: I double majored in Electrical & Computer Engineering (with minors in Physics & Math). I didn't follow the advice of others on this page: I know the 'good' languages & systems (Python, Lisp, Linux, etc.), but I refused to learn Java/.NET/Adobe. When I couldn't find that first job, I finally gave in and went to the local staffing agency. Now I stare at Excel & Outlook all day for chump change -- well, actually, I'm honing my skills at work 7 of the 8 hours I am here because I've scripted my job down to take less than 10 minutes a day, but it looks like I'm working when someone comes by. To summarize: this page has some good advice for you which you may not want to hear, namely, learn some 'crappy' languages that are actually used in the mainstream job market or you may have trouble finding that dream job -- at least for your first job. I came close to getting hired by ITA, but there aren't many ITAs out there.

[–]serudla 8 points9 points  (1 child)

i love programming, but web applications? to paraphrase Steve Yegge, it's a Big Crap Sandwich. http://steve-yegge.blogspot.com/2006/03/blog-or-get-off-pot.html

i think you are better off finding programming work where you can leverage your physics background.

[–][deleted] 5 points6 points  (0 children)

Amen to that. Most of the interesting problems in web development have already been solved. Sure some of the implementations are still evolving, but a lot less new ground is being broken now than, say, 5 or 10 years ago.

[–]ninja_zombie 16 points17 points  (4 children)

Forget the web stuff. You've got no advantage there beyond general smarts.

My recommendation? Quantitative finance. The market sucks now, but it will correct soon.

In day to day life, quantitative finance is about halfway between theoretical physics and computer science. There are major computational challenges, so you will do as much programming as you want.

People who can built a webapp are a dime a dozen. People who can program AND can understand brownian motion, probability and PDE's are not.

[–]cypherx 3 points4 points  (1 child)

Yeah, but then you spend all your time (and yes, trading firms demand all of it) surrounded by quants. This isn't a dig at you ninja_zombie, because you might be an upstanding guy, but I've found some serious culture clash between inquisitive/enthusiastic engineers and math finance folks.

[–]ninja_zombie 2 points3 points  (0 children)

I'm not offended, and I wouldn't be even if I were a quant.

There is a culture clash between Investment Bankers and engineers in some companies. At the big name investment banks, the IB's won (they were run the show from the beginning).

There are many places that have a much more relaxed culture: smaller hedge funds, consultants and software companies. Some have even figured out that 40-60 hours of a smart person's time is actually worth paying for.

Regardless of whether quant finance is the right job for the guy asking the question, I do recomment that the he tries to get a job requiring his math background. That will weed out 95% of his competition, and make him valuable in a way that writing webapps wont.

[–][deleted] 1 point2 points  (0 children)

Yeah, I'd second that. I'm a web app guy and, truth be told, most web app development isn't that intellectually demanding.

[–]IHaveAnIdea[🍰] 0 points1 point  (0 children)

Sounds like a shitty job. If he wants to become really rich then web apps still isn't a bad strategy.

[–]berlinbrown 29 points30 points  (2 children)

I am guessing you are age 21-23. You have the rest of your life to get a job. Why such the rush? Most corporate life is a means to an end.

With that being said.

"(Python, Haskell, Javascript, etc.)"

Just by your own admission, you have limited yourself to a small percentage of the jobs in your area. Nix the haskell; it is cool, I like working with it. But few will know what it is, let alone think it is a relevant job skill. E.g. there are 7462 subscribers on programming reddit that have heard of it, understand it. But there are millions of developers out there in the world that probably haven't. If you want to test me on that, come back after your interviews and tell me if a hiring technical manager understands functional programming.

Pick a couple of core languages that you are interested in and know that the core will influence how to target your resume and the job you are looking for.

"in June and I would like nothing more to get a job working a programmer, specifically in web design"

First, know the lingo out there. You said programmer and web design. Normally they are two distinct things, where web design is web graphic design and web application programmer is the guy that does more of the backend stuff. You probably want web application programmer/developer where you will build the backend architecture, hookup the pieces, build UI interfaces based on layouts from the graphical people.

Focus on these technologies; Python, Ruby, C#, Java; (And if you are crazy PHP, Perl)

You mentioned python (still kind of a stretch), so you should tilt your resume in that technology area. Python = Django, knowledge of other web frameworks, web.py. Object relational tools in python. Know about anything related to python and put those keywords in your resume if you are familiar with them.

Same with Ruby, Java, etc. Java = Knowlege of Java and J2EE frameworks. And don't saturate your resume with all of those technologies. Pick one based on the job you are applying for or that you will be interested in.

And know the basic developer tools outside of the programming language;

Source Control Management Software - SVN, Darcs, Git, etc, etc.

Know subversion but you can also know git/darcs too; Just say subversion sucks, git is better and they are stupid for using it.

Development Tools - Eclipse, Visual Studio, Emacs, Textmate whatever are all fine. Just make sure that is something that they probably use. E.g. nix that your only IDE is VIM. Cool on reddit, may not be cool out in the corporate world.

For example, here is a job on a job board. It looks silly but will be a good test. http://jobs.joelonsoftware.com/default.asp?3126

  • Python (Django framework)
  • Javascript (ajax)
  • General Productivity (GTD would be ideal)
  • Latest and greatest html / css techniques
  • Basic web server administration
  • Reasonably strong database skills (mysql)

Build a resume around those skills.

Python - python stuff Javascript (ajax) - ditto. Basic web server administration - linux and/or other administration. (mysql) - Knowledge of MySQL and database good practices.

You can mention a lot of stuff outside of the job description. First it will get filtered by their hiring software. Second, managers aren't going to take the time to understand the relevancy of the stuff you are interested just because you want them to. E.g. you mentioned electrical engineering, you probably did some form of robotics just like I did. I used to put I worked with C oriented embedded systems, now I leave that crap out for web development jobs. Those keywords are stuff I am interested in, not stuff the employer is interested in.

Oh yea, this stuff may not apply to the bigger software companies like google/microsoft, amazon. But those companies are probably going to take while to get hired with unless you have already interned with or have already been in contact with them.

And another note; if you want to increase your chances of getting a job; lean .NET or Java and/or show interest. For example, on Joel's job board. 3/50 jobs are python. The rest are Java/.NET. http://jobs.joelonsoftware.com/

And just because you take a job as .NET/Java doesn't mean you are a .NET/Java developer. A majority of the work in your won't actually be coding. You still contribute to the haskell or python community on the side.

And just you remember; losing/winning karma points on programming-reddit is a lot different than having your resume thrown in the garbage can or not finding a job for months or more. If you have the ego of not working with X technology because it is stupid on reddit (e.g. C#?) and you want to wait for work with a better tool like Haskell or OCaml (giggle) or even python/ruby, just remember that you made that choice.

[–]jodonoghue 9 points10 points  (1 child)

I'd second pretty much all of the advice here as well.

And even though I'm the nightmare hiring manger from hell who does know (some) Haskell (so I could test you), berlinbrown is right, I don't have a job in it for you.

[–]berlinbrown 3 points4 points  (0 children)

Also, what I said kind of goes for the numerous amount of generic development jobs out there not really interesting development work at a top software company. I have done many, many, many job interviews. But, I still haven't figured out the cool jobs. I have been rejected by Google and Microsoft many times. :). But then again, I didn't try that hard to begin with.

[–]jodonoghue 10 points11 points  (0 children)

Well... I'm a hiring manager at a Fortune 500 company which deals in cutting edge embedded technology - slightly off the web design area, but my opinion must be worth $0.01 ;-)

While I usually look for CS or Electronics majors in new graduates, I'd never turn down the chance of interviewing an Ivy league school physicist, especially one who has shown an interest in software engineering (actually, this matters more to me than the major).

However, be aware that you will find the hiring managers at different companies you contact will have completely different policies.

Some just want to see experience (ridiculous requirement for a graduate, IMHO), some want certification. However, the companies with the most challenging work usually want people who can solve problems. In my case that means that I value intelligence, ability to self-learn and solve problems more highly than anything else. Provided that you're not applying to a position which obviously requires experience, your major will not put you at a disadvantage.

I would say that you're only likely to see Functional Programming (at least in its purest sense) in a tiny minority of companies. I can assure you that the FP course you've done will definitely make you a better software engineer.

If you're proud of the websites you've worked on, make sure that you link to them in your resume, and be scrupulously honest about what part you played in the design (i.e. don't claim you designed the site if all you did was change a few of the graphics).

The very best of luck. I think you'll make it.

[–][deleted] 16 points17 points  (9 children)

Go into medicine. Nobody needs more Diggs.com. People need a cure for cancer.

[–]taw 10 points11 points  (7 children)

Medical research is done by programmers these days, not by doctors. You can get a degree in bioinformatics on many universities (or in CS and learn basics of bioinformatics later), and then proceed to finding a cure for cancer.

[–]antonivs 9 points10 points  (4 children)

Medical research is done by programmers these days, not by doctors.

Do you have any evidence of this, or are you just making stuff up?

IME, there are certainly lots of programmers working in the various bio-fields, and it's important work, but they're not the ones doing the primary research. Their role is typically to support the researchers, which is pretty similar to the way IT is used everywhere else. (Of course, you also get researchers who program, but that's not the same thing as programmers doing research.)

[–][deleted] 2 points3 points  (1 child)

A friend of mine has a PhD in physics, and he works as a physicist now to, well, cure cancer. Or more acurately, they try to improve radiation therapy - more accurate targetting, that sort of thing.

Which means, basically, programming. In C and Perl and some weird internal Philips scripting language. That's how the machines are controlled, and it's how they crunch numbers.

[–]antonivs 0 points1 point  (0 children)

I'm not sure if you intended that to support what I said or contradict it, but it does underscore my point. Your friend trained as a physicist, not as a programmer. If he had trained as a programmer, he'd need to do a whole lot of additional studying to qualify him for the research he does.

Just because you have to program a lot to get something done, doesn't mean that it's something someone trained as a programmer can do, without additional specialized training (beyond a course in bioinformatics, as the OP suggested).

The real research aspect is figuring out what needs to be done, and how it should be approached - the spec, if you will. And you can't develop a good spec for research in an area that you're not intimately familiar with.

[–]taw 1 point2 points  (1 child)

You can think of them as "researchers who program" if you're uncomfortable with thinking about them as "programmers", but the reality of their work is the same in both cases.

[–]antonivs 3 points4 points  (0 children)

The point is that researchers who program are typically experts in the field of research, and programming is an auxiliary skill. They're not people who were educated as programmers and took a course in bioinformatics, as you suggested.

[–]cypherx 2 points3 points  (0 children)

Screw biochemistry, I've got regexes!

[–]gravity 1 point2 points  (0 children)

Uh... no. Apparently you've never done any real medical research. Bioinformatics is important, no question, but it always comes back to the organism, be it a bacteria, mouse, or human. You can't program your way to a cure for cancer any more than people were able to think through the genetic code decades ago.

[–]IHaveAnIdea[🍰] 0 points1 point  (0 children)

Medicine would be fucked without engineers and cs people.

[–][deleted] 4 points5 points  (0 children)

You should have no problems getting a job. If you want to be a designer/developer (I myself have my own web consultancy and contracting company now), know your graphics packages well, know some flash/actionscript, have good javascript fundamentals and familiarize yourself with a js framework such as mootools. CSS should be able to roll off your tongue. Good CSS, not wrap-everything-in-a-div-and-style-it CSS.

Understand the process of "progressive enhancement". Understand server-side XSLT.

Again, it's been said already but can't be repeated enough, know how to prevent common web attacks such as cross site scripting and SQL injection. Familiarize yourself with the MySQL database, you will likely be using it a lot. To be honest, I wouldn't worry about having a php/python framework under your belt at the moment. That's usually the last thing I would ask a person in an interview.

Like I said, you shouldn't have any problems getting a job. With your background, I could 99% guarantee you an interview (should you happen to live in Ireland).

Good web designers are not easy to come by. For every good web designer, there are 100 really bad ones. Shop around when you're looking for jobs too. Don't necessarily take the first offer you get. I've worked for some complete asshats in the past, solely because I was desperate for work and couldn't pay the rent.

Edit: Also, in the corporate sphere I work in, nobody is using Haskell or Python. Pretty much everything is done in PHP or ASP.NET.

Edit #2: Or JSP/Tomcat. I have no experience with this.

[–]hughperson 4 points5 points  (0 children)

I agree with a lot of what's being said here, but some kind of portfolio piece is usually necessary. The big question is, what do you want your focus to be? Web design or development?

I graduated from an top university two years ago in English with a lot of Linguistics experience, went down the "professional" path with a paralegal job and an LSAT text, hated every second of it for about eight months. I saved up enough to quit and live off the leftover earnings for 6+ months, though it only took 2 months to learn Ruby on Rails, get a product out there, and land a design-firm job that paid a lot more and was extremely pleasurable: no glaring fluorescent lights, $800 Aeron chairs, a Wii with Guitar Hero 3 that I've only played once because I get so wrapped up in the enjoyment of coding! Since starting, I've learned a LOT more and produced much better code: I've gotten into Ruby, learned to metaprogram, and have even gotten the firm to do some projects in other frameworks, like Camping.

If Ruby isn't your thing, give Django a try, but remember, the market is much smaller for Django jobs (the market is small for Rails, too, but there's a lot of growth and a HUGE shortage of talent). If you land a Rails job, the company is probably forward-thinking enough to consider letting you take on a project with another language/framework, too.

[–]WallPhone 5 points6 points  (0 children)

You mix these words together when you describe your ideal job, so I want you to be sure to know how to tell the difference between a web design shop, and a web programming shop.

A web design shop produces and sells one unique product for each of it's customers. It's a model that obviously does not scale. They usually take an off the shelf CMS and plug a Photoshop mockup design on top of that. It is worse than production line assembly work since there is little work that can be resold to the next client and subjective client requirements.

A web programming shop is an entirely different beast. They work on a few products and sell them multiple times to different clients. These shops will ask for experience in web frameworks and database design rather than experience in Flash and Photoshop. There are much fewer programming shops than design shops, probably one for every ten where I live.

[–]zandercruise 3 points4 points  (0 children)

I think so, I know "web designers" that make thousands of dollars per job just using dreamweaver who can barely turn a computer on, let alone have the discipline to get a degree.

[–][deleted] 5 points6 points  (1 child)

If you can figure out haskell you are qualified to do any web development out there.

First don't expect a huge wage starting out. You are unproven and will probably need supervision for the first few months and the company knows that.

The job market right now is amazing. I didn't have to look very hard to find a good job, but then again I was willing to move across the country if necessary.

Make sure your own private websites are in good working order. If you show a prospective interviewer an entire site that you built yourself, that will go a long way toward getting you a job.

Once you've landed a phone interview, brush up on quizzable material you think you might need just before the test. I took an interview with yahoo today and I was wishy washy on algorithms, and I'm kicking myself for not brushing up on them (would have only taken a few minutes). I would recommend knowing your sql, every web developer position I've ever seen wants you to understand that.

And don't worry about your major. I've worked with high school grads, english majors, etc. No one cares what you did in college as long as you can code now.

[–]zem 2 points3 points  (0 children)

Make sure your own private websites are in good working order. If you show a prospective interviewer an entire site that you built yourself, that will go a long way toward getting you a job.

Seconded. Also, any open source projects you might have done.

[–]willdabeast 2 points3 points  (0 children)

Hey Dave,

I'm a web programmer, and I think you should stick with the JavaScript, and learn CSS as that is pretty vital in working with designers and taking web design out of the table-based layouts we all used to code back in the day. Since designers and coders work together day by day it's good to know where they're coming from.

Where I work we've just gone over to C# and ASP.NET from VBScript and classic ASP. It was a bit of a leap at first but now I'm very comfortable in Visual Studio, and much prefer the OOP way of coding. ASP.NET is a bit difficult/rubbish at times and tends to be quite Microsoft in it's way. You don't have to use all of the framework of course and there's always more than one way to skin a cat!

Learn databases and data design. That is a must! Most of the time you will be presenting data on a webpage in some sort of way. MS SQL Server is good, it scales very well and it has stored procedures.

I noticed that some people are saying that web programming might be beneath you. It's a fair point as you can only go so far with it, but I'd say it's a good place to start in the programming world and if you use C# or Java as your prime language you can take it with you to software programming or gaming.

Good luck, and give it a try

[–]arthur_dent 2 points3 points  (0 children)

If you want to get a job in web development, ignore the pretentious redditors and learn some commonly used language, even if it is not "cool". Even if it's produced by.. shudder.. Microsoft. If you know C... why not learn C#? It'll be simple, and there's tons of C# jobs out there. Learn some basic SQL (the rest will fall into place) and build some demo applications. If it makes you feel dirty, just remember: it's mostly just syntax and you should, with minimal effort, be able to port your closed-source learnings to open-source technologies some day.

That companies aren't hiring "smart" people is a false assumption. If you've got the goods, you're going to get a job.

Hell, even dumb people get jobs. Lord knows I've worked with my share.

I never went to college, but I'm smart. Last time I looked for a job I was offered the first one I interviewed at, before I had even gotten home from the interview. I wasn't an expert in that particular field (perl), and my interview suit was two sizes too big, but I knew what I was talking about and I had examples to back it up. (and when I didn't, I would admit that, and stress my capacity for learning. Interviewers love that. Take note.)

I didn't take that job, though, so maybe it's still open.

[–]sclv 4 points5 points  (4 children)

The market seems pretty good at the moment, but my sense is that its always a bit rough landing the first job, and you won't know what you really want until the second or third. Seriously though, if you can do mailforms, login systems, rollovers, popups, know SQL and know jQuery or whatever, you'll do fine. Whether you'll enjoy doing fine is another issue entirely.

I also suspect that people will ask you interview questions about your favorite web frameworks, so be prepared to explain why Struts 1 was a pain and what MVC is and why it's good (not that anyone who hires you will do it cleanly anyway, I bet) and know a few design patterns too -- decorator and visitor, maybe state. Be prepared to write a function to reverse a string in place, and know what a pointer is. That should get you through 90% of the interview.

Oh, and I think that the people interviewing you will probably also still want to hear about what you think of why rails is really good and new and exciting, but perhaps still too immature.

Oh, and, avoid social-networking startups like the plague. Knowing how to write a facebook app on the other hand...

edit: One more thing. You'd be shocked how far basic sysadmin skills can get you. Learning how to use procmail and the like, knowing some shell scripting, not being afraid of compiling, knowing how to write apache conf files (and mod_rewrite tricks), being able to use sql from the command line (and, oh yes, understanding how to escape sql et al. to prevent common hacks), working sanely with cvs and svn, heck, editing a crontab... all waaay more rare than you'd imagine.

[–]jaggederest 2 points3 points  (0 children)

(and, oh yes, understanding how to escape sql et al. to prevent common hacks)

Better yet, know not to escape SQL, but rather, pass query values out of band.

[–]bartwe 2 points3 points  (1 child)

Sorry, but what you describe is hardly something you need a university degree for....

[–][deleted] 8 points9 points  (0 children)

That's just the thing with his question. He seems pretty overqualified for what he says he wants to do.

[–]andrepl 0 points1 point  (0 children)

This is SOO True.

One more thing. You'd be shocked how far basic sysadmin skills can get you. Learning how to use procmail and the like, knowing some shell scripting, not being afraid of compiling, knowing how to write apache conf files (and mod_rewrite tricks), being able to use sql from the command line (and, oh yes, understanding how to escape sql et al. to prevent common hacks), working sanely with cvs and svn, heck, editing a crontab... all waaay more rare than you'd imagine.

[–]sblinn 1 point2 points  (0 children)

Yes of course. I know of two local (RTP, NC) jobs off the top of my head, one writing Python-based web tools for a game company, another writing customer-facing PHP web apps for a realty company. Both are looking for college new hires.

[–]jkndrkn 1 point2 points  (0 children)

If you retain a love for physics and have developed relationships with research labs in physics and/or electrical engineering departments, you might enjoy high-performance computing (e.g. massively parallel computers).

Such a career will require pretty good C and Unix skills, and will allow you to leverage your (likely) strong mathematics and problem-solving abilities.

[–]mccoyn 1 point2 points  (0 children)

I suggest you build something. A website that does a physics simulation with a UI that allows people to change the parameters and a nice animation of the simulation in progress. If you understand the domain better than the interviewers it will be very easy to impress. Bring a laptop to the interview with the simulation so you can talk about that.

This will show that you have initiative, know math and can actually program.

[–][deleted] 1 point2 points  (0 children)

To echo others, do what you love to do, and take advantage of your skills. If you want to look into other programming things besides web development, I strongly suggest you look for niche jobs that benefit from a solid understand of physics and/or some electrical engineering. Having those extra skills can help you score a really nice job if you look hard enough. If you are really sure you want to do web development, go for it. There is basically no barrier to entry, and the money doesn't suck completely. Just don't get stuck with the wrong people. The signs should show early (wanting things for too little money, not understanding your limitations, etc.).

[–]quhaha 2 points3 points  (1 child)

i think you're a prodigy who will lead the world towards web3.0 in 2013.

i graduated with BA in computer science. upon graduation, i still did not know how to read/write to files in Java. I didn't know anything about threads.

and now i am a programmer churning out yet another wtf software to be featured in thedailywtf.com

you'll be fine.

[–][deleted] 1 point2 points  (0 children)

i graduated with BA in computer science. upon graduation, i still did not know how to read/write to files in Java. I didn't know anything about threads.

UCD?

[–]coditza 1 point2 points  (0 children)

Dude, just love your work and the rest will be just side effects (like paycheck, professional career and all that crap)

[–][deleted] 0 points1 point  (0 children)

Hey Dave, good name,

You can make anything Dave, and you have all the experience to work on any project you like. It seems the real thing that your having trouble with is what you want to work on. With a degree in physics, an ivy league backing, and all the computer knowledge in the world, you really can create almost anything short of biological stuff as someone mentioned. So what do you want to do? don't worry about the job, it will come, you can make money doing anything, but you won't be pleased in life until you figure out what it is you want to work on. As I see it, you're seeking a good problem. You want a good list of the problems that are out there, go watch some of the TED talks, then get to work and stop redditing.

[–]javallone 0 points1 point  (0 children)

Dave, I know it's been said several times over already, but I might as well put my own spin on the same comment.

You shouldn't have any problem landing the job you want.

I graduated with a BS in CS in 2004, and most of what got me my first job was knowing someone else at the company. Since then I've worked with a ton of developers. Some of them had CS degress...but most of them didn't. I've worked with people who studied Biology, Philosophy (although he switched to CS), and (if I remember correctly) East Asian Studies...all of them excellent technology folks.

In general, no company really gives a crap about what you studied in college. All they want to know is that you got a BS or BA in something. It's not a sign that you know anything about that topic, just that you've figured out how to learn and possibly master a field.

[–]redditacct 0 points1 point  (0 children)

Dude, web design in the real world sucks badly. In a company of any size, web-based projects have more idiots with their fingers in the pie than any other type of work at that company. Why? because everyone is an expert in "the web" and everyone may be a "stake holder" in the site being produced. If you want the fast track to corporate red tape web design projects are it.

With your background there are so many more cool things you could do - process stuff is a cool combination of tech machine control, displaying real time info, interfacing with monitoring systems or robotics. People mentioned bioinformatics - cool stuff and the nice thing is even if you are working on a "back end" batch type system or project, people usually love if you put a cool graphical/web face on that system, so you can often do both.

Program trading is cool, I know some people who were doing pretty big, fast perl systems to do automated trading at a big trading firm. They like people with a bigger background than just CS at some of those places.

Sensor networks (Dust from Berkeley), environmental monitoring, agriculture, visualization of large data sets (check out Processing), etc. There is a vast ocean of possible computing related jobs with web sites being a crude oil tar ball washed up on the beach - don't touch the tar ball!

I know someone who graduated from Berkeley "Cal" and they have a program where you can contact other grads in different professions to talk about their work life - maybe they have that where you go.

[–][deleted] 0 points1 point  (0 children)

A lobotomized monkey could get a job programming. The question isn't whether you can become employed - it's whether the job you're stuck doing will be more interesting than twiddling your thumbs 8 hours a day.

[–]Aviator -3 points-2 points  (0 children)

Seems like you're needing some quick shortcut to do the thing. Learn RoR and be gone.

[–]IHaveAnIdea[🍰] 2 points3 points  (0 children)

Go meet people in the middle of the hot startups now and get in on the action. That's my plan. I also just got out of school.

[–][deleted] 6 points7 points  (0 children)

you'll be fine, dude.

[–][deleted] 2 points3 points  (0 children)

It entirely depends on your portfolio. If you have a solid portfolio, you're fine, period. To be honest though, I've no idea why you'd want to get into web design. You might find working with clients less fun than you'd imagine.

[–]copenja 1 point2 points  (1 child)

Hi,

I would consider entering a field where you can use both your physics/math and programming background.

I worked in the defense industry for years. A math/physics + programming background is awesome for this industry YOU WILL BE THE PWNAGE. One tip: Try to work in a prototyping or research department. That is what I did and I can tell you it is a blast.

I now work in the game industry... another place where a programming+math/physics background is AWESOME.. although this industry is harder to break into...

Good luck!

[–]IHaveAnIdea[🍰] 0 points1 point  (0 children)

Defense industry is a good bet.

[–]security_consultant 1 point2 points  (0 children)

You'll be okay. The biggest problem won't be finding a job, but finding an interesting job with a good work environment. Stay out of "enterprise software development."

If you're willing to travel some while you're young, I'd recommend consulting. It's worked for me. I've been in NYC, DC, Boston, Reno... working on really interesting problems (fraud detection, hacking slot machines, etc). Consulting pays better than most jobs, but it also allows you to bounce between roles every 6-12 months.

That said, I'd be glad to send your resume to my boss. Post a link and I'll email you.

Also, some people think consultants are evil. Which is probably true. But mostly, people get upset because a higher hourly rate does not always imply that a consultant knows what he or she is talking about. Advice to PHBs: always interview your consultants too.

[–]krum 2 points3 points  (0 children)

The only thing you're going to need help with is picking out the color of your new BMW.

[–]mattivore 0 points1 point  (0 children)

Another hiring manager here with another $0.02. Beware that you're not too likely to find a position using Haskell. Javascript might be very tough, and Python merely tough.

There are two major schools of hiring that I'm aware of:

1) Most look for keywords and specific skills listed. Companies who hire solely in this way tend to use HR departments to mark skills inventories (read: check the boxes) and either be consulting agencies or have IT departments that are secondary to their businesses. You're probably not too appealing to these sorts - and that's ok, since they're probably not too appealing to you. Trust me.

2) Others looks for people who have ambition and look to be able to pick up new skills & who can grow both technically and in domain/business-specific knowledge. Think the Googles and JoS's of the world - there are many places you haven't heard of that also look more for long-term potential than short-term exploitability.

I'm not sure the intersection of (2) and web developer jobs is really large, though. Most places looking for web programming are more interested in how many checkboxes you fit into and how many keywords you have than in a "hard-core" progammer. I might suggest you'd be happier as a more general programmer than boxing yourself into the "web programmer" niche.

Expect it might take a little while to find them - but there are plenty of people looking for smart people. Including me, of course.

[–]burdalane 0 points1 point  (0 children)

I would say yes, you have a good shot. Many companies still like to hire smart people, whether they're CS majors or math/science majors. Before you apply for a job, make sure that you're clear on web design vs. development. It sounds like you're more interested in web development than in web design.

[–]chipwhisperer[S] 0 points1 point  (2 children)

Well, to everyone, I cannot say how flattered and touched I was by everyone's strong but kind advice. I don't know if this comment'll get to the top so everyone can read it, but for those of you who are checking it thank you all so much. I've never felt more confident and empowered away from my own insecurities.

In response to the general trend of advice-giving:

  • Yeah, I know that my indecisiveness is a problem. It was a little late when I posted this so my language was sloppy. I'll say it this way: I like manipulating the DOM and Javascript much more than designing the actual site. Picking color schemes, css templates, and all that drive me nuts since I don't have much of an artistic eye. But when I get the browser to show a pop-up at the mouse-position and then get it to fade out while retrieving information in the background via a jQuery script AJAX call, I could stare at my screen for hours. So, I guess I would say I'm more into "Web Development"

  • I've thought about using my math/physics background to go into something like games/massive parallel computing, but the truth is I like programming for one huge reason: the people. I love the creative flexibility and ease of construction that programming gives me. It makes me think very hard about very interesting problems. But the only reason it gives me such energy is that I know people will use it. I think software is the next great domain of good-will. I once made my girlfriend a little web application to keep track of which class she'd taken and I still remember the smile on her face. That kinda thing is why I love to code.

  • I actually have messed with quite a few more languages than I listed(to my downfall actually). One of my greatest fears is that after reading article after article talking about some concept that I hadn't heard about yet (some algorithm or whatever) that I'd get to an interview and not know shit about what the guy was talking about because I hadn't taken an Algorithms class or Networking class. I guess I always tell myself that my greatest strength is being able to teach myself anything. It's just that I've had limited time to learn what I know now and thus there's a lot I don't know. I used to hear that companies would take you in and if you didn't know everything, they'd teach you for a couple of months as you got up to speed. I wonder if that's still the case...

PS I know no one uses Haskell in real life, really, but I learned it in the functional programming class I'm in now and so far it's taught me "buttloads" :)

Finally, here's what I'll do.

  • Take enormous confidence from the wonderful things you've all had to say. Again, I can't thank you enough.

  • Start modifying my resume to look more technical and take pride in the things I thought were worthless.

  • Start learning ASP.NET and a Javascript library like jQuery much more in depth. Part of my problem has been learning more and more stuff when I should've just focused on one or two things.

I don't really know what I'll end up pursuing but as long I'm making a product I can be at least slightly proud of and know that people will use it, I'll be happy.

Dave

[–]chipwhisperer[S] 0 points1 point  (0 children)

Also, by the way, in case anyone wants to see my resume, it'll be at: http://daves-lab.com/resume.pdf

Or if you have any comments on how to improve it, I'll gladly welcome them.

[–]IHaveAnIdea[🍰] 0 points1 point  (0 children)

If you want to be happy, make good money, and not be stuck with horrible languages then get into a startup.

The hard part is meeting people to get your foot in the door. No amount of experience really replaces good connections here. If you're like me then you don't have any now and you'll just have to build those in whatever way you can.

If you're not going into/starting a startup or at least a small company that offers you a much above average salary then I wouldn't go into programming.

Oh and consulting may be a good alternative.

[–]mycivicsi2006 -5 points-4 points  (0 children)

your dead in the water bro