r/learnprogramming • u/obsolescenza • 1d ago
Other than knowledge of the programming language, what other knowledge do you think a person who develops software should have?
Hi all! I am recently trying to develop an app, and Googling around I came across many other concepts to build an app and host it (software architecture, system design, Computer Networks to understand the basics of requests etc., and also patterns like the ECB pattern, and Database Knowledge like SQL and DEVOPS to test and integrate) so before doing the programming I kinda want to learn the other fundamentals, what sources (books, courses, etc) would you suggest me? Me and my friend are the only 2 on developing it, so we kinda need to be a team and be all-rounders
thanks and have a nice day!
52
Upvotes
1
u/David_D_Jack_Builds 1d ago
The skills you listed (architecture, system design, networking, patterns) are all real — but trying to learn them all in parallel is a trap. Most junior devs burn 6-12 months on "fundamentals" before building anything.
Here's the order I'd actually learn them in, based on what gets you hired vs. what makes you look smart on Twitter:
Tier 1 — Learn first (blocks you from getting hired)
Tier 2 — Learn when you have a real project
Tier 3 — Learn when you're applying to mid-level roles
The mistake I see: people spend 6 months reading "Clean Code" before shipping anything. Ship a small project first, then read about the patterns you actually needed.
What kind of app are you building? The "extra knowledge" you need depends entirely on that.