{"slug": "a-formal-degree-and-algorithmic-problem-solving-is-the-answer-always-has-been", "title": "A formal degree and algorithmic problem-solving is the answer. Always has been", "summary": "A software developer argues that formal computer science education and algorithmic problem-solving skills are essential for using AI to program, comparing unqualified AI users to untrained scalpel handlers. The author cites anecdotes of colleagues lacking fundamentals who caused project failures, asserting that without these skills, careers in software development may be at risk.", "body_md": "# A formal degree and algorithmic problem-solving is the answer. Always has been.\n\nHave you ever handled a surgical scalpel? It’s an incredible tool - small, light and sharper than anything of its size and purpose. It takes thousands of hours of practice before someone is authorized to use it on human skin, and mastering it takes a lifetime.\n\nYou don’t want to give this tool to the wrong person. No matter how motivated, open to learning, well-meaning and hard-working they are, they will mess things up. They might be a chef, a hairdresser or any other professional handler of a cutting tool. Despite their adjacent experience, they will mess up. Handling a scalpel for the purpose of surgery is a difficult job with high responsibility.\n\nI like to use this analogy when thinking about the current state of software. We need a hard filter for people who want to use AI on a computer for the purpose of programming it. It’s a bittersweet statement to make from someone who is both qualified and not qualified to make such an argument:\n\nFor the majority of my career, I neither had a formal, rigorous computer science education, nor I bothered to invest time in “leetcoding”. I did well nevertheless. I was and still am a person who builds software to solve problems. I don’t always do it for money, I do it because I always wanted to do it. At the same time, I’ve got a wealth of experience working with bootcamp developers, former physicists, engineers who either never finished or never got particularly far in their education. Experience has shown that, things rarely work out in the long-term if you aim to have a successful career without a degree or by skirting coding interviews. Lacking these skills in the current conditions might be career-ending.\n\nSome anecdotes:\n\nI once worked at a startup where there was a senior engineer who’d force everyone on the team to order their file imports alphabetically. He also had the craziest linting rules ever, and whatever he could not codify in linting, he’d make up with comments in pull requests. Ironically, that same startup had zero unit or e2e tests for the application layer, and a small bunch of smoke tests for the backend services. Testing and deployment was absolute hell that took weekends. They sure had their priorities straight.\n\nAt another gig, there was a person who’d spent hours arguing about the length of the maximum symbols before wrapping text in an IDE, had a strong opinion on the “tabs versus spaces” debate, and also had custom-built everything, including an email service that would always hang and lose scheduled emails once we started onboarding more customers. Accept that your magnus opus of software is garbage and use a third-party service that doesn’t churn customers.\n\nI’ve also endured language and framework experts. They’re the type of developers who’re relatively good in a very small subset of technologies, but completely lost in anything adjacent to them, and also are completely clueless about the fundamentals. These are the people who live in constant paranoia that the company they work for will make the framework they’re expert in obsolete, and force them to learn something new. It is honestly tiring to hear a hour-long tirade of how great Angular in comparison to the mediocrity of React, or the inferiority of Kotlin in comparison to Java. Just suck it up and use whatever solves the problem best.\n\nThere are also completely clueless people who somehow slip through cracks, mostly in corporate environments. There was this person who touted to be a Linux expert who I asked for advice on my homelab setup. His initial spiel was good, explaining me a bunch of fun facts about the different distros and systemd, but after a few weeks of discussions, his suggestions stopped adding up, so I became suspicious. After prodding him with some fundamental questions about operating systems and networking, it turned out that he has a very surface-level knowledge and my homelab setup was the most complicated thing he’d ever seen. There was also a similar situation where a particular piece of functionality wasn’t working, and since I didn’t consider myself good at the particular piece of technology stack, the person who wrote it and owned it turned out not being able to read and debug his own work.\n\nMost of the people mentioned above held more senior positions than me at the time I worked with them, and all of them considered a formal education and computer science and skills in algorithmic problem-solving to not be important for a successful career. That mindset was either condoned or celebrated at many places I worked in. The people I wrote above weren’t considered bad performers.\n\nIf I had to categorize the “no need for education, no need for algorithms” crowd of our field, they’d fall into three categories: They either focus on the wrong things when developing software, they have a very shallow knowledge and lack of regard of how difficult good engineering is, or they’re utterly clueless and rely on good soft skills and politics.\n\nPerhaps I’ve grown too resentful of dealing with people who take shortcuts where shortcuts are not supposed to be taken.\n\nA computer science degree at a reputable university gives a student, at the very worst, an overview of how a computer works and what it can do. For the more motivated, it also offers an opportunity to have an appreciation of the depth and complexity of computer systems. I believe that it is genuinely difficult to obtain that level of understanding and appreciation by just working at a job, particularly in a post-AI world.\n\n“Grinding leetcode” is supposed to be a pleasant past time, when not done for the purpose of securing a job. It nurtures a particular type of thinking that aids engineers to visualize problems in their heads, solve well-defined problems with code and get a decent hang of a programming language. Problem-solving for fun doesn’t make coding interviews less stressful… it’s a competition, after all. Competitions re supposed to push people to prepare well and bring the best out of themselves. This is inherently stressful. Besides, there are hardly any economically viable ways to filter thousands of candidates who are all very smart and want earn a high salary.\n\nNeither the prestigious degree nor the good proficiency in algorithmic problem-solving guarantee a career success. They are factors that make statistics work in the favor of the candidate. In a rough market like today’s, they provide security. In the post-AI age, they will offer an immense competitive advantage because they provide a great opportunity for skill retention and development.\n\nThere are also the outliers, the edge-cases who went into it for the money and made it far, but I haven’t met anyone who’s not incredibly miserable and sour with their job, so they’re not worth my keystrokes.\n\nFor many of us who made it from nothing, there’s also the financial aspect of making it to the high echelons of software engineering. Before being able to afford a prestigious education and time to indulge in algorithmic problem-solving, I wrote software to survive. Furthermore O regard the education system in the larger part of the world to be outrageously perverted. Prestigious universities tend to rich kids, nepo-babies who’re becoming increasingly detached from the world and impudent in their dealings with society (shout out to SBF).\n\nI cannot offer any reasonable, erudite solution to the problem of financing an education, or to offer solace. What worked for me was to be ruthless unforgiving and to fight for my money. Things did not start working out until I stopped being naive and hard-working and started cutting people off and taking what I deserve. To my surprise, this did not burn as many bridges as it awestruck people and instilled respect. It’s a rough world out there.\n\nStay in school, don’t be a tool, learn to problem-solve for the love of the game.", "url": "https://wpnews.pro/news/a-formal-degree-and-algorithmic-problem-solving-is-the-answer-always-has-been", "canonical_source": "https://zaksa.zip/blog/formal-education-is-the-answer/", "published_at": "2026-08-22 11:39:12+00:00", "updated_at": "2026-08-22 12:13:49.063882+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-policy"], "entities": ["Angular", "React", "Kotlin", "Java", "Linux"], "alternates": {"html": "https://wpnews.pro/news/a-formal-degree-and-algorithmic-problem-solving-is-the-answer-always-has-been", "markdown": "https://wpnews.pro/news/a-formal-degree-and-algorithmic-problem-solving-is-the-answer-always-has-been.md", "text": "https://wpnews.pro/news/a-formal-degree-and-algorithmic-problem-solving-is-the-answer-always-has-been.txt", "jsonld": "https://wpnews.pro/news/a-formal-degree-and-algorithmic-problem-solving-is-the-answer-always-has-been.jsonld"}}