Algorithms are fun for their own sake. They can make you a much better developer, the same way the push-ups or squats can help you with daily activities. But in 'actual' development there is a lot more to it than the pure algorithm solving. Some topics that a software developer would need: system design, testing, environment set up, deployment, and artistic tools.

So system design is not something that I've delved into very much. But I've just heard at a senior level you will need.

Testing is both the real life concept that you want to be solving a real world problem and writing tests in code.

Environment set up is the idea that you'll need to know git, an i.d.e. and be able to install packages and do package management. No one writes code without building it on libraries from other programmers.

Deployment comes into play with knowing different deployment tools like AWS. If you work at a small enough company, it's important because it's your job. Working at a large company I imagine it's important for everyone to write code that is optimized at a production level.

And artistic tools is what I'm calling working coming up with mockups and graphics. Sometimes that falls in the realm of the software developer.

Here's my list of leetcode problems and solutions (in Python):

Python Solutions

  1. two sum

  2. add two numbers

  3. longest substring

  4. median

  5. long pal

  6. zig zag

  7. reverse int

  8. atoi

  9. paly number

  10. reg expression

  11. container water

  12. roman nums

  13. roman num to int

  14. longest prefix

  15. 3 sum

  16. three sum 2

  17. letter combo

  18. fourt sum

  19. node

  20. count and say

  21. merge two

  22. max profit

  23. linked

  24. linked cycle