4 ms·
Hmm.. for distinguishing senior engineers from juniors I would look beyond just knowledge on technical topics. Two important areas to cover IMO for senior candi
by commonturtle 6y ago
Hmm.. for distinguishing senior engineers from juniors I would look beyond just knowledge on technical topics. Two important areas to cover IMO for senior candidates, beyond coding skills:
1. Design / architecture / product skills. Here I mean 'design' in the software sense: can you design a good API, can you structure a large project well? Do you have good enough product intuition to work well with a product manager and a designer?
2. Past experience. What have they shipped in the past? How did they deal with difficulties like conflict between teams, deadline misses, uncooperative team members, etc.
- xcubic 6y agoAny good sources to learn 1?
- sh461 6y agoExperience.
- commonturtle 6y agoExperience as another commenter suggested. There are probably a few good formal sources as well, but really, a lot of this knowledge is tactile and remains uncodified. I worked more on the infrastructure / backend side, and I've found the book Designing Data Intensive Applications really useful. Amazing mix of practice and theory, super applicable to people working on distributed systems. Not sure if there is any equivalent for frontend / product engineering.
- dglass 6y agoBesides experience mentioned in the other replies, I'd recommend reading open source code. Search for open source projects related to the programming language of your choice. Other ways to find good projects to read are to look through the codebase of whatever framework you're using, if you're using one. Are there any dependencies/libraries you always reach for? Read through that code as well. Learn design patterns to properly decouple parts of your system. The Gang Of Four book is considered the best book on this topic.