Achieving Success in Programming Without Math Proficiency
Written on
Chapter 1: My Journey with Math and Programming
Let me share my personal experience.
Throughout my academic life, I struggled significantly with mathematics, often earning grades between 4 and 6. For instance, I missed learning about fractions due to frequent relocations. This resulted in a turbulent educational path; I switched to a grammar school for two years, only to return to secondary school after a year. Later, I briefly attended a business school, leaving with mixed grades—five positive and six negative. In math class, we covered functions like f(x) = ax + b, but I hardly grasped the concepts.
However, my early fascination with computers led me to pursue an apprenticeship as an IT specialist in system integration at a consulting firm, thanks to my basic understanding of Novell networks. It was here that I developed an interest in programming.
As I delved into programming, I created a variety of software that performed basic calculations—mainly addition, subtraction, and occasionally multiplication and division. The most satisfying achievement was mastering the rule of three. These fundamental operations were combined to build programs, often based on specifications from the relevant departments or documentation.
Over time, I recognized that programming languages frequently involved functions. This realization helped me comprehend the previously cryptic f(x) = ax + b from my school days.
As the years passed, I self-taught an array of programming languages, both professionally and personally. The key for me was always to grasp the underlying principles of computer operations. Learning assembly language was a pivotal moment; understanding how a CPU operates provided clarity regarding the abstract concepts found in modern high-level languages like Java.
Eventually, my extensive knowledge of various programming languages (ASM, C++, Java, etc.) and concepts (threads, sockets, graphics, etc.) led me to a position in a banking institution. There, I developed numerous applications for stock traders, including comprehensive platforms and GUIs for both manual and automated order generation, Smart Order Routers, and rule-based transaction systems.
As my responsibilities increased, so did the mathematical requirements. I vividly recall when a trader presented me with a mathematical formula that served as the core function for a program I was developing for Basket Trading. For weeks, I grappled with the meaning of this formula, which initially felt like a jumble of letters and numbers. Ultimately, I managed to create the correct implementation by carefully listening to the trader's verbal explanations and contemplating their needs.
As time went on, I tackled formulas for calculating stock indices, ETFs, swaps, and more. Fortunately, I could always seek guidance from the traders to clarify the mathematical principles involved.
I later designed my own high-frequency trading platform. Unfortunately, this time, I had no one to assist me, forcing me to confront complex mathematical challenges. Initially, I implemented relatively straightforward trading strategies, but eventually, I incorporated statistical methods like regression analysis and machine learning.
Despite my limited mathematical proficiency, I reached a point as a freelance software developer where I earned approximately $20,000 monthly in the heart of the financial sector. This success could have continued indefinitely if not for industry-wide employee leasing mandates driven by political pressures.
To this day, I still struggle with math—particularly with the language of formulas and concepts. However, the internet now offers numerous resources that can help demystify these topics, even if only temporarily, until I successfully program the function. Additionally, open-source libraries are available for nearly any area of confusion.
It's entirely feasible to excel as a software developer without strong math skills, even in finance. Other fields focused on technical advancement—such as cloud computing, hosting, automation, and web development—often do not require extensive mathematical knowledge.
Modern programming languages have evolved to express human-readable intentions rather than intricate technical details. From my experience, success in software development relies more on your passion and eagerness to solve problems rather than on mathematical prowess. While math can be beneficial, the longer you engage with software development, the more you will naturally absorb mathematical concepts.
Thank you for taking the time to read my story.
For more insightful content, visit plainenglish.io. Don't forget to subscribe to our free weekly newsletter for exclusive writing opportunities and advice within our community Discord.
Chapter 2: Do You Need Math to Be a Programmer?
In this video, we explore whether strong math skills are essential for a career in programming and how various roles may approach math differently.
Chapter 3: Understanding Math in Programming
This video discusses the relationship between programming and mathematics, offering insights on how to navigate mathematical challenges in coding.