Why Choose Computer Engineering in 2016?

3 minute read

Published:

Choosing a university department means thinking about both the present and the future. In 2016, Computer Engineering is one of the fields where those two perspectives align better than in most others.

What is driving the demand

Software is no longer something that runs on a desktop. Smartphones, web applications, cloud services, embedded systems, and connected devices are woven into everyday infrastructure. The same engineering knowledge that builds a mobile app also applies to a hospital monitoring system, a financial trading platform, and a factory automation system. This breadth means that computer engineering graduates enter job markets with options that graduates in more narrowly defined fields do not have.

The numbers in 2016 reflect this. The US Bureau of Labor Statistics projects software developer jobs to grow 22% over the decade ending 2022 — one of the faster growth rates among professional fields. In Turkey, technology employment is growing as domestic software companies scale and international companies open offices. Yemeksepeti, a Turkish food-delivery company, was acquired by Delivery Hero for $589 million in 2015 — the largest Turkish tech acquisition at the time — and represents a category of company that requires software engineers at every level.

Globally, several industries are in the middle of software-driven transformations. Machine learning moved from research to products between 2012 and 2016: image recognition systems now outperform human accuracy on standard benchmarks, and tools like TensorFlow (released November 2015 by Google) make these techniques accessible to individual developers. Self-driving car research, which was a robotics curiosity in 2009, is now being pursued seriously by Google, Tesla, and established automakers. These are engineering problems, and they need engineers.

What the field actually teaches

A computer engineering curriculum in 2016 covers programming, data structures, algorithms, operating systems, computer networks, databases, digital logic, and computer architecture. This is wider than a pure software program, and narrower than pure electrical engineering — occupying the space where hardware and software interact.

This breadth creates multiple career paths: software development, embedded systems, networking, systems administration, machine learning engineering, security research, product engineering. A student who discovers during their second year that they prefer low-level systems work over web development can redirect without starting over.

What makes it difficult

The field is not easy simply because technology is popular. Mathematics is unavoidable: discrete mathematics, probability, linear algebra, and calculus are all relevant at various stages. The debugging process — identifying why a program does not do what you expect — is patience-intensive and cannot be rushed. Technologies change: a framework that is standard practice in 2016 may be unfashionable in 2021.

This last point is important. Computer Engineering teaches reasoning about computation as a discipline, not the tools of any particular moment. The student who understands how memory allocation works, how a network packet is routed, or how a compiler translates code is equipped to learn the next programming language, the next framework, and the next platform. The student who learned only a particular tool is not.