THE LEARNING JOURNAL

Ideas, lessons, and things I’m figuring out.

Practical notes from my journey in web development, mobile development, and cybersecurity—written as I learn, build, and improve.

Learning in public Building through practice
Explore articles4 articles

Why I started learning penetration testing as a web developer

I used to think security was a separate track from building things. Then I found a stored XSS bug in my own project and realised I’d been shipping code without thinking like an attacker. Here’s what changed in how I write frontend code since I started learning SOC fundamentals.

It started with a form field. I’d built a comment box for a personal project and never sanitised the output—anything typed in showed up on the page exactly as entered. A friend pasted a script tag in as a joke, and it ran. That was the moment cybersecurity stopped being a separate subject on my learning list and started being something I check for in every input field I write.

Since then, I’ve been going through SOC fundamentals material and treating every form, query parameter, and API response as untrusted until proven otherwise. I’m still learning, but security is now part of how I think about building—not something I plan to add at the end.

Porting my first component to React Native

Flexbox behaves differently, there’s no CSS cascade, and every “just use CSS” instinct needed unlearning. Notes on what carried over from web development—and what didn’t.

The biggest surprise was that Flexbox is the default layout mode, not something you opt into. Every View behaves like display: flex; flex-direction: column unless you say otherwise. That’s the opposite of the web, where block layout is the default.

Styling is also done with JavaScript objects, so there’s no cascade or specificity to fight with. What carried over cleanly: thinking in components, and most of my Flexbox alignment intuition once I flipped the default direction in my head.

Three responsive-design mistakes I keep making

Fixed widths in odd places, forgetting min-width: 0 on Flexbox children, and testing only at desktop size until the very end.

  1. Fixed pixel widths inside Flexbox or Grid containers can cause overflow on small screens.
  2. Text can overflow a flex child because flex items default to min-width: auto. Setting min-width: 0 often solves it.
  3. Testing only desktop and one phone size misses problems on mid-range tablets.

I’m trying to make responsive testing part of the process instead of something I remember at the end.

SOC fundamentals, week one: what I actually learned

Started with the basics—log analysis, common attack signatures, and why “just monitor everything” is bad advice. Writing this down to stay accountable.

The first lesson wasn’t a tool; it was a mindset shift. A Security Operations Center isn’t about collecting every log you can—it’s about knowing which signals actually matter, because noise can bury real incidents.

I spent most of week one learning to read logs and recognise a handful of common attack signatures rather than jumping straight into dashboards. Slower than I expected, but it’s the foundation that makes the rest meaningful.