User not logged in - login - register
Home Calendar Books School Tool Photo Gallery Message Boards Users Statistics Advertise Site Info
go to bottom | |
 Message Boards » » Useful Skills to learn as a CSC major Page [1] 2, Next  
bbehe
Burn it all down.
18402 Posts
user info
edit post

So next semester, I only have one CSC elective class so figured it would be a good time to pick up some skills that weren't taught in class. Any suggestions on languages, books, etc I should check out over the summer and next semester that will help my job search in the future

4/19/2012 5:55:38 PM

qntmfred
retired
40810 Posts
user info
edit post

communication skills

4/19/2012 6:04:09 PM

smoothcrim
Universal Magnetic!
18968 Posts
user info
edit post

get some understanding about modern hardware. learn how stuff in the datacenter interacts with your apps and how the infrastructure your apps run on is maintained. this insight will help you make a maintainable, portable, manageable app. I'd also look into cloud models and architectures

4/19/2012 6:13:27 PM

Ernie
All American
45943 Posts
user info
edit post

Basic hygiene

4/19/2012 7:21:27 PM

Fry
The Stubby
7784 Posts
user info
edit post

cool, so we got a couple of the stereotypes out of the way.

bbehe did you have a particular focus? what are you planning to do career-wise?

4/19/2012 7:30:22 PM

bbehe
Burn it all down.
18402 Posts
user info
edit post

I have no real focus. Ideally, I would like to work with an aerospace firm (such as SpaceX, Lockheed Martin, etc) working on embedded software on various airframes.

4/19/2012 7:42:44 PM

BigMan157
no u
103354 Posts
user info
edit post

take some embedded systems class, or maybe mechatronics

4/19/2012 8:11:22 PM

spöokyjon

18617 Posts
user info
edit post

Possibly numerical methods, too.

And, yeah, learn to talk like a human if you can't already.

4/19/2012 8:39:26 PM

bbehe
Burn it all down.
18402 Posts
user info
edit post

I'm pretty decent at communicating already, so I'd rather focus on technical skills

4/19/2012 8:43:49 PM

Novicane
All American
15416 Posts
user info
edit post

anything not involving java which everyone outsources to india.

4/19/2012 8:47:48 PM

jcstille
Veteran
254 Posts
user info
edit post

Grab an Arduino. Play with it, mess it up, see what you can do. It will be a good experience of having to actually find your way around APIs and developing something from scratch. Although they aren't "real world" they definitely teach some skills I often see lacking in interview candidates (since you are looking at lower level stuff).

Or

Contribute to open source, always a good way to pad the resume and learn a few things.

4/20/2012 10:28:01 AM

Lionheart
I'm Eggscellent
12776 Posts
user info
edit post

not what you were asking for but there are several minors you can get for very little extra effort with CSC.

CogSci in particular I took only one extra class for.

Couple others but I'm not gonna go look them up.

4/20/2012 11:35:56 AM

CapnObvious
All American
5057 Posts
user info
edit post

^I did something like that with a minor in Psychology. It was interesting stuff, but looking back on it, more CSC technical skills would have been beneficial in my case.

4/20/2012 11:39:51 AM

Shaggy
All American
17820 Posts
user info
edit post

communication skills
project/time management
source control + build management

4/20/2012 12:06:06 PM

Noen
All American
31346 Posts
user info
edit post

If you want to go into such a highly regulated/regimented industry:

Build & Test automation.

And jcstille had a good suggestion with the Arduino, especially if you stick to C/C++ as your language of choice.

4/20/2012 1:40:31 PM

Stimwalt
All American
15292 Posts
user info
edit post

C#

4/20/2012 3:50:23 PM

Specter
All American
6575 Posts
user info
edit post

how to talk to women

4/21/2012 12:01:39 AM

zorthage
1+1=5
17148 Posts
user info
edit post

Effective troubleshooting

4/21/2012 1:00:24 AM

Shaggy
All American
17820 Posts
user info
edit post

how to drink heavily

4/21/2012 1:23:00 AM

CaelNCSU
All American
7132 Posts
user info
edit post

How to hail a cab in the Mission after drinking tequila.

4/21/2012 2:09:10 AM

DoeoJ
has
7062 Posts
user info
edit post

Quote :
"communication skills"


you might already have this on lock, but basic sys admin stuff, linux and windows -- i judge people at work that plead ignorance and require others to maintain their development boxes

4/21/2012 12:43:41 PM

qntmfred
retired
40810 Posts
user info
edit post

4/29/2012 3:12:54 PM

EuroTitToss
All American
4790 Posts
user info
edit post

is that actually good?

4/29/2012 11:54:54 PM

qntmfred
retired
40810 Posts
user info
edit post

imo yes

but don't take my word for it.

[Edited on April 30, 2012 at 12:03 AM. Reason : .]

4/30/2012 12:01:55 AM

lewisje
All American
9196 Posts
user info
edit post

I get this kind of vibe from the cover:

4/30/2012 6:40:20 AM

Talage
All American
5094 Posts
user info
edit post

Quote :
"learn how stuff in the datacenter interacts with your apps and how the infrastructure your apps run on is maintained."


I would second this item.

Also, if he still teaches it everyone should take CSC 405 with Sammie Carter. That was one of the top 5 most useful classes (career wise) that I took at State.

4/30/2012 10:28:57 AM

EuroTitToss
All American
4790 Posts
user info
edit post

I guess this is a good thread to ask if anyone feels strongly about any of these courses.

Quote :
"CSC 501 Operating Systems Principles
CSC 505 Design and Analysis of Algorithms
CSC 540 Database Management Concepts and Systems
CSC 541 Advanced Data Structures
CSC 554 Human-Computer Interaction
CSC 576 Networking Services: QoS, Signaling, Processes
CSC 579 Introduction to Computer Performance Modeling"

http://engineeringonline.ncsu.edu/onlinecourses/FALL_2012_grad.html

I bet HCI would be interesting. I never took CSC undergrad, so operating systems might be good.

4/30/2012 11:18:38 AM

CaelNCSU
All American
7132 Posts
user info
edit post

Quote :
""learn how stuff in the datacenter interacts with your apps and how the infrastructure your apps run on is maintained.""


Learning EC2 or something like it is also super helpful. You can do a lot of crazy automated deployments and scaling if you use it properly.

You can't do all the fancy automated stuff unless you know bash and shell scripting well enough.

4/30/2012 12:03:07 PM

smoothcrim
Universal Magnetic!
18968 Posts
user info
edit post

eh, you can do all the automated stuff through the webservice that the CLI is just a wrapper for. in production we use the .net wrapper for the web service, some folks use the ruby gems

4/30/2012 1:34:48 PM

CaelNCSU
All American
7132 Posts
user info
edit post

I'm talking about stuff like having automatic failover if the database is unresponsive or bringing on new servers in heavy load. There's a lot of steps that have to happen like adding the new ip to the security group and adding itself to DNS that yeah you can do it through the GUI but having the server do it by itself when it comes up can save time, particularly if you are doing 10 or more of them at once.

It's also still helpful to have scripts that make decisions on what kind of environment it is when an app server comes alive. That way you can change what is test/production by starting/stopping in the CLI. You have to know scripting to get the basic functionality for that stuff.

4/30/2012 2:35:01 PM

EuroTitToss
All American
4790 Posts
user info
edit post

I've been meaning to try out a micro-instance with node.js. My lack of unix experience is going to make it very painful.

4/30/2012 2:41:48 PM

CaelNCSU
All American
7132 Posts
user info
edit post

^

It's not all that bad. apt-get is your friend. If it complains about anything missing on the command line you can likely type apt-get install <name of package> and get it.

Make sure to get build-essential and libssl-dev if you are going to install from source (that's usually the easiest).

4/30/2012 4:15:38 PM

smoothcrim
Universal Magnetic!
18968 Posts
user info
edit post

do you not use elastic load balancing? I was referring to the REST webservice that you can call with a proper binary. we wrote our own monitoring tooling against it

4/30/2012 8:26:56 PM

CaelNCSU
All American
7132 Posts
user info
edit post

I just started using it today. Don't you still have to add instances to it? Or can you set it up to fire off a new instance when load gets to a certain point?

4/30/2012 8:29:52 PM

qntmfred
retired
40810 Posts
user info
edit post

^ pretty sure yes. i haven't used ec2 a whole bunch, but a friend gave a demo like 6 months ago and pretty sure he did that

[Edited on April 30, 2012 at 8:50 PM. Reason : like smoothcrim said though, you have to write your own tool]

4/30/2012 8:50:25 PM

Perlith
All American
7620 Posts
user info
edit post

Three useful skills that cannot be taught in a classroom:
1) Aptitude to Learn. As you move through your career, always show a willingness to learn. You can't possibly cover everything, but be willing to teach yourself if you don't know. (Corollary: Don't ever get too comfortable doing a particular job role).

2) Communication. You can get training in communication, but most of it comes through experience. Take time to reflect on your communication with others, which can be just as important as the communication itself.

3) Know your strengths and weaknesses, likes and dislikes. Learn how to play the strengths/likes to your advantage, and avoid the weaknesses / dislikes. Most importantly, you won't always be able to avoid it ... learn how to compensate.



I'll have to agree with Noen on the Building and Test automation. Not so much for the specific skillset, but for the opportunity to have a new means to critically think about / analyze your work. A company's Development team, Test team (Unit/System/Functional inclusive), Support team, Sales team, Marketing team, Finance team ... and probably more I can't think of right now all have different perceptions of the same piece of software. Understanding those different viewpoints and being able to bring those different viewpoints together will differentiate you from your peers.

(Dammit I'm getting old...)

4/30/2012 10:19:11 PM

Fry
The Stubby
7784 Posts
user info
edit post

Quote :
"I bet HCI would be interesting. I never took CSC undergrad, so operating systems might be good."


I took HCI; actually thought it was a pretty cool class. I focus on UI design and UX (whenever I can, at least), and that class definitely helped me look at things differently.

Operating Systems sucked (the class, not necessarily the subject/material itself) when I took it but like all else, YMMV. I had a Chinese-native teacher who was ridiculously hard to understand, but even his lecture notes never really seemed to cover the material. At any rate, the best thing I got from the class was a coding project where we simulated threading for multi-core CPU's... that was pretty cool and enlightening.

4/30/2012 11:54:00 PM

CaelNCSU
All American
7132 Posts
user info
edit post

Quote :
"^ pretty sure yes. i haven't used ec2 a whole bunch, but a friend gave a demo like 6 months ago and pretty sure he did that
"


In our case we have to add access on a firewall machine with the ip of the newly running EC2 instance (which doesn't know it's IP until it fires up). Some machines have to be added to DNS as well if the primary machines get killed off and you need to clone them. There is also app specific configuration you can keep in the user data of the instance. You can use that to self configure the machine as it boots up. For a software deployment you could use the same systems for Test as Production just by switching the meta data. This allows you to only have the Test instances running during working hours.

In short he probably did do that, but there is a lot that EC2 doesn't do automatically unless you set it up yourself.

5/1/2012 12:12:48 PM

Lionheart
I'm Eggscellent
12776 Posts
user info
edit post

^^My grad work was heavily HCI, Human factors, Visualization, and I loved it but there are so few jobs where thats the focus that its hard to get into that without a PHD. Granted you can use it in your day to day but unless you are a UI engineer you're usually not in a position to change the user experience.

My days are often maddening because I see all these user experience problems but I'm not in a position to change them.

5/2/2012 12:00:38 AM

kiljadn
All American
44690 Posts
user info
edit post

You're always in a position to change them. Always.

5/2/2012 6:53:30 AM

EuroTitToss
All American
4790 Posts
user info
edit post

I'm pretty glad I work on small team and there is no division of labor such as UI engineer.

5/2/2012 7:04:33 AM

qntmfred
retired
40810 Posts
user info
edit post

^

5/2/2012 9:30:54 AM

fregac
All American
4731 Posts
user info
edit post

Soldering. While not necessarily something to put on a resume, being able to do basic electronic repairs or build simple boards/cables/etc is an extremely useful skill.

5/7/2012 1:18:28 PM

Noen
All American
31346 Posts
user info
edit post

Quote :
"^^My grad work was heavily HCI, Human factors, Visualization, and I loved it but there are so few jobs where thats the focus that its hard to get into that without a PHD. Granted you can use it in your day to day but unless you are a UI engineer you're usually not in a position to change the user experience.

My days are often maddening because I see all these user experience problems but I'm not in a position to change them"


Bullllllshit. Ux design is one of the most in-demand jobs in the software industry. Hell, last I checked there were 500+ openings just at Microsoft. You should be able to write your own ticket with a graduate background you just described. Most of my designer coworkers just have bachelors degrees.

You either just aren't looking, or aren't looking in the right places.

[Edited on May 7, 2012 at 2:39 PM. Reason : t]

5/7/2012 2:39:00 PM

EuroTitToss
All American
4790 Posts
user info
edit post

Microsoft is missing 500 Ux engineers...? Well, that explains a lot. Ba dum cha!

5/7/2012 3:22:38 PM

qntmfred
retired
40810 Posts
user info
edit post

5/7/2012 3:37:42 PM

Noen
All American
31346 Posts
user info
edit post

^^

Take a look at Google, Apple, Amazon or any other large tech company. You'll see dozens if not hundreds of open Ux positions there as well. The problem is there aren't enough qualified people to fill the roles.

5/7/2012 6:33:32 PM

Charybdisjim
All American
5486 Posts
user info
edit post

Besides the industry specific skills mentioned above, I would strongly suggest considering beefing up your foreign language skills. Which one and whether or not this is a particularly worthwhile consideration would depend on specific companies you'd consider applying to.

Mandarin and/or Portuguese languages would be good skills to consider improving if you already have a familiarity. They may be worth learning for the first time as well, if you know a company you want to work with does a lot of business where they're spoken. The second is the less obvious choice, but that's part of what makes it so valuable. People don't often realize it, but since Brazil's language is Portuguese and the presence of US software and technology companies there is rapidly expanding there is an under-served demand for US comp sci and engineering graduates who can speak the language. IBM for example opened a large new research campus in Sao Paolo and has something like 400+ job openings int he country because they are currently expanding their business there.

But basically - be as fluent as you can get in a second language and consider one besides Spanish. Being able to speak fluently with clients in hot foreign markets or with international teams can make you extremely valuable. While Spanish isn't a bad choice, you're less likely to stand out for being able to speak it or find yourself indispensable on a project because of your skill in it. Spanish is still useful of course so if you already speak it fluently or could beef up on your skills in it then don't be shy about noting it on your resume.

If you already know what positions and companies you'd be interested in after graduation, I'd suggest looking up where they do business internationally and possibly picking up a course or two in the language of that country before you graduate. If the company has major clients in Shenzhen or Sao Paolo then even a couple semesters of Mandarin or Portuguese respectively would prove to be a significant asset. This is also one of those skills that can put you above your peers in consideration for taking lead on projects that involve an international team or with a particular client where your language skills are relevant.

[Edited on May 10, 2012 at 7:54 AM. Reason : n]

5/10/2012 7:44:52 AM

Lionheart
I'm Eggscellent
12776 Posts
user info
edit post

Quote :
"Bullllllshit. Ux design is one of the most in-demand jobs in the software industry. Hell, last I checked there were 500+ openings just at Microsoft. You should be able to write your own ticket with a graduate background you just described. Most of my designer coworkers just have bachelors degrees.

You either just aren't looking, or aren't looking in the right places."


You're right that its in-demand in a lot of aspects and I'm actually looking to move back into it. If we're talking Cali, Seattle, or Silicon Valley then yeah there's a great demand for UX people but around here not as much, plus people usually want to hire someone for UX that already has experience. I should have qualified the above with the location and experience comments.

[Edited on May 10, 2012 at 10:36 AM. Reason : Also, I was hired with UX mentioned as one of my main tasks but that never materialized .]

5/10/2012 10:33:49 AM

Noen
All American
31346 Posts
user info
edit post

If you're interested in moving into the field, let me know. There's plenty of demand, even in NC.

5/10/2012 4:14:43 PM

 Message Boards » Tech Talk » Useful Skills to learn as a CSC major Page [1] 2, Next  
go to top | |
Admin Options : move topic | lock topic

© 2024 by The Wolf Web - All Rights Reserved.
The material located at this site is not endorsed, sponsored or provided by or on behalf of North Carolina State University.
Powered by CrazyWeb v2.39 - our disclaimer.