software dev starter pack
Last edited: August 8, 2025Here’s a bit of a guide to start in software development. It is mostly links to other resources that would help.
Introductory Remarks
Nobody “learns” software development. Even in job interviews, people expect you to have “worked” in software development. The industry, as a whole, drives via “learn-by-doing”, so its best to start thinking about what you want to achieve with software dev in terms of projects, then look specifically for resources to help you achieve those. Once you Google enough, et viola! You will have the skills needed to tackle another project.
Software Development Methodologies
Last edited: August 8, 2025The software development models, or Software Development Life-cycles (SDLCs), are methodologies to approach organizing a software project.
Waterfall
The waterfall specification gets written before any code written. We hand off spec and code directly to tester, and code should behave like spec.
- Code specification exactly
- Spec does not update
Code happens only after stuff is done
Agile
Agile are designed to work with minimum specification before code. Spec is updated constantly as code changes and get user feedback.
Software Engineering Index
Last edited: August 8, 2025process of Engineering: chronological order
- User Interviews + User Stories
- Requirements Analysis
- Documentation and Specification
- Build the damned thing
- Build and Release engineering (TODO)
Other topics
- Query optimization (TODO)
Fucking acronyms to know
- AAA Method
- SOLID principles
- STAR method: state behaviorals in Situation, Task, Action, Results
fundamental trade-off of Software Engineering
The MIT vs. New Jersey problem: in Software Engineering, you can only choose one of FAST or ROBUST.
Solving PDEs via Fourier Transform
Last edited: August 8, 2025This will have no explicit boundary conditions in \(x\)!
Assume \(|U(t,x)|\) decays quickly as \(|x| \to \infty\).
Apply Fourier Transform
Step one is to apply the Fourier Transform on our PDE
\begin{equation} \hat{U}(t, \lambda) = \int_{R} U(t,x) e^{-i\lambda x} \dd{x} \end{equation}
Leveraging the fact that Derivative of Fourier Transform is a multiplication, we can simply our Fourier transform in terms of one expression in \(x\).
Apply a Fourier Transform on \(f(x)\)
This allows you to plug the initial conditions into your transformed expression above.
solving systems
Last edited: August 8, 2025So let’s say given a system:
\begin{equation} \begin{cases} x + 2y + z = 0 \\ 2x + 0y - z = 1 \\ x - y + 0z = 2 \end{cases} \end{equation}
We can represent this using a matricies.
\begin{equation} \begin{pmatrix} 1 & 2 & 1 \\ 2 & 0 & -1 \\ 1 & -1 & 0 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 2 \end{pmatrix} \end{equation}
