As an engineer and a hiring manager, I am much more interested in a well-rounded person who can think, communicate, write, and spell well:-). Working well with others is important.
I don't care about class work or teaching style at the school -- but I do like to see a body of coding work. The best advice I can give is go to the liberal arts school, but
1) Take charge of your tech education yourself. You should learn as much from googling around as from your tech classes. God! if only I had had the web when I was in college!
2) These days your engineering peer groups are all virtual anyway.
3) Contribute, contribute, contribute. Begin now. Don't wait till you get to school. Learn a language like ruby (which BTW is great for learning the theoretical concepts!) Then, begin actively contributing to open-source libraries and projects. Start by helping to improve some existing libraries. Then think up your own contributions and begin contributing and actively maintaining them. Learn how those libraries are packaged, uploaded, deployed. Learn to iterate.
4) Learn how to work in teams (source control, using a bug tracking system, prioritizing the work you do to fit into limited time).
5) Get summer jobs that involve programming. Work somewhere cool that values good engineering practice and creativity. Do not work programming AT&T telephone switching equipment.
6) Try to leverage your peer group and contribution history into getting "scholarship" attendee status at open-source technical conferences, such as the OS Con (usually in July, usually in Portland).
As a manager, if I saw someone who had contributed a diversity of nice, mature, open source tools, whose code I could freely download and inspect (and unit-test:-)), and that person could talk to me cogently about experience developing those projects, I would hire them even if they had not been to college at all. Some of the very best engineers I know never graduated from college.
As an engineer and a hiring manager, I am much more interested in a well-rounded person who can think, communicate, write, and spell well :-). Working well with others is important.
:-)), and that person could talk to me cogently about experience developing those projects, I would hire them even if they had not been to college at all. Some of the very best engineers I know never graduated from college.
I don't care about class work or teaching style at the school -- but I do like to see a body of coding work. The best advice I can give is go to the liberal arts school, but
1) Take charge of your tech education yourself. You should learn as much from googling around as from your tech classes. God! if only I had had the web when I was in college!
2) These days your engineering peer groups are all virtual anyway.
3) Contribute, contribute, contribute. Begin now. Don't wait till you get to school. Learn a language like ruby (which BTW is great for learning the theoretical concepts!) Then, begin actively contributing to open-source libraries and projects. Start by helping to improve some existing libraries. Then think up your own contributions and begin contributing and actively maintaining them. Learn how those libraries are packaged, uploaded, deployed. Learn to iterate.
4) Learn how to work in teams (source control, using a bug tracking system, prioritizing the work you do to fit into limited time).
5) Get summer jobs that involve programming. Work somewhere cool that values good engineering practice and creativity. Do not work programming AT&T telephone switching equipment.
6) Try to leverage your peer group and contribution history into getting "scholarship" attendee status at open-source technical conferences, such as the OS Con (usually in July, usually in Portland).
As a manager, if I saw someone who had contributed a diversity of nice, mature, open source tools, whose code I could freely download and inspect (and unit-test
Good luck!
-c