What Skills Should Undergrads Have?
kramed8 writes "As a student myself, after reading the recent 'Slam' article on Java I really began to be concerned with the path of my education. I am currently attending a small Canadian University as a 3rd year Computer Science and Business student set to graduate next year. What seems to have troubled me from reading the article and user comments is that I do not feel as confident as I want to be in C, ASM and other related low-level programming topics. I was taught C++ in my introductory courses, with subsequent classes using C# or Java. My education has not been particularly difficult or time consuming to get good grades, so I have spent my free time dabbling in topics and languages that interest me (ie Multiple GUI Toolkits, Python, Linux). How can I spend my free time in the next year to prepare to enter the work place with a proper toolbox of skills? From what I have been told, there are more jobs for Java and Data Warehouse development teams compared to lower-level programmers. As an undergrad, what skills should I be trying to attain now to further my employability in the future?"
is experience. Look for a job doing something in the field, do your job well, and get a letter of recommendation.
The article yesterday I think was more aimed at people who don't understand that basics of whats going on behind the scenes. For example, its expensive to convert between formats of numbers (int->double etc), or how to use bitmasks/shift bits.
If you can afford the 'free time' see if you can apply for any internships at different large companies. Or see if a smaller one would take the chance with you interning with them. The price is right for them, and you get to tail someone who's more experienced in the field.
You can also look up some open source projects that need assistance (there are many of them that do) and see where you can help on them. Open source projects are a great way to get experience and critiquing your own skills.
You can also learn these three words:
"Hello. Geek Squad."
There are no loopholes. It's either legal or it's not.
The important thing is that you have learned programming initially or at the very least, been taught the fundamentals of some language like C or C++ which will let you understand how things like memory allocation works and how pointers work. If you understand those concepts you will be good. You don't need to be proficient in ASM, but understanding the concepts is important, you should learn that type of thing in an Operating Systems structure class though. Once you have learned the fundamentals of C or C++, I would say to do everything else in an easier language like java or C#, because you shouldn't spend your time focusing on your memory allocation and such when you are just trying to understand the structure of a redblack tree.
How to find folks to interview? Networking. Work your contacts. Good sources include friends of your parents, your friends' parents or their friends, people your professors might know, etc. Or, find local events or societies or clubs that attract folks from your target industry. Or just call up companies you admire. This aspect of the information interview is great training for later in life, when you really want to get a job.
Build a man a fire, he's warm for one night. Set him on fire, and he's warm for the rest of his life.
ISBN-10: 1590593898
Could recommend this book more highly to an up and coming programmer.
This is the first book that we ask our interns to read.
The second book (for those pursuing management positions) is
"Leadership and Self-Deception"
ISBN-10: 1576751740