Lessons from a Startup: Tech Stack Choices, Team Management, and Pitfalls
The article shares a developer’s painful experience at a small startup, detailing the initial choice of uni‑app, egg.js, and antd‑vue, the subsequent technical and managerial turbulence, and practical advice on hiring, team management, and avoiding common pitfalls.
Background
In June 2022 I joined a tiny startup whose founder lacked technical and management experience, leading to rapid but unsustainable growth and eventual dissolution.
The boss demanded low labor costs and a fast‑to‑market Android + iOS app.
Initial Technology Selection
The team consisted of myself, a fresh front‑end developer, and a UI designer, with no dedicated QA or testing.
Use uni-app to develop the cross‑platform app, allowing future mini‑program extensions and rapid delivery.
Use egg.js + MySQL for the backend, providing quick development with a later migration path to midway.js .
Use antd-vue for the admin panel to keep the stack unified with uni-app and reduce conversion costs.
Why Choose uni‑app for App Development
Compared native iOS/Android (high cost), Flutter (learning curve), and React‑Native/Taro, uni‑app was selected for familiarity, ease of use, and speed.
Why Choose egg.js for the Backend
Egg.js met the low‑cost requirement, was familiar to the team, and offered a simple learning curve for JavaScript developers, making it suitable for the small‑scale project.
Mid‑Project Turbulence
Development proceeded on schedule, but the boss’s unrealistic expectations led to constant redesigns, hiring/firing cycles, and numerous new feature requests such as system upgrades, mini‑program versions, instant‑messaging, and more.
Later Technical Adjustments
Adjusted the app packaging strategy.
Introduced midway.js for new services while leveraging the existing egg.js team’s expertise.
Managed internal npm packages and built a shared component library.
Standardized code style and development processes.
Recruitment and Team Management
Hiring
Small startups struggle to attract talent, especially with limited compensation; the chosen stack allowed developers proficient in JavaScript to work full‑stack, easing staffing constraints.
Team Management
Key practices include being business‑oriented, adopting full‑stack development to avoid resource waste, defining coding standards, following a clear workflow (product → task → design → development → testing → code review → release → monitoring), setting measurable performance criteria, encouraging knowledge sharing, and maintaining timely communication.
Final Takeaways and Startup Pitfalls
Ensure the founder is reliable; avoid “dream‑selling” leaders.
A trustworthy founder can succeed elsewhere even if a project fails.
Focus on generating revenue; without it the venture cannot survive.
Prioritize core business problems over tooling or code conventions.
Provide timely progress updates to leadership to align expectations.
Extract learning from every experience; each step adds value.
Architect's Guide
Dedicated to sharing programmer-architect skills—Java backend, system, microservice, and distributed architectures—to help you become a senior architect.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.