I'm a software engineer and I hate it. Everytime I solve leetcode or competitive programming problems I find it super enjoyable. In fact I love interviewing way more than the actual job. How do I fix this?
What do you hate about software engineering? “Software engineering” is a very wide, encompassing term, and software engineering practices can vary wildly across industries, companies, domains, and even across teams within a company. There’s a big difference between writing Web apps for the state DMV versus working on an experimental operating system at Microsoft Research.<p>However, there is a fundamental difference between solving programming puzzles versus working as a software engineer. When you work for a company, you are working on a product, whether it is customer-facing or an internal tool. Products have target users, and products also are expected to deliver business value. When you work for a company, you are expected to deliver value to that company. If there is only one lesson to learn when working for someone: everything the company does, including your employment, is constantly being evaluated for the value it delivers to the company. To put it succinctly, at the risk of being harsh: you aren’t hired to solve problems; you are hired to deliver value.<p>Programming for personal enjoyment is different from programming as a job, since all jobs must deliver value to the person or institution paying the employee. This doesn’t have to be soul-crushing, and there are many software engineers who enjoy their work. But even when working in the most enlightened environments, you’re still an employee, and enlightened environments typically don’t always stay that way.