Jul-10-2022, 04:53 PM
The first thing to ask is what kind of technical area do you want to work in? Python is used for various things from web development, to data science and automation (for example, the team that manages databases at my company write programs to manage the lifetimes of virtual machines, audit them and other things). What kind of work you want to do will dictate the sorts of skills you need to develop.
I'd also say that developing more skills is never a waste of time. You're going to need to do it anyway throughout your career. So, find a project to develop some of the skills you need, or at least are interested in.
There are skills that are generally useful, though. Concepts that guide you towards good designs of your software (e.g. SOLID, separation of concerns, loose coupling, ... - there are others). Also, automated testing is hugely important for a practicing software developer. We have to change our systems a lot - adding new functionality, changing functionality, fixing bugs, but also other less visible changes (from a user's point of view) like restructuring the software as it evolves. Automated testing helps give you a safety net - if you break something while changing the code, running your tests should tell you that as they'll start failing.
So, you'd be wise to look into some of these ideas as well as specific technologies.
I'd also say that developing more skills is never a waste of time. You're going to need to do it anyway throughout your career. So, find a project to develop some of the skills you need, or at least are interested in.
There are skills that are generally useful, though. Concepts that guide you towards good designs of your software (e.g. SOLID, separation of concerns, loose coupling, ... - there are others). Also, automated testing is hugely important for a practicing software developer. We have to change our systems a lot - adding new functionality, changing functionality, fixing bugs, but also other less visible changes (from a user's point of view) like restructuring the software as it evolves. Automated testing helps give you a safety net - if you break something while changing the code, running your tests should tell you that as they'll start failing.
So, you'd be wise to look into some of these ideas as well as specific technologies.