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 |