Login Register






Legends My Advice for Computer Science Students filter_list
Author
Message
My Advice for Computer Science Students #1
Since many of us here will be or are currently pursuing this field or related fields, I thought it might help to post this here. This thread is just going to be a few pieces of information that I wish I had done differently with my time or just things I wish I had known. If anyone else with experience wants to add or anyone has any questions about anything, feel free to share! I have most of my assignments from college and books if anyone wants examples.

DO get internships!

School only teaches you so much. You'll learn a lot of theory and complete many assignments, but you will not gain much of an understanding of how things operate in real-world environments. Employers like to see it on your resume and you don't want to jump straight into a job out of college with no experience. This brings me to my next point.

DO build a portfolio!

An internship + a solid portfolio will put you way ahead of your competition. I can't stress how many employers ask to see your portfolio during the interview process, and it's great if you can show them some side projects that display your curiosity, passion for the industry, and ability to self-learn.

DO utilize your professors!
I do realize many CS students tend to be anti-social and reclusive, but you're spending way too much money and wasting a huge opportunity to not ask questions. If you don't fully understand something, don't be okay with kinda knowing it, get it clarified. Stay after class. Set up a meeting. Get to know your professors and tap into the knowledge they're there to share. Not to mention you'll probably find out that they help a crap ton with your assignments if you're willing to bite the bullet and talk to them about it. Save your grades and talk!

DO build a network!

No, not a computer network. A social network. Be friendly with one another, ask each other questions and collaborate. Become friends with many of them as these are the rare people that share your passion whereas others may criticize and shun. The greatest benefit to this is post graduation. Getting a job isn't all sunshine and rainbows like many people may make you believe, even in the tech industry, so having contacts in the industry that like you and can refer you is HUGE! Like seriously huge. I'm emphasizing this because this was how I got my first job and foot in the door, with the help of a classmate.

DO practice interviewing
I'm not the first to say it, and I sure as hell won't be the last, the tech industry interview process absolutely sucks! Sure, you may have friends in business majors setting up interviews left and right and hoping one of them likes their personality, but for most tech jobs, you need to PREPARE! They're not just going to be asking you about life and your biggest weakness, you may be going through several rounds of technical interviews that may last a hour(s) each. You may get a random phone call and asked a technical questions to see how you handle a problem on the fly and how you attack the problem with that pressure. You need to be ready to code under pressure and without an IDE in front of you in front of a panel of judges. Buy some practice books and practice problems until you can do them in your sleep. There are also many online resources that will help. No, you're not going to immediately know every question and have the most optimized answer, the trick is to utilize the interviewers and ask them questions. Talk your way through the problem out loud and let them hear your thought process. They want to help guide you through problems, they're not there to see you fail and laugh.

DO learn version control

If your curriculum goes over this with you, fantastic. Mine never did and I wish I had. I don't know many companies that don't utilize some form of version control. I recommend learning git and learning how to use github. Many job applications expect you to know this and a github can easily be used for your portfolio. Learn it early so you can start building your github, employers often ask specifically for this.

DO NOT avoid public speaking/social opportunities
This may be the hardest one for some of you, but you'll greatly benefit from this. This can be gained from continually speaking up in class, asking questions, talking with professors, public speaking class, making friends, and practicing interviews. If you're comfortable being a code monkey your entire career, then just ignore this and that's fine too, but if you want to progress and advance, you're going to need to be able to communicate effectively and fluidly. You'll be a step ahead of many developers if you're good at this, not to mention many leadership opportunities open up.

DO NOT be afraid of math
I know many people don't like hearing this, but math is a large part of computer science. While a high-level knowledge of math technically isn't required to graduate, you'll only benefit from it. Optimizing algorithms may come easier, solutions to problems may make more sense, and not to mention several topics such as network security/networking and computer architecture require you to apply mathematical principles to come to solutions. It's important to be comfortable with it.

Some other tidbits of advice:
If you can afford it, buy hard-copies of your books. I find myself a lot more productive not having to use an e-book, not to mention I still use almost all of my books as references. Pay attention in class and don't use answers you found online. Many CS courses will help tremendously in the real world, as long as you challenge yourself to complete and understand things on your own. Pay attention in Data Structures, attempt to gain a deep understanding of each structure and the pros and cons of each one. Don't go through the motions. Being able to decide on these on real projects and knowing how to implement them is a valuable skill. Also, learn to comment your code. xD

Some helpful resources:
http://www.firsttimersonly.com/ : Get started on contributing to open source without the scrutiny. Will look great on resume.
http://noexcuselist.com/ : Learning resources.
http://www.freetechbooks.com/ : self-explanatory
http://ambitionbox.com/ : Interview preparation
https://www.tutorialspoint.com/ : One of the best learning resources
https://web.archive.org/web/201407281952....md#python : More free books
https://leetcode.com/ : Great site to practice your coding abilities
(This post was last modified: 07-22-2017, 06:23 PM by Nil.)
"If you look for the light, you can often find it. But if you look for the dark, that is all you will ever see.”


[+] 6 users Like Nil's post
Reply

RE: My Advice for Computer Science Students #2
I'm no longer a student but wish I've known this. The IT field is very competitive in my area and very demanding with various requirements which I lack. I kind of fucked up and now only have an option to work something else that's not in my field for awhile.

Also, to anyone considering enrollment in college, be sure to learn about the college very carefully BEFORE you decide to enroll. I fucked that up with the one I've graduated from and REALLY regret it.

Reply

RE: My Advice for Computer Science Students #3
(07-21-2017, 11:15 PM)Asura Wrote: I'm no longer a student but wish I've known this. The IT field is very competitive in my area and very demanding with various requirements which I lack. I kind of fucked up and now only have an option to work something else that's not in my field for awhile.

Also, to anyone considering enrollment in college, be sure to learn about the college very carefully BEFORE you decide to enroll. I fucked that up with the one I've graduated from and REALLY regret it.

One of the hardest things, especially with US colleges/universities, is knowing what it will be like before you're there. At that age, you don't always know the right questions to ask or what to check for.
If anyone ever wants help/advice on looking for the right university, I'm no expert, but I might help you look for those things you may not have thought of. I'm doing a master's in higher education Wink

OP: Nice thread. I'll keep this in mind if I find anyone in need of it!
[Image: 4GNsK67.png]

Reply

RE: My Advice for Computer Science Students #4
(07-21-2017, 11:15 PM)Asura Wrote: I'm no longer a student but wish I've known this. The IT field is very competitive in my area and very demanding with various requirements which I lack. I kind of fucked up and now only have an option to work something else that's not in my field for awhile.

Also, to anyone considering enrollment in college, be sure to learn about the college very carefully BEFORE you decide to enroll. I fucked that up with the one I've graduated from and REALLY regret it.
If you're willing to relocate, you can always check out areas with less competition. Also keep in mind that the people writing job requirements include EVERYTHING. Often times the one writing it may not even have experience within the branch that's hiring. So don't let an absurd amount of experience or skills deter you as just about everyone that's going to apply is missing many.

In the meantime if you are in a different industry, it's a good time to work on some side projects and build a portfolio.

(07-21-2017, 11:32 PM)Jiggly Wrote: One of the hardest things, especially with US colleges/universities, is knowing what it will be like before you're there. At that age, you don't always know the right questions to ask or what to check for.
If anyone ever wants help/advice on looking for the right university, I'm no expert, but I might help you look for those things you may not have thought of. I'm doing a master's in higher education Wink

OP: Nice thread. I'll keep this in mind if I find anyone in need of it!
Very true. You can usually spend a day at a university you're interested in and most professors will let you sit in on a lecture to get a feel for it. Find out if it's something you could see yourself doing.
"If you look for the light, you can often find it. But if you look for the dark, that is all you will ever see.”


Reply

RE: My Advice for Computer Science Students #5
All awesome advice. If I may, here's some additions/reinforcement.

NETWORKING IS ESSENTIAL for finding work and project partners as well as learning more and expanding your expertise. Building on that, use LinkedIn. I know, it's boring, but tech recruiters will almost always ask for GitHub and/or LinkedIn profiles.

If your school/program has a Co-op Education Program, USE IT. You're guaranteed a semester or more of experience (depending on the length of the program), indispensable references, and resume material. Additionally, some high school programs and most university programs offer respectable pay, and if you don't fuck up too bad, you have a good chance at a job afterwards.

Learning how to use git effectively (and subversion and mercurial, if you're up to it) as well as common system-level package managers (e.g. pacman, aptitude) and dependency management systems like npm, cpan, or pypi will save you countless hours in development and debugging, plus it looks impressive.

Being a capable public speaker is paramount to success as a developer or computer scientist. I personally struggle with social anxiety and I'm extremely introverted, but I've been making an effort to teach classes (which is my next prospective job), do presentations, and generally expose myself to public speaking more.
It's often the outcasts, the iconoclasts ... those who have the least to lose because they
don't have much in the first place, who feel the new currents and ride them the farthest.

[+] 1 user Likes Inori's post
Reply

RE: My Advice for Computer Science Students #6
I started the same degree at university only to switch to something else. It was significantly harder than I thought.
[Image: a319ef9581853.560e3236d2b0b.png]

Reply

RE: My Advice for Computer Science Students #7
(07-21-2017, 11:32 PM)Jiggly Wrote: One of the hardest things, especially with US colleges/universities, is knowing what it will be like before you're there. At that age, you don't always know the right questions to ask or what to check for.
If anyone ever wants help/advice on looking for the right university, I'm no expert, but I might help you look for those things you may not have thought of. I'm doing a master's in higher education Wink
I was very clueless when picking a college at the time. I was 18 (pretty dumb)  and fresh out of high school. I definitely didn't know the right questions to ask. ._.

(07-21-2017, 11:59 PM)God Wrote: If you're willing to relocate, you can always check out areas with less competition. Also keep in mind that the people writing job requirements include EVERYTHING. Often times the one writing it may not even have experience within the branch that's hiring. So don't let an absurd amount of experience or skills deter you as just about everyone that's going to apply is missing many.

In the meantime if you are in a different industry, it's a good time to work on some side projects and build a portfolio.
I would relocate but unable to currently thus why I'm only left with warehouse/customer service-like jobs. I admit that looking at the requirements/qualifications do kind of 'scare' me away. I'll keep that in mind next time.

Thank you both for your inputs.

Reply

RE: My Advice for Computer Science Students #8
(07-22-2017, 03:25 AM)Inori Wrote: All awesome advice. If I may, here's some additions/reinforcement.

NETWORKING IS ESSENTIAL for finding work and project partners as well as learning more and expanding your expertise. Building on that, use LinkedIn. I know, it's boring, but tech recruiters will almost always ask for GitHub and/or LinkedIn profiles.

If your school/program has a Co-op Education Program, USE IT. You're guaranteed a semester or more of experience (depending on the length of the program), indispensable references, and resume material. Additionally, some high school programs and most university programs offer respectable pay, and if you don't fuck up too bad, you have a good chance at a job afterwards.

Learning how to use git effectively (and subversion and mercurial, if you're up to it) as well as common system-level package managers (e.g. pacman, aptitude) and dependency management systems like npm, cpan, or pypi will save you countless hours in development and debugging, plus it looks impressive.

Being a capable public speaker is paramount to success as a developer or computer scientist. I personally struggle with social anxiety and I'm extremely introverted, but I've been making an effort to teach classes (which is my next prospective job), do presentations, and generally expose myself to public speaking more.

Awesome stuff Inori! Thanks for sharing.
I'm glad you also emphasized networking. I watched a few too many classmates completely isolate themselves class after class, wishing they were more willing to open up an interact. If you network well enough, you make your life 10x easier (plus having friends is cool). Thanks for mentioning a co-op program. My school didn't have one but I remember you actually did one so I'm sure you understand the benefit.

Good point with package managers, and I'll add just basic proficiency in a CLI. I spent most of my college days too stubborn to leave a GUI and windows. Upon graduation, the job involved working in a Unix environment, which helps to know Bash. Learning git along with bash simultaneously is a time effective way to become accustomed to the CLI and work with version control.

Lastly, I'm glad to hear you understand the importance of effective communication skills. Keep at it and before you know it, you will barely remember the days where it was a struggle in front of people. (I'm assuming you're possibly chasing a master's degree?)

(07-22-2017, 03:58 AM)Asura Wrote: I would relocate but unable to currently thus why I'm only left with warehouse/customer service-like jobs. I admit that looking at the requirements/qualifications do kind of 'scare' me away. I'll keep that in mind next time.

Thank you both for your inputs.

Understandable. And being scared of the qualifications is very normal. Sometimes they're there to scare people away actually. In a way, deter people who aren't confident or ambitious enough to just go for it. It won't hurt to just go for it sometimes, just be honest with what you know and don't know.

@Exiled
Many of my colleagues did the same thing. It is tough especially if you're going in without previous knowledge in programming. I had to sacrifice a lot to make sure I graduated (like a social life), but that's a decision you'll have to make. I sometimes feel like I missed out on many of the luxuries of college and fond memories and relationships, but at the end of the day you're going there to learn and get a degree. Best of luck in whatever field you pursue next.
(This post was last modified: 07-22-2017, 04:07 AM by Nil.)
"If you look for the light, you can often find it. But if you look for the dark, that is all you will ever see.”


Reply

RE: My Advice for Computer Science Students #9
(07-22-2017, 03:58 AM)God Wrote: I'm assuming you're possibly chasing a master's degree?

I'm starting my last year of high school in September, then I plan on getting a B.Sc with a compsci major.
I've been told I should aim for a Master's, but I'm not keen on an extra two or three years of school and who knows how much more in tuition. In all serious it's too early to tell, so I'll see how it all plays out.
It's often the outcasts, the iconoclasts ... those who have the least to lose because they
don't have much in the first place, who feel the new currents and ride them the farthest.

Reply

RE: My Advice for Computer Science Students #10
A very well documented, formatted and elaborated thread. Well done.

If only I had the resources and opportunities to study back In my younger days. I haven't attended one minute of schooling In computing, hence I'm my own teacher, analyst and problem solver.
[Image: AD83g1A.png]

Reply