Computing As A Profession
Bart Massey 2013-03-04
The Underpants Gnomes
Big jump from taking a CS 161 Python class to "computing as a profession"? Maybe
My story is different than yours, but it has some of the same potentials:
- Learned enough computing to convince someone to pay me
- Continued to learn computing and get payed
- Eventually got to the point where I knew what I was doing to some salable degree
- Became a University Professor
- ?
- PROFIT
Career Paths In Computing
Preface: Over 100,000 unfilled US computing jobs every year
These jobs are not all created equal:
- Sure, different technology skills are required
- Different domain knowledge
- Many require strong people skills, including epic communication skills
- Average job tenure 3 years, so you'll be doing something new regularly (at least for a while)
Computing Career Commonalities
- Good working conditions
- Good coworkers, usually good bosses
Lots of opportunity to
- Start your own business
- Consult / contract
But What Could I Do Right Now?
Go learn a Python-based web framework such as Django
Teach yourself Javascript / HTML5
Look at open source places to contribute
Find a PSU professor / grad student / collaborators and help out with computing stuff
Aren't Computer Folks Unpleasant Soulless Losers?
No
Fact is, the stereotypes have only the smallest grain of truth
- Working with really smart people can be great
- The "technical meritocracy" is a semi-reality
- Most places teammates care about each other
Some admitted downsides
- Need a "thick skin" sometimes
- Often expected to be 100% engaged with work all the time
Sounds Great! Where Do I Sign Up?
Whoa! Slow down! Here's some things you should think about
I know you think you want to be in computer games. You probably do not
If you are ever going to take entrepreneurial risk, do it now.
If you hate computing at this point, it will only get worse
You Will Be An Expert
Computing is a "profession of expertise". This is more than just competence at a narrow skillset
Outsiders aren't good at distinguishing skills
Expected to have good domain knowledge
Expected to have good business knowledge
Start developing your skillsets now
Legal Responsibilities
You will be expected to be an expert in many areas of law, in particular in "Intellectual Property" (IP) law.
Understand the four basic kinds of IP
Copyright
- Trademark
- Patent
- Trade Secret
Understand how contracts work
Understand how civil suits work
Know criminal laws that apply
Safety and Security Responsibilities
You will be expected to protect "software-intensive" systems
- From accidents
- From bad people
Security experts will rarely be available
Consequences of your software decisions will be real, for good or evil
Ethical Responsibilities
Software-intensive systems are complicated and involve human behavior in interesting ways
Thus, you will often encounter genuine ethical issues
Know your ethical system; make it solid; be on the lookout for situations when you need it
There are lots of jobs in this business: if you find yourself in a legally or ethically iffy situation, don't let it slide: CONFRONT AND/OR WALK AWAY!
The Biggest Danger
Once you've started down this road: you know a useful amount (of something) about computers...you can almost never avoid working with them again
The good news? I have known only a couple of people ever who've tried to get away from them. Computing is fun.
Yes, fun. An awful lot of us, including me, are pleasantly surprised someone pays us for this stuff.
Questions?
Ask Warren or myself; ask the Student ACM folks; ask your friends in or around the business
Again, Calagator is a very good place to find meetings with computing professionals to talk to about the business
- Buy people lunch--it's a cheap investment
Internships both unpaid and paid are available; look into them