I genuinely enjoy programming, especially data structures, algorithms, and operating systems. However, I struggle with introductory web development, database projects that involve building websites, and most assignments centered on web technologies. The concepts feel disconnected from the kind of programming I find satisfying, so I often procrastinate and rush those projects, while I start other programming assignments early and enjoy working on them.
I've heard that a large portion of software engineering jobs involve frontend, backend, or full-stack web development. Should I try to learn to enjoy web development, or would I be better off exploring areas such as embedded systems, operating systems, desktop applications, backend infrastructure, or other systems-oriented fields? Has anyone else disliked web development but found a different software career that suited them better?
5 Answers
The database part is broader than introductory website assignments suggest. Toy projects often make SQL seem like simple data entry, but real database work involves query optimization, indexing, transactions, deadlocks, data integrity, and distributed systems. You may dislike CRUD web applications while still enjoying database internals or backend performance work, so don’t rule out the entire area based on one class.
There are plenty of paths outside web development. Look into embedded systems, operating systems, desktop applications, compilers, graphics, scientific computing, performance engineering, or infrastructure. These jobs may be less common than web roles, but 30–40% of the industry is still a substantial number of positions. Build a couple of projects in areas you enjoy and investigate the languages and requirements used by those teams.
You’re not doomed, but it’s worth separating “I dislike this” from “I don’t understand this yet.” Web development is very different from algorithms because it’s mostly integration: browsers, networks, databases, frameworks, deployment, and many kinds of clients. Once you understand the underlying model, you may still dislike it, but it should stop feeling completely nonsensical.
You don’t have to love every class or make every assignment part of your career. Get enough web knowledge to pass and understand the fundamentals, then spend your personal-project time on systems or other topics you actually enjoy. Just remember that professional programming in any field includes maintenance, integration, debugging, and deadlines—not only the interesting algorithmic problems from coursework.
A lot of web work can feel like assembling layers of frameworks and fixing tiny interface or integration issues, so your reaction is common. Some developers eventually move toward backend services, data infrastructure, or specialized technical domains where the work feels more substantial. Try a few targeted projects before deciding, and choose a direction based on the problems you like solving rather than assuming the most common job category is your only option.

Embedded systems can be a good place to start if you enjoy understanding how software interacts with hardware. A small microcontroller project can teach you a lot about memory, timing, interrupts, and resource limits.