Skip to content
md ~/guide

Computer Engineering Guide

Instead of trying to learn everything at once, these are the core courses worth getting right, the order to study them in, and roadmaps for the jobs you can choose after you graduate.

Core courses

Whatever your university, these courses are the backbone of the degree. Their names and semesters change from school to school, but what they teach is the same. For each one I picked a book and a video course; using both together works best.

Careers

Computer engineering does not lead to a single job: with the same degree you can build web apps, run network infrastructure or train models. Below are the most common careers, a basic roadmap for each and what most of the day looks like.

Every job has repetitive, boring parts. What matters is learning to love those parts in your own way; people do the work they love without getting bored. When choosing, look at the part you will repeat every day, not the shiny part.

Building applications

Frontend Developer

Builds everything users see and click in the browser: pages, forms, interactions.

Basic roadmap

  1. 1HTML and CSS
  2. 2JavaScript
  3. 3Git
  4. 4A framework (React, Vue)
  5. 5TypeScript
  6. 6Accessibility and performance
  7. 7Testing

Most of the job: Turning designs into screens, fixing what breaks on different screen sizes, displaying data from APIs, dealing with browser differences. Some days you spend half an hour on the alignment of a button.

How to start: Build small pages with plain HTML, CSS and JavaScript, then learn a framework. Deploy what you build; a live link is the best portfolio.

Backend Developer

Writes the invisible side of an application: APIs, business rules, databases, authentication.

Basic roadmap

  1. 1A language (Java, C#, Go, Python, Node.js)
  2. 2HTTP and REST
  3. 3SQL and databases
  4. 4Authentication
  5. 5Caching
  6. 6Testing
  7. 7Docker and deployment

Most of the job: Writing new endpoints, improving database queries, reading logs to find where a bug is, understanding code someone else wrote. Most of the code is a loop of "receive data, validate, save, return".

How to start: Pick a language and framework, write a small API backed by a database (a notes app, say), then add login and tests.

Full Stack Developer

Writes both the interface and the server; can ship a feature end to end alone.

Basic roadmap

  1. 1HTML
  2. 2CSS and JavaScript
  3. 3A frontend framework
  4. 4A backend language
  5. 5SQL
  6. 6Authentication
  7. 7Deployment

Most of the job: One day you fix a form in the UI, the next you add a column to the database. Common in small teams and startups; you need a bit of everything and rarely get time to go deep in one.

How to start: Get comfortable on either the frontend or the backend first, then add the other side. A deployed project with a database and login is the best proof.

Mobile Developer

Builds phone and tablet apps, either native (Kotlin, Swift) or cross-platform (React Native, Flutter).

Basic roadmap

  1. 1A language (Kotlin, Swift or Dart, JavaScript)
  2. 2UI components
  3. 3State management
  4. 4Working with APIs
  5. 5Local storage
  6. 6Publishing to stores

Most of the job: Screen transitions, testing on different devices and screen sizes, permissions, following store rules. Some bugs only appear on one particular phone model.

How to start: Decide between native and cross-platform first, then build and finish a small app you would use on your own phone.

Game Developer

Codes game mechanics, physics, AI and tools, usually with Unity or Unreal.

Basic roadmap

  1. 1C# or C++
  2. 2Linear algebra basics
  3. 3A game engine (Unity, Unreal, Godot)
  4. 4Physics and collision
  5. 5Game AI
  6. 6Performance

Most of the job: Trying and tuning a mechanic hundreds of times, finding what drops the frame rate, writing tools for artists and designers. Most of the fun-looking work is fine-tuning and debugging.

How to start: Make small, finished games: Pong first, then a platformer. Game jams build the habit of finishing.

QA Engineer

Makes sure software works correctly; writes test cases and automates tests.

Basic roadmap

  1. 1Test types
  2. 2Writing test cases
  3. 3A programming language
  4. 4Automation tools (Playwright, Selenium)
  5. 5API testing
  6. 6Running tests in CI

Most of the job: Running the same flow again and again with different inputs, reporting bugs so others can reproduce them, fixing broken automated tests. It takes attention to detail and patience.

How to start: Write unit tests for your own projects, then automate the login flow of a website with Playwright.

Data and AI

Data Scientist

Asks questions of data and answers them; builds predictive models with statistics and machine learning.

Basic roadmap

  1. 1Python
  2. 2Probability and statistics
  3. 3Linear algebra
  4. 4pandas and visualization
  5. 5SQL
  6. 6Machine learning
  7. 7Model evaluation

Most of the job: Most of the time goes into finding, cleaning and understanding data; building the model is a small part. Explaining results to non-technical people is part of the job too.

How to start: Do an end-to-end analysis on a real Kaggle dataset: clean it, visualize it, build a simple model and write up the result as a short report.

AI Engineer

Puts trained or off-the-shelf models into real products: LLM apps, RAG, agents.

Basic roadmap

  1. 1Python
  2. 2Working with APIs
  3. 3LLM basics and prompting
  4. 4Embeddings and vector databases
  5. 5RAG
  6. 6Evaluation
  7. 7Safety and cost

Most of the job: Collecting cases where the model answers wrongly, fixing the prompt and data and measuring again, cutting latency and cost. Results differ a little every time, so you need patience and a habit of measuring.

How to start: Build a small RAG app that answers questions from your own documents; prepare a test set that measures how accurate the answers are.

Data Engineer

Makes data flow correctly, on time and in usable shape: pipelines and warehouses.

Basic roadmap

  1. 1SQL
  2. 2Python
  3. 3Data modeling
  4. 4ETL and pipelines
  5. 5Data warehouses
  6. 6Distributed processing (Spark)
  7. 7Cloud and scheduling

Most of the job: Finding why a nightly job failed, dealing with broken incoming data, speeding up slow queries. Data scientists and analysts build on top of this foundation.

How to start: Build a small pipeline that pulls data from a public API every day, writes it to a database and produces a summary table.

Data Analyst

Answers business questions with data; builds reports and dashboards.

Basic roadmap

  1. 1Excel
  2. 2SQL
  3. 3Basic statistics
  4. 4Python or R
  5. 5Visualization (Power BI, Tableau)
  6. 6Presenting results

Most of the job: Updating similar reports every week, looking for why sales dropped this month, maintaining dashboards. Asking the right question matters more than drawing the right chart.

How to start: Answer questions on a public dataset with SQL and present the results in a one-page dashboard.

Infrastructure, security and hardware

DevOps and Cloud Engineer

Makes sure software is built, tested, deployed and kept running on servers.

Basic roadmap

  1. 1Linux and the shell
  2. 2Networking basics
  3. 3Git
  4. 4Docker
  5. 5CI/CD
  6. 6A cloud provider (AWS, Azure, GCP)
  7. 7Kubernetes
  8. 8Monitoring and logging

Most of the job: Fixing deployment pipelines, writing configuration files, watching servers and costs, responding to alerts at night. Most of the job is automating repetitive work.

How to start: Put your own project in Docker, run its tests on every push with GitHub Actions and deploy it automatically to a free cloud service.

Cyber Security Specialist

Protects systems against attacks; finds vulnerabilities and investigates incidents.

Basic roadmap

  1. 1Networking basics
  2. 2Linux
  3. 3Operating system security
  4. 4Cryptography basics
  5. 5Web security (OWASP)
  6. 6A scripting language
  7. 7Penetration testing or incident response

Most of the job: On defense, reviewing logs and alerts, tracking patches and writing detection rules; on offense, writing reports is a large part of the job. Not like the movies; most days are patient investigation and documentation.

How to start: Get solid in networking and Linux, then practice in legal labs such as TryHackMe or Hack The Box and write up what you solve.

Network Engineer

Builds and runs organizations' network infrastructure: routers, switches, firewalls.

Basic roadmap

  1. 1OSI and TCP/IP
  2. 2Subnetting
  3. 3Routing and switching
  4. 4VLANs
  5. 5Firewalls and VPNs
  6. 6Network automation

Most of the job: Configuring devices, troubleshooting connectivity layer by layer, making changes in maintenance windows, documenting. When something breaks, everyone looks at you first.

How to start: Build a virtual network in Packet Tracer or GNS3; configure subnets and routing by hand.

Embedded Systems Engineer

Writes the software that runs inside hardware: microcontrollers, sensors, automotive and appliances.

Basic roadmap

  1. 1C
  2. 2Digital electronics
  3. 3Microcontrollers
  4. 4Peripherals (GPIO, UART, SPI, I2C)
  5. 5Real-time operating systems
  6. 6Debugging tools

Most of the job: Reading datasheets, working with limited memory and CPU, watching a signal for hours with an oscilloscope and debugger. Finding out whether a bug is in software or hardware can take days.

How to start: Build a small sensor project on an Arduino or STM32 board, then try accessing registers directly without a library.

How to study

  • Build the foundation first

    Frameworks change every few years; the core courses do not. Study them to understand, not just to pass; learning any new technology becomes much easier.

  • Watching is not learning

    Videos and slides only take you so far. After every topic, close the book and write the code yourself; where you get stuck is what you need to learn.

  • Turn every course into a project

    A library from data structures, a small shell from operating systems, a chat program from networks. Notes fade; the projects stay on your GitHub.

  • Learn Git early

    Keep even your homework in Git. Commits, branches and pull requests are things you will use every day at work; school is the cheapest place to get used to them.

  • Get used to reading English

    Most documentation, error messages and the best resources are in English. Reading slowly at first is normal; a little every day makes a difference within months.

  • Do not rush to pick a career

    Try two or three of the careers above with small projects. Pay attention not to what you enjoy reading about, but to what makes you lose track of time while doing it.

Resources

Courses

  • CS50x (Harvard)

    One of the best introductions to computer science: C, Python, SQL and the web. Free, with problem sets.

  • The Missing Semester (MIT)

    The tools you use every day but are rarely taught: the terminal, Git, editors, debugging.

  • MIT OpenCourseWare

    MIT's lecture videos, notes and assignments: algorithms, linear algebra and much more.

  • Nand2Tetris

    A project-based course where you build your own computer, compiler and OS starting from a NAND gate.

  • Teach Yourself Computer Science

    The best book and course for each of nine core computer science topics.

Books

Videos

  • 3Blue1Brown

    Videos that explain linear algebra, calculus and neural networks visually.

  • Ben Eater

    A video series building an 8-bit computer on breadboards, gate by gate; great for logic design and architecture.

Tools

Writing code

Terminal and system

  • WSL (Windows Subsystem for Linux)

    A real Linux environment on Windows; ideal for systems programming and server courses.

  • Docker

    Runs an app and its dependencies in a container; ends the "works on my machine" problem.

  • Postman

    For trying out and saving API requests.

Diagrams and design

  • draw.io

    A free tool for UML, ER and flow diagrams.

  • Excalidraw

    Quick hand-drawn style diagrams for presentations and notes.

  • Logisim Evolution

    For drawing and simulating logic circuits.

  • Figma

    Interface design and prototyping; the education plan is free for students.

Notes and study

  • Overleaf

    LaTeX in the browser for reports, theses and papers.

  • Obsidian

    Linked notes in Markdown; good for course notes.

  • Anki

    Spaced-repetition flashcards for formulas and concepts.

  • Zotero

    Collects sources and adds a bibliography to your reports automatically.

GitHub repos

Roadmaps

Learning

Interviews

Project ideas

Websites

Practice and contests

  • LeetCode

    Interview-style algorithm problems.

  • HackerRank

    Topic-by-topic exercises and certification tests.

  • Codeforces

    Regular programming contests.

  • Exercism

    Exercises in dozens of languages with volunteer mentor feedback.

  • Advent of Code

    A 25-day puzzle series every December.

Documentation

  • MDN Web Docs

    The most reliable reference for HTML, CSS and JavaScript.

  • cppreference

    The reference for C and C++.

  • DevDocs

    Documentation for many languages and libraries in one searchable place.

  • roadmap.sh

    Learning roadmaps by role and technology.

Visualization

  • VisuAlgo

    Animates data structures and algorithms step by step.

  • Python Tutor

    Visualises what code does in memory line by line (Python, C, Java).

  • Big-O Cheat Sheet

    Complexity tables for data structures and algorithms.

  • regex101

    Test regular expressions with explanations.

Turkish resources

  • BTK Akademi

    Free, certified courses in Turkish from the Turkish ICT Authority.

  • Patika.dev

    Free software courses and bootcamps in Turkish.

  • Yetenek Kapısı

    The application platform for Turkish public sector internships and hiring programmes.