Roadmap to becoming a Next.js Product Engineer in 2023
Below you'll find a comprehensive roadmap showcasing the journey to becoming a proficient Next.js Product Engineer in 2023. Initially designed for our team members at Blazity, we're thrilled to share this roadmap with the community to aid aspiring and seasoned developers alike.
Stay in the loop! Give a star ⭐ and watch 👀 the GitHub Repo to get notified about fresh content and updates.
If you're looking to hire a Next.js specialist, drop us a message at [email protected].
Product Engineers emphasize the entire user experience, blending frontend, backend, and design. Unlike "fullstack" developers, they have a broad, not deep, grasp of technologies, applying them to craft seamless products. They prioritize rapid deployment and user feedback. In the engineering spectrum, they focus on user-centric features. The industry is transitioning from the title "Fullstack Engineer" to "Product Engineer", highlighting a broader role than just coding.
The purpose of this roadmap is to give you an idea about the landscape. The road map will guide you if you are confused about what to learn next, rather than encouraging you to pick what is hip and trendy. You should grow some understanding of why one tool would be better suited for some cases than the other and remember hip and trendy does not always mean best suited for the job
-
Fundamentals:
-
Rendering Techniques:
-
Styling & UI:
- Preprocessors:
- CSS in JS:
- Component Libraries:
-
Routers:
-
Performance
-
Deployment
-
State Management
-
Bundlers
-
Testing
- E2E
- Unit
- Integration
- Visual
-
API Communication
- REST
- TanStack Query(works with GraphQL too)
- SWR (works with GraphQL too)
- GraphQL
- Web Sockets
- Api Routes / Route Handlers
- gRPC
- tRPC
- REST
-
i18n
-
Architecture
- Modular
- Feature-Sliced Design
- Monorepo
- Monolith
-
SEO
-
Auth
-
Observability
Feel there's room for enhancement in any sections of the roadmap? Please consider opening a PR with your suggestions or flag any concerns via issues. We're committed to continuous improvement, so you might want to watch/star this repository for future updates.
Contributions are always welcome! To contribute, please follow these steps:
- Fork the repository.
- Create a new branch with a descriptive name.
- Make your changes, and commit them.
- Push your changes to the forked repository.
- Create a pull request, and we'll review your changes.
If you're looking for help or simply want to share your thoughts about the project, we encourage you to join our Discord community. Here's the link: https://blazity.com/discord. It's a space where we exchange ideas and help one another. Everyone's input is appreciated, and we look forward to welcoming you.