new file mode 100644
index 0000000..d99d158
@@ -0,0 +1,37 @@
+---
+visibility: public
+---
+
+# software workflow
+
+think first, types first, then implement. learned from a teammate at a neurotech startup.
+
+## the process
+
+1. do a LOT of thinking and iterating on a base idea
+2. work through types and function types
+3. design UX and frontend-backend connections
+4. use flowchart tools and whiteboards for planning
+5. *then* implement
+
+the key is step 1 — spending serious time on the idea before writing any code. this feels slow but saves enormous time. "start with good understanding & foundation — right now not spending much effort and still going great because just have great understanding."
+
+## thinking before building
+
+this connects to [[zooming-out]] — spending time thinking about a problem gets insights you miss while tunneled. the software workflow makes this structural: you can't start coding until you've thought through the types.
+
+types are the skeleton. once you have the types right, the implementation almost writes itself. function signatures, data shapes, API contracts — get these right and the rest follows.
+
+## prototyping
+
+"prototyping is so great." but prototyping and the think-first workflow aren't contradictory — you prototype the *idea*, not the code. sketch it out, iterate on paper or whiteboard, then prototype in code with a clear picture of what you're building.
+
+## presenting your work
+
+"presenting went not the best because didn't prep." even great software needs to be communicated well. prep for demos. "having a pretty cool thing to show off and demo is very powerful" — invest in making your work presentable.
+
+## MVPs
+
+"bouncing ideas off people is such a good experience." show, don't tell. an MVP beats a pitch deck. this connects to the [[electronics-workflow]] breadboard-first approach — get something working, then show people.
+
+see also: [[electronics-workflow]], [[vibe-coding]], [[research-workflow]], [[critical-path]]
\ No newline at end of file