Front end software engineer
- More chance to train soft skills
- More communication with Product manager, UI/UX designer and customers
- Can learn communication skills
- Can build up product mind set
- Keep screen shot or prototype on the features built
- Good front end engineer have their own design
- Good technical skills
- Don’t only focus on skills, also how to create good product
- Can design product with good UI/UX
- Design product which is beautiful and feasible to build
- Good technical skills
Back end software engineer
- Tech stack more mature
- A lot of open source work available
- Need a lot of work on studying complex tools
- Engineer usually focus on a small scope, because backend is complex
- Not a very good singal for long term
Full stack vs specialist
- Full-stack
- Cover more topics, event non technical
- Backend
- Business logic
- API design
- DevOps
- Automation
- Cloud Service
- Web frontend
- Android/iOS App
- UI/UX design
- Requirement collection
- Project management
- Backend
- Work in small company allow you to get experience on different topic
- Easy to find job / change field
- Cover more topics, event non technical
- Specialist
- Focus on a few topic or specific area
- Large scale
- Business domain knowledge
- Big company have resources to let you drill deeper in a topic
- More difficult to find job
- Focus on a few topic or specific area
Engineer with sense of data
- Understand domain knowledge and product
- Design the system for data in mind
- Understand what need to be collect
- Know how to collect data
- Know what kind of report need to be generate
- Design the system for data in mind
- Design data infrastructure base on the report need to be generate
- Real time analysis vs Batch processing
- Data volumn vs Database / Data analytic framework
- Roles of non-data engineers
- Implement tracking correctly and accurately