2 answers

What are jobs like with a computer science/computer engineering degree? As well as other tech jobs.

Updated El Sobrante, California

I'm a junior in high school. I am part of my schools tech academy and I hope to find a career in tech when I get older. I want to major in computer sciences or computer engineering. I'm interested in video games,baseball and cars. I just really don't know what the jobs are like in these majors. I always get recommended to go to internships, but what else can I do? What are tips and ways to get ahead in these fields? What are things I can do now to prepare myself? What are specific jobs in these careers?If you have one of these jobs, do you like it?
#computer-science #computer-software #computer-engineering #computer-programming #computer-security #computer-hardware #computer

2 answers

Greg’s Answer

Updated Sunnyvale, California

So just to clarify terms up front, computer science is primarily about software (though it can touch on hardware aspects, e.g., quantum computing), while computer engineering is more about hardware (though you can do nothing but [embedded] software with such a degree--generally tied very closely to a particular type of hardware). There's a gray area there, but those are the definitions I'll assume.


I currently work as a software engineer, which is what computer science graduates tend to end up doing. I've been doing it for around 15 years now, and I like it a lot. (I also worked in the semiconductor industry for a while, and there were probably computer engineers there--certainly there were people who designed chips--but I worked with software people: video codecs, board-support packages [the lowest-level software to make a chip usable by customers], and in my case, embedded Linux and VxWorks. I wasn't as fond of that, though it had its good parts, too.)


CSci and software development are unique in the very low bar to participation: all you need is a computer with an Internet connection, and you can find reference material, free compilers, free online courses, forums with other enthusiasts (as well as practicing engineers), and so forth. After learning a language like Java, C/C#/C++, Python or Javascript, many folks get started with open-source work--not necessarily the big, famous projects like Linux, Hadoop, and Apache, which are hard to contribute to, but smaller projects, perhaps even simple command-line utilities. A great way is to find one or more projects that sound interesting to you, try them out, perhaps submit documentation fixes initially if you find something that was unclear or misleading in your testing, and then take a look at the open bugs. Some of the lower-priority ones might be easy to fix but are considered too minor for the main devs to worry about, yet a contributed fix will be appreciated.


A related option is to take a look at some web site whose design and/or content looks interesting to you, and see about building your own personal site for fun. Perhaps you have a large book or music or video collection; you could enter the titles and authors/artists into a database (say, MySQL), perhaps with ratings and personal reviews of some of them, and voila: you've got the back end for a simple data-driven web site. Add a front end to let you access it via a web browser, add new entries, edit old ones, search, etc., and you've just learned the basics of a web applications engineer. Or maybe you'd prefer to develop your own game for Android or iPhone. Or (like me: http://gregroelofs.com/3D/43487-galaxies/) you love 3D and/or VR and decide to learn Javascript and three.js so you can build and animate 3D worlds. (Note: I'm stilling learning those myself, so my Javascript is extremely amateurish. threejs.org has pointers to professional sites with far better demos.) Or you've seen thingiverse and start playing with 3D-printable models. Or neural networks and machine learning sound interesting, or robotics, or image/video recognition, or digital astronomy, or computer security/penetration testing, or ... you name it. There are even (small) quantum computers available on the Internet these days; if you have the interest and talent for it--and it's very weird compared to "normal" computing--you can run your quantum code on one of them and get the results back.


For the more hardware-oriented folks, Raspberry Pi is probably the most popular embedded platform in the world (not counting mobile phones, which give you almost no ability to modify the hardware), and it's both cheap ($35 to $50, I think) and has a huge community of enthusiasts doing all sorts of interesting things with the platform.


And once you get to college, internships are an outstanding way to get your foot in the door, as you've already heard. But working on projects like those above can be just as good; it shows you're self-motivated, interested, able to work with the community (hopefully :-) ), and already have some experience with the engineering/development process: writing code, getting it reviewed, submitting it, etc.


As to specific jobs, there are countless Internet and software-only companies, of course (Silicon Valley is composed of almost nothing but), but almost every medium to large company these days has a lot of data and a need to manage it, slice and dice it, derive business insights from it, etc. On the transportation front, both gas and electric vehicles and (electric) drones are not only full of electronics (and the software that runs on it) but increasingly robotics in the form of self-driving (or self-navigating), autonomous vehicles. Tesla's "autopilot" woes notwithstanding, this is unquestionably the wave of the future, but it's also quite complex (probably obvious :-) ) and will require a great deal of refinement, debugging, and associated support infrastructure in the future. And then there are the scientific fields (physics/astrophysics, genomics, etc.) that will soon be generating terabytes or petabytes of data every day; while these fields may not pay particularly well, they have a huge need for big-data analysis and machine learning capabilities, and in some respects people working there will be at the forefront of engineering (and science), which can be its own reward.

Charles M’s Answer

Updated Allen, Texas
Check out this website for information on any career. https://www.mynextmove.org/
Ask a question