design stuff is next level above programming
design of algorithms usually requires understanding of advanced mathematics
design of architecture usually requires a lot of years of experience programming either learning architecture with the help of a nice language toolchain (eg go) or under a 5+ year veteran who has done the same thing or had a good lead to do the architecture stuff above them