Except in specialized applications, basically you need basic math. Most of us learned enough math by the time we were 12 for web development - basic math, basic algebra, basic geometry.

When you get into algorithms, you will need a little bit more, but not much. Mostly itâ€™s number theory stuff: prime numbers, factorials, Fibonacci sequences, a basic understanding of exponents and logarithms, base systems besides 10, etc. These will give you a deeper understanding of algorithms and will help you solve more of them, giving you street cred. There is a lot more to programming than algorithms, but they are important and are often a way to weed out prospective employees so itâ€™s good to be good at them.

If you work in some specialized fields of software, you may need something more. If youâ€™re doing 3D graphics youâ€™ll need a bunch of trig. If youâ€™re doing signal analysis you might need things like fast Fourier transforms. In some fields you may need things like basic calculus or statistics or linear algebra.

But if you enjoy algorithms you probably have enough basic math and can pick up most of what else you need pretty easily. Seriously - people worry much too much about this.

Backend is building servers. The frontend is what runs in the userâ€™s browser (client) and backend is what runs on the backend (server) - it â€śservesâ€ť the front end by sending it things - ranging from the frontend itself (sending it to the client) or answering questions (â€śqueriesâ€ť) asked by the frontend (â€śthis username and password, are they valid?â€ť or â€śthe user just asked for all the sales records for Januaryâ€ť). Looking quickly at the curriculum, the *APIs and Microservices* is the bulk of the backend section and will give you a good idea. Also, all the stuff on Python has been added - that would also be backend - Javascript is the only language (other than HTML and CSS) that can run on frontends - that and libraries like SASS and React and others - but those all serve the HTML, CSS, and JS. Any other language will not be frontend.