Haimanti “Hemo” (Nag) Weld, a class of 2001 Computer Science alumna, sent me an email with some advice for students, based on her experience moving into the work world. In her words, these are “some things I know today that I would have liked to have known before.”
- Don’t get rid of your old text books even if you think you’re done going to school for the rest of your life. I did because I thought it would be extra money in my pocket and it seemed impractical to have a load of books to transport. But it would have been well worth it and would cost a lost more to replace at a later time. There are several times when I wished there was something I could “just look up” with having to go to make a trip to a library or refer to another source. It’s much easier to read something that was once familiar and could potentially have your own notes on it.
- Never underestimate the power of pseudocode or design. Even if you are unsure of a syntax of a particular language, being able to write logical pseudocode is really helpful. I once had an interviewer ask me to write some code on a white board. It made me really nervous because to me “code” meant correct syntax from a particular language which when written out looked smart, efficient and official. I think what the interviewer really wanted to know was not my ability to remember where the semicolons went or which sets of brackets to use for what but to see if I had the ability to think logically. Some well meaning and fairly descriptive pseudocode would have been more than sufficient and probably easier to parse. It’s more important to be on the right track than it is to be correct. (I still kick myself for blowing that one.)
-
I work as a software developer and there are four main things I learned in the Computer Science major that put me at an advantage over someone who did not have a background in the field.
- SQL – Exposure to SQL can be really helpful. Of course, it is very easy to acquire the skill later but it still in the nice to already know category.
- Assembly Language – I didn’t know how important it would be at the time. But understanding how assembly language works to me was the key to knowing how to write a program. To me it was an essential building block in understanding a higher language.
- Algorithms – This one’s probably a no brainer. Understanding efficiency is the heart of writing a good application. Not always but a lot of the time. A lot of older applications you might see are not very efficient and if you can recognize that and see how to make it better you’re on your way to being a good developer. (It also helps you feel really smart if you know what big theta, big omega and all of those definitions stand for. Apart from bragging rights, it might also help in your interview – it would have helped in the unfortunate interview I’ve mentioned earlier.)
- Programming Languages – I thought it was a great class and I wish I had the text books and notes from it.
I work as a software developer at Minnesota Life and will be happy to answer any questions anyone may have about what I do. [To be put in touch with Hemo, drop an email to Max – he doesn’t feel good posting other people’s email addresses.]
Leave a Reply