Computer Science is one of the most diverse fields in the world. It’s not just about making complex games or hacking into top-secret archives. Movies tend to dramatize everything. When you enter university as a CS freshman, little do you know the size of opportunities that lie ahead for you. I spent the first year of my university worrying endlessly that I was doomed because I didn’t know what I was good at and nothing seemed to make sense. Now things have fallen into place.
You can never be good at everything. Nor should you aim to be. One thing you need to do is find your niche. The sooner you realize the better. Explore your options, research market demands, decide what comes to you naturally. Pick that field as your major and then sharpen your skill set. While researching on the current/emerging top tech roles, I came across the following names that I will share with you today. Experts in these fields are the most sought-after tech individuals. If you’re scared of what to do for your FYP, dubious about making a career choice, or which Master’s degree to go for, these are some of the fields you should consider opting.
1. Artificial Intelligence & Machine Learning
Artificial Intelligence is perhaps one of the most exciting fields of Computer Science. It has been around for quite some time now and it still continues to grow and expand. AI enthusiasts are not abundant in the world right now and most people assume it to be the stuff of futuristic movies. But AI is real and it is happening. Experts suggest that it will properly take off in the next few years. When that happens, if you are an AI major, you’ll be an asset to be procured.
Artificial Intelligence is all about creating software and machines that exhibit intelligent behavior. Mark Zuckerberg announced this year that one of his goals for 2016 would be to create an artificially intelligent personal assistant, kind of like J.A.R.V.I.S from Iron Man. Pretty cool, right? That’s not it. AI is contributing towards cancer research and intelligent web searching. To be an AI expert you need to have good basics in Probability, Statistics, Linear Algebra, and excellent reasoning and problem-solving skills. AI is used in a diverse range of industries from gaming, robotics, media, to quantum science. Once you take up a course on it, you’ll also be learning its applications like Machine Learning, Computer Vision, and Robotics. Machine Learning is the course that has brought us self-driving cars, speech recognition and effective web search.
But sadly most of these courses are not offered in universities in Pakistan. Some universities with good research facilities will allow you to work on projects centered on AI, Machine Learning, or Computer Vision. Take those opportunities. If you’re interested in taking up a course on these subjects, here are some of the resources I have found most helpful:
2. Data Science
Data Science is another emerging Computer Science field that brings with it a world full of possibilities. Data Scientists are, again, very rare in the world right now and hence the demand for a competitive data scientist is high and will continue to increase. There are huge resources of data in the world that have piled up over the decades. That information is entirely useless if you expect for it to lie around for another century to become historical relics. This is where data scientists come in. Their job is to use those large resources of data, organize it so that we can make intelligent and smart decisions for the future. Have you ever read about the ‘past predicts future’ concept in your algorithms class? This is very much like that.
Last year we featured Dr. Zeeshan ul Hassan Usmani for the first time on our website. He happens to be Pakistan’s leading researcher on Data Science and his startup PredictifyMe is perhaps one of the most needed solutions for our time. They use the large resources of publicly available data to make predictions about terrorist attacks, public health, and diseases, predictive analysis for businesses. As we continue to head into the future, Big Data has the power to predict the kind of future we will have and ultimately avoid any catastrophes that were previously unavoidable. Needless to say that Data Science has an extreme urgency to it. Smart leaders are hiring IT personnel to gain more visibility, foresight, and a grasp on the future of their businesses. However, the challenge is to build a clean data architecture into the system in question. This opens avenues for Data Architects and Data Engineers to work their magic.
If you’re interested, here are some of the resources that I found very insightful.
- Introduction to Data Science at Coursera
- Data Science Specialization at Coursera
- Read this article by Dr. Usmani where he discusses in depth what Data Science is and some resources that are most helpful.
- Machine Learning is also a recommended course for Data Science majors.
3. Virtual Reality
The Virtual Reality market is heating up and according to a recent survey, the market will be worth around $110 billion in the coming year. After Facebook announced they were acquiring Oculus and their plan for the future of VR, an increasing number of companies have since come forth with their own VR gear. And they are selling like hot cakes! But not everyone can get a job at Facebook, Google, LG or HTC and work first-hand on these new emerging pieces of exquisite technology. What you can do is align your career with Virtual Reality. The combination of Game Dev and Graphics & Motion Design goes very well with VR.
If you have a good eye for detail, your expertise will be sought after. VR has a lot of scope, not only in gaming but in architecture, interior design, product creation, film production and set design. Here are some of the resources to help you out:
- A good place to start would be to make VR apps for Google Cardboard. You can explore more via this link.
- Graphics Design Specialization at Coursera
- Intro to the Design of Everyday Things at Udacity
4. Internet of Things & Augmented Reality
As our lives become more and more engulfed by technology, Internet of Things is the one field that is aiming to bank on this situation. Your PC and mobile are no longer the only smart gadgets you could own. We now have smart TV’s, smart washing machines, and the emerging concept of smart homes. Internet of Things incorporates all those ideas. IoT connects all your devices via the Internet for remote sensing and control. IoT uses a combination of Wireless Sensor Network, Machine to Machine, Robotics, Wireless Networking, Internet technologies, and Smart Devices. IoT is picking up pace in Pakistan as well.
But IoT doesn’t come alone. Augmented Reality(AR) is its more attractive sidekick. But don’t confuse AR with Virtual Reality. While VR will simulate an other-worldly experience for you, AR overlays your digital world over your actual world. And that is why it forms the perfect combination with IoT. For more perspective on what I’m talking about, watch this video about Microsoft’s Hololens.
Now you probably understand the vastness of this field. The combo of IoT and AR has diverse applications. And I would highly recommend doing a research project or FYP on this, maybe eventually choosing it as a career path. Here’s a resource to help you get started:
5. Back-End Development
Despite the introduction of the fancy terms like Virtual Reality and Augmented Reality, Web Engineering is here to stay. It may morph into something else in the future to keep up with the changing tech trends but there will always be a need for developers and engineers. When you open a website the first, and only, the thing you see is the interface. You do not know the complexities that go on behind the curtain. The more seamlessly you are able to maneuver a website, that’s when you know the back-end developer was a master of his/her craft.
6. Front-End Development
It is said that impressions last. This may, or may not, be true for humans but it’s very much true in the case of front-end web development. A good website is the one that grasps you from the moment you open it. More importantly, in times when everyone is shifting to responsive experiences, companies who want to survive competition are looking to make their presence noticed. This is where a good front-end developer comes in. Front-end developers are not paid their due respect here and most people consider it a lowly job. But the truth is a front-end developer can make or break your business. Which is why you need a good expert. Also, side fact: contrary to popular belief, the front-end team banks more money than the back-end developers.
So where to start. The first thing you will learn in your Web Engineering course will be HTML5 and CSS3. They form the backbone of web design and it is where everyone starts learning. But aside from learning how to code, a good front-end engineer is the one with a good eye for detail. Here are some resources to help you out. But like I said before, this is a continuously growing field. The more you explore, the more you will learn.
- Angular.js at W3Schools
- Front-End Web Developer Nanodegree at Udacity
7. UX/UI Design
Coders usually don’t think from the perspective of a user. UX/UI Design is a relatively new term coined to question the ‘how’ and ‘why’, and think from a user’s point of view. UX/UI Designers are experts in Human Computer Interaction. They tend to ask questions and do research that will lead up to making the most important design decisions. They form the basis of the design to be implemented by developers and then eventually perform testing and evaluation on it. If you happen to be a front-end developer good at UX/UI design concepts, you’re a treasure for software houses!
For some beginner concepts, go through this link:
8. Full Stack Engineers
A Full-Stack Engineer is a divine combo of a back-end developer and a front-end developer with a good grasp of software engineering techniques. This term is relatively new and is a growing concept in Pakistan grabbed from the West. Facebook is one of the companies famous for hiring Full Stack Engineers only. The reason people go for Full Stack Engineers is that they have versatility. They have familiarity, if not mastery, overall steps of the software development cycle. The most widely acknowledged layers of a full stack are: Server, Networking, Data Modeling, Business Logic, API Layer, User Interface, User Experience and Customer Satisfaction.
If you’re a Software Engineering student, you’re at an advantage, provided you’re a good Web Engineer. Universities don’t offer courses in ‘Full Stack Engineering’ nor will they. It’s more of a concept or a job title for people who happen to be all-rounders. Nonetheless, here are some online courses if you’re interested:
- Full Stack Web Developer Nanodegree at Udacity
- Full Stack Web Development Specialization at Coursera
9. IT Managers
An IT Manager is responsible for managing and maintaining a company’s technology infrastructure. Organizations require efficient data management and communication for smooth processing. This is where an IT Manager steps in – whose main task is to monitor operational requirements, research strategies and build the most cost-effective solutions to strengthen a company’s technological infrastructure.
IT Managers are usually CS grads with expertise in the field of management, an MBA preferably. You can’t really expect to become an IT Manager right after graduating. These people have years of experience up their sleeves and a proven ability to lead people. Not something you can learn with books.
10. Quality Assurance Experts
Quality Assurance is not exactly a tech role, as almost anyone with a little amount of training can do it. But companies are now preferring people with a development background because they tend to ask fewer questions and are good at spotting coding bugs. They are not only good at spotting but also reporting what may be causing the error, decreasing the average time spent on testing. People having a project management background, with prowess in Software Engineering techniques, are preferred because they are able to perform testing and quality assurance from the user’s point of view, decreasing the overall workload. I personally feel that quality assurance is something you learn over the course of time. However, if you are interested you may go through this book: