I'm a cybersecurity researcher who has spent the last few years at university participating in CTF competitions. I'm comfortable analyzing intentionally vulnerable challenges, testing attack paths, and writing proof-of-concept exploits, but that work hasn't helped me become much better at building software.
I have a basic programming foundation, yet I don't feel capable of creating a complete application such as a website, service, or mobile app. I'm also unsure how to choose a worthwhile project that will teach me practical development skills. What would be a good way to move from mainly writing PoCs and exploits to designing and building complete programs?
1 Answer
The most effective way to improve is to build things regularly rather than only studying or thinking about what to build. Pick a small project that genuinely interests you and finish it—for example, a command-line tool that parses CTF logs, tracks solved challenges, or organizes notes. Start with a simple version, then add features gradually. Each missing piece will point you toward the next concept you need to learn.

That makes sense, but I’m still not sure how to come up with a project idea. I haven’t built a full application before.