Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I got a degree in Chemical Engineering but held a part time job as a PHP programmer the whole time. This has developed into a full-time job. I was wondering how having a Chem-e degree instead of a CS one will affect me progressing further in this career. Does anyone have experience with this and maybe some hints?

share|improve this question

migrated from stackoverflow.com Aug 31 '11 at 14:20

This question came from our site for professional and enthusiast programmers.

4 Answers 4

up vote 5 down vote accepted

I practiced as a mechanical engineer for 16 years before becoming a full-time software professional. I've been doing it for fifteen years and counting.

The plus side is that switching kept me in learning mode for a long time and gave me the chance to work with some terrific, smart young people.

The minus side is that I've had to stay on the learning treadmill and continue to upgrade my skills every day.

I always worry about all the fundamentals that I missed out on. Undergraduate computer science students were studying data structures and other fundamentals when I was learning thermodynamics and mechanics. I went back to school and took courses in some of those fundamentals, but I still have to work to shore up those deficiencies.

I picked up two Java certifications early on, but neither has been much help beyond what I learned about Java while preparing. No employer has ever asked about them. I don't list them on my resume anymore.

I'd recommend branching out beyond PHP. You've got to get past web programming; I fear that it's becoming a commodity. Learn some other languages and leverage your math background to expand your expertise in another domain would be my recommendation.

UPDATE: MATLAB is a terrific tool to know, but I would go beyond that. If you intend to continue with web development, you need to know HTML, CSS, JavaScript, jQuery, XML and Flex very well. You can't go wrong with a good working knowledge of relational databases and SQL.

I haven't even started on a server-side language. Java's my choice, but C#, Python, Ruby might be other good alternatives.

Best of luck.

share|improve this answer
    
And your SO reputation says it all how you've been doing so far! :) –  this. __curious_geek Jan 4 '10 at 10:53
    
@Geek, sorry I don't quite get you. Is my reputation a good thing or a bad thing? 200 doesn't seem like a lot compared to most people here. @duffymo, any advice for other languages? I know they were really pushing C in college. Does MATLAB count as a language? –  Brian Jan 4 '10 at 11:00
    
I don't know about web programming becoming a commodity but I would say you need to go with more languages. If web programming is what you like stick with it but learn all of the stack. It helps to know how DNS and caching works when figuring out problems. You have to learn JavaScript and the DOM. –  Jeff Beck Jan 4 '10 at 11:06
    
@Brian: I think he was talking to duffymo. –  Callum Rogers Jan 4 '10 at 12:12

My first degree was in Physics, I've been programming and doing protocol specifications since well before I finished my degree. Science is science, math is math, programming is just an area of applied math, so you can do it. The thing is, you need more and better languages. PHP is only one category of language, and while it's practical, there are things you can't do with it, and if it's the only language you have, you can't think outside its box.

Learn, at least, C or C++, Lisp (or Scheme), Haskell (brainteaser, but you will think differently about code... it's like learning category theory in math, everything is different afterwards), and Python. SQL is nice to have too. Read the key bits of an operating system kernel.

You have a much stronger math background than most CS graduates. Use it.

share|improve this answer

Don't forget that software development and engineering share many things. Development to an interface, application of Lean principles are two examples that spring to mind. There's no substitute for experience, so if you're already doing it, then there should be no real obstacle to you, and anywhere that puts obstacles up on this basis - well, you probably don't want to work there anyway.

FWIW, my first degree was in Engineering, and it hasn't held me back...

share|improve this answer

Its always your choice. If you wish to be a programmer then your chem-e degree won't be a hurdle. But you will have to put more efforts in programming, thankfully there are many good places to learn. It will also help you to go for some programming certifications.

share|improve this answer
    
Thanks, any advice for certifications? –  Brian Jan 4 '10 at 10:53
    
I cannot speak intelligently on PHP certifications as I am a java programmer. –  Ravi Gupta Jan 4 '10 at 11:25

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.