I am a senior software engineer who has been in the field for about 25 years. I mainly use Python and SQL and feel like I can use it to solve mostly all problems. I also have a good knowledge of programming techniques like functional, OO and logic programming. I am aware that as a senior software engineer one has to have other skills like caring about the team overall, and mentoring juniors.
I am wondering what should I learn next. Somebody said I should learn Go or Rust but I feel like if it’s another programming language, its really nothing new. Spend a weekend, do some tutorials and you should be good since you are a senior engineer and you know the basics that underpin programming languages.
What novel thing should I learn next that will enhance my capability as a senior engineer? Or open to my eyes to things that I haven’t considered till now?
I realize this is a vague request but was just wondering if there were other people with the same dilemma.
Thanks in advance!
Learn basic statistics. Apply it to performance testing, system modeling.
Build off your knowledge of logic programming -- learn a formal verification language like SMTLIBv2 or TLA+. Apply it to find bugs in code, or to clearly write out algorithm or system designs.
Learn C++ or Rust, and use it to write performant systems code -- the kind of stuff Python can't do. Learn how to convince the CPU, memory, disk, and network to give you all the performance they're capable of. Note, the goal here is not to learn another language. The goal is to learn how to think of programming in terms of interfacing hardware resources together -- as opposed to a pile of functions that compute something.