There are so many areas of CS, such as AI, Web Engineering, Cloud Computing, Security, etc. that I don’t know which one to pursue as a career. Here are my likes and dislikes.
Likes: Programming in Java, SQL, Python, JavaScript, HTML5, working with auto infotainment systems, working with and testing software.
Dislikes: Programming in C, assembly language, embedded systems/microprocessors, dealing with lots of physical work
Any suggestions?
You will figure that all out in your third year… Really, don’t worry about it.
It may even be your third year 2nd semester because you have to finish all your basics first in college.
So… don’t think too much
@AccCreate Not always true - many programs dive right in.
@jake0810
What year are you? Are you in college yet?
From your likes/dislikes, I would that you would be on the Web Development / Software Development side of things, either front-end or back-end. However, that’s based on a small list of things. I would recommend trying things out and you will learn more about yourself that way.
An interesting problem that will only get more challenging: scalable, multiversion, globally distributed, and synchronously replicated databases (think “hadoop architectures”). How can Google search so much information across such large, distributed databases so quickly? What happens when those databases contain ten times more information. What happens when these large, distributed, ENCRYPTED databases are created for multiple customers with required secure access? That’s only one of many, many, many real-world issue we’re faced with.
My specialty was AI (that was most of my career). To me that was the most interesting, but there are so many interesting specialties out there in areas that you might not even know exist yet. Here are some Special Interest Groups (SIGs) in the ACM:
SIGAI - Artificial Intelligence
SIGEVO - Genetic and Evolutionary Computation
SIGIR - Information Retrieval
SIGKDD - Knowledge Discovery in Data
SIGWEB - Hypertext, Hypermedia and Web
SIGecom - Electronic Commerce
SIGAPP - Applied Computing
SIGBio - Bioinformatics, Computational Biology and Biometical Informatics
SIGHPC - High Performance Computing
SIGMM - Multimedia Systems
SIGMOBILE - Mobility of Systems, Users, Data & Comp
SIGSAM - Symbolic & Algebraic Manipulation
SIGSPATIAL - Spatial Information
SIGMETRICS - Measurement and Evaluation
SIGMOD - Management of Data
SIGSAC - Security, Audit and Control
SIGCAS - Computers and Society
SIGCSE - Computer Science Education
SIGITE - Information Technology Education
SIGBED - Embedded Systems
SIGDA - Design Automation
SIGMICRO - Microarchitecture
SIGCHI - Computer-Human Interaction
SIGDOC - Design of Communication
SIGGRAPH - Computer Graphics
SIGMIS - Management Information Systems
SIGARCH - Computer Architecture
SIGPLAN - Programming Languages
SIGACT - Algorithms & Computation Theory
SIGLOG - Logic and Computation