I work as a contractor, which means I need to need to keep up to speed on what the latest techniques in web development are. So I can speak to potential new clients about how I can help them on their project. The problem with this is there is so much stuff happening in the web industry it's impossible to keep up to speed on everything that is happening and be an expert in every new framework, technique or build tool that there is.
So you have to focus on certain areas of web development. For me, I'm focussed on the Angular eco-system. This still means there is a lot to know about building web applications with Angular, for example, a list of things I think an Angular developer should know are:
- Basic Angular
- Basic TypeScript
- Component architecture
- Inputs and Outputs of a component
- Lazy loading
- Services and dependency injection
- Using the HttpClient service to load data
- Unit testing
- Design Patterns
- NgRx (for a contractor I need to know this as a project I work on may use this, but not all Angular developers need to know it)
- NX Extensions, large Angular applications may need to create libraries for reuse of code. Nrwl's NX Extensions is a way of adding these libraries
- Angular.json - configuration for the build process of an Angular app
- Building and optimising the release of an Angular app
There is a lot there, not everything is exclusive to Angular, but there are some things that are.
Now we do pick new technologies and ways of doing things through on the job experience. It is a great way to learn, sharing knowledge with other developers is a great part of our industry, but there is a feeling you aren't a good developer if you don't know everything. This is where imposter syndrome starts to creep in and over time get worse and worse.
One way to solve this is to allow yourself time to study. As web developers we do a very technical job, other technical roles have certifications that people need to study for. So their employers give them the time to study for these certifications, as web developers we aren't given the time and it is something we should do.
As a contractor, I need to set this time to study so I can offer my clients the best of my knowledge. I don't think we should just be trying to find the time around our full-time jobs to study. If we are allowed to learn new skills or build upon what we already know then we can offer better solutions to our employers or in my case, clients.
So I think we should be honest with ourselves and be aware of areas in our knowledge that we need to expand upon. I know I do, and I am going to set some time between contracts to work on some of these areas.
Make time for yourself and find time to study, you'll start to feel more confident in what you know and you find something that you may not have known that you really enjoy, even Unit Testing.