SafeWatch
Asmir Mustafic
Assumptions
- Multi tenant app (single database with company table)
- Independent app
- User auth already managed by third party app (SSO)
- Deploy can be copy pasted from previous project
- CI can be copy pasted from previous project
-
SafeWatch idea has been extensively validated
- User interviews
- Competitor analysis
- Online Surveys
- There might be already a first customer
Unknowns
- How tight is the deadline
- Is SignalHub exposing data via Webhooks, Kafka, or?
- Do we have a policy on "company tech stack"? (yes?)
Stack
Data: Postgres
Queue: RabbitMQ
(if Kafka is not in place already)
Symfony + HTMX
Symfony + Vue
NestJS + Vue
Infra: EKS?
Cache: Redis
App
NestJS + React
my expertise
company
NestJS + HTMX
Symfony + React
Stack is important
but context based
Choose stack based on available expertise (and available happiness)
The big picture
Rule creation
Milestones/Release
- MVP
- Ingest Signals
-
Rules CRUD
Actions are part of rules crud - Rules processing
trigger actions
MVP defines only one action type
- More actions
- Better UI for rules creation
Kanban
with weekly planning/check-in
+ 2 weeks retro
Stealth releases
Delayed marketing efforts
Success Metrics
- N rules created
- N rules abandoned creation
- N matches
- N action failures
Part 2
Team
Hiring timeline
Hiring process
- HR/Recruiter short intro
- Tech interview
- Done by tech lead + IC team member optional
- Evaluate if home assignment is needed
(code project or arch project for lead roles)
- Culture/Behavior fit interview
- Short for IC roles, detailed for lead roles
- Done by eng manager + tech lead optional
Hiring (engineers)
- Ideally "internal hire" for first 1-2 engineers
- Full stack with focus area (backend, frontend)
- Product minded engineers
- Know the difference between technologies, have a focus on one
(React vs Vue, Django vs Flask, Laravel vs Symfony, REST vs GraphQL, Portgres vs Mysql, Threads vs EventLoop...) - Past contributions to OSS are a bonus
- No managers, Must be Hands on
Hiring (qa)
- no nit-picker
- focus on automation
- willing to do manual
- Product mindset
Hiring (product)
- plus if technical
- hands on
- does wireframes (UX bonus)
- no corporate experience
Responsibilities
- Developers write tests
- Documentation to the minimum
- Conventions
- Code review best practices
- Arch diagrams
- Documentation to the minimum
- Developers write internal release notes
- PM writes public release notes
- See rapidr.io or similar
- PM (and QA) write user documentation
- PM and Tech Lead are responsible to tickets flow
- Tickets flow must be clearly documented
Various points
- Tech lead must be both technical and people focused
- Tech lead must do 1-1s
- Everyone should be allowed to peak in other teams code
- No overtime
- Make clear from day one that priorities change
- Have clear long term goal
- After disagreements are "handles" write down decisions to avoid repeating the same
- Give room for exploration if it is "easily revert-able"
- There is no "quick and dirty" but pragmatism is a must
SoSafe
By Asmir Mustafic
SoSafe
- 79