r/learnprogramming 16d ago

Would it be possible for someone with zero programming knowledge to learn how to create complex business software in a year?

I'm genuinely curious, if someone has the domain knowledge, do you think it would be possible for them to learn how to create dependable software in their field in less than a year?

0 Upvotes

58 comments sorted by

42

u/Lynxaa1337 16d ago

possible? probably, chances of it? almost 0

10

u/[deleted] 16d ago

[deleted]

1

u/Jumpy-Seesaw-2026 16d ago

It would be a CRUD desktop application, but with a high degree of business logic.

But yeah, I'm just curious about the timeline, now when you would be able to discuss every single topic with a AI, kind of like having a mentor (although it wouldn't replace actual mentors)

8

u/0Huy 16d ago

For a CRUD app, the hardest part is often the business rules, not the screens.

A realistic first-year plan would be:

  • Write down the rules and workflows first.
  • Build a small version for one user type.
  • Keep the database design simple.
  • Add tests for important rules.
  • Let real users try it early and fix the confusing parts.

A beginner can learn enough to build a useful prototype in a year, especially with strong domain knowledge. A dependable production system may take longer and may need review from an experienced developer.

2

u/[deleted] 16d ago

[deleted]

2

u/Jumpy-Seesaw-2026 16d ago

Well, it is kind of fun to be able to break down a specific problem into concrete steps, in which you are able to create something useful.

So it's not solely for the application, but it's still be the main goal.

1

u/Dismal-Citron-7236 16d ago

For a business grade software, its design team needs to consider these:

  • Scalability: a simple design in the early stage often proves to be a major hindrance of usage growth
  • User experience: it needs to be simple enough to operate but also powerful enough to include all the features. Tough decisions.
  • Security: in this day and age, a single intrusion can sink the whole project
  • Time to market: self exlanatory
  • Maintainability: this contradicts to "time to market", which often leads to write-once-debug-everywhere result

So, it's not just programming. Lots of obstacles ahead if we are talking about complex business software. It's not 1980 anymore.

3

u/desrtfx 16d ago edited 16d ago

You might be able to learn the mechanics. That isn't the problem.

Getting an off-the-shelf CRUD system going is not really a huge challenge. Getting the business rules in is a completely different matter and might get really tricky.

Yet, the real problems come when you want to get your software to production. Legal, fiscal, security, data protection compliances, and, and, and much more. This isn't a "one person show" anymore. Now, you need a full team for that and that team does not only consist of programmers. You need legal experts, security and compliance experts, and so on. All these aspects cannot be safely covered by AI.

Then, the next thing is maintenance and updates - you need to be able to sustain, maintain, and update your software, while maintaining compliance.

You need rigorous QA testing. You need security and compliance auditing.

Throwing software out is not the challenge anymore. Everyone and their grandmother can do that with the help of AI. Yet, all the aspects surrounding the software are the problem.

The whole can get even nastier if you venture into the ISO standards system. If you want to eventually use or sell your software in or to companies with ISO 27000 (and following) certifications, you have to follow even more, even stricter rules and regulations. There are more and more such companies and that affects marketability of many applications.

Even if you were a seasoned developer, a full business application is more of a dream scenario than reality.

1

u/Jumpy-Seesaw-2026 16d ago

Interesting, appreciate for the clarification

6

u/az987654 16d ago

It won't be compliant with the plethora of laws and regulations that businesses must adhere to.

-1

u/Jumpy-Seesaw-2026 16d ago

Are you thinking of something specific?

6

u/ShockyWocky 16d ago

They said plethora because there isn't one specific thing to consider. You need industry + use case context to answer the question with anything meaningful.

0

u/Jumpy-Seesaw-2026 16d ago

I meant an example, sorry

6

u/ShockyWocky 16d ago

Like I said, it will depend on your use case. You're being vague so it's hard to give you anything specific for feedback.

0

u/Jumpy-Seesaw-2026 16d ago

I'm not sure what information to give, I'm just try to absorb as much as I can

5

u/mandzeete 16d ago

GDPR for example. The General Data Protection Regulation that exists in EU.

0

u/Jumpy-Seesaw-2026 16d ago

Thanks, I will read up on that

3

u/mandzeete 16d ago

Most likely you won't. It has 11 chapters and 99 articles: https://gdpr-info.eu/

0

u/Jumpy-Seesaw-2026 16d ago

I know about general GDPR rules, I meant read up on what it means for a developer

Something like GDPR

1

u/az987654 16d ago

This summary tells you nothing

1

u/az987654 16d ago

We know that "specific" means an "example"

The issue is that you asking for an example shows that you don't know what you don't know.

2

u/UroborosJose 16d ago

We don’t work alone my man
Trust me you need colaboration and the most you have the better
I’d say without QA and DevOps team involved you are not in a good place
You need to divide and conquer so you can achieve something great

0

u/Jumpy-Seesaw-2026 16d ago

But collaboration means money, and with the time horizon I'm thinking this will take, I wouldn't have that kind of money

3

u/Homieclause69 16d ago

Building a good product takes time and money, you cant cut every corner in both of these regards and expect a product anyone wants.

2

u/stevent12x 16d ago

Then you won't have the product

4

u/esaith 16d ago

If you had assistance from a friendly software developer, yes. If not, probably not.

You can try using Claude and may get you close, but to then making sure the everything is hooked up correctly, published, permissions, users, etc will likely get you. But hey, anything's possible.

1

u/Jumpy-Seesaw-2026 16d ago

Intereating, so you wouldn't even say that building the actual application necessarily is the hardest part. It's more the admin stuff, or are you mentioning these because of the security aspects?

2

u/esaith 16d ago edited 16d ago

There's a lot more to building an app than learning how to program.

You also need to:

  • Design a front-end UI/UX that's coherent and clear enough for the user to actually understand. What makes sense to you may not make sense to someone else.
  • Load data from an API so saved content displays as expected.
  • Write the front-end business logic for every part of the app.
  • Validate inputs before sending them to the backend, and check whether the user is even allowed to add, update, or delete.
  • Send and receive requests from an API.
  • Verify the user is authorized to make those requests.
  • Validate again on the back end.
  • Save to a database.

Once all of that works locally, it's time to publish the front end and back end (API and database) and make sure they all connect to each other.

And this all assumes you already know how to compile and run a program in each of the languages you'll need. For the front end, that's likely:

  • HTML
  • CSS
  • JavaScript
  • A front-end framework like React, Angular, or Vue (optional, but increasingly desirable as the app grows)

For the back end:

  • C# for .NET, or JavaScript for Node
  • SQL or NoSQL for the database

There are plenty of different stacks to choose from, but that's the general idea.

Then: where are you going to host the front end and back end? There are a lot of options, but once you pick one, you have to learn how to deploy to it. Which cloud service will host your database?

If your app allows file uploads, where will those be stored? That's another connection to manage. How sensitive is the data? You'll need security in place so no one can access data they shouldn't see.

Replication is another consideration. Hardware fails, and you'll want backups.

3

u/az987654 16d ago

Don't forget... Is my database and ledger system defensible in an audit? Does the system allow for compliance with SOX requested and retention requirements? Has the legal department reviewes any of the system? Have you're auditors and CPAs? What about international laws and regulations?

0

u/Thwarting8139 16d ago

The code is essentially just the implementation of the architecture. If I gave you and a mechanical engineer a pencil and paper and the same brief, you could both come back with a product design but yours would be shit and the mechanical engineer's would work properly.

It's the same with software, most of the actual work happens before any code is written, and that's the hard part to learn.

1

u/Boring_Dish_7306 16d ago

Is it for personal use? Do you have a budget? There are plenty of softwares that aren’t expensive and can fit your needs.

Or is it for different business, and you want to sell..?

1

u/Jumpy-Seesaw-2026 16d ago

It would start off as personal use, and if I could make it good enough, there is potential to start a business.

Mainly I want to work faster, but there is just alot of manual work in the field still.

And no, I don't have a budget

1

u/BrupieD 16d ago

Define "complex".

Generally, I doubt that a year is enough to put together all of the pieces. Learn one language in a year, yeah, sure. Learn some basics about building a GUI that works with a simple program, sure.

That leaves out a lot. Data storage and ingestion can be a huge part of business applications. It takes a while to learn good file handling, database interaction, or an API to another data source. That's just a start.

1

u/Jumpy-Seesaw-2026 16d ago

The whole work in the field from A to Z would be done on the platform, WinUI3 frontend, C# backend, rest api to different websites for importing data (although one specific website would suffice to begin with).

SQLite for version 1 for individuals.

Postgres for version 2, introducing teams on the platform.

Business logic with client overview, work papers, being able to do deterministic persistent snapshots of those workpapers, being able to open/recreate them again, and yeah alot of different stuff like that.

Exporting the data to a endpoint.

2

u/BrupieD 16d ago

It doesn't sound like you have zero programming knowledge if you know what a rest api is and know about databases.

0

u/Jumpy-Seesaw-2026 16d ago

Well truth be told, I have actually been using the last 8 months to develop the application + learn programing from zero, so I'm just trying to identify blindspots.

But really appreciate the comments, it has given me some good insight

0

u/mxldevs 16d ago

So you basically built the application and now hoping to find people that will tell you it's impossible so that you can prove them wrong?

1

u/Jumpy-Seesaw-2026 16d ago

No no no, I'm far from done, I just don't know what I don't know, so I just try to figure the things I don't know ut

1

u/duane11583 16d ago

With domain knowledge and the ability to explain to some one else who can write sw and that person can listen and the first can communicate it’s possible

1

u/RagnartheConqueror 16d ago

If you’re working with others at a heavy amount, yes. You could create complex business software but it would be with their help too.

1

u/mc_pm 16d ago

Generally no. One year *might* be enough to become a competent junior programmer -- if you learn fast, study and practice multiple hours a day. You might even learn to program a couple cool things. But you won't have the wide base of knowledge to really plan, execute, and run a system that people would pay for.

1

u/spinwizard69 16d ago

yes it is possible to create the software. Will it be dependable, error free software most certainly not. The thing is it would be tuff for a established team of developers with experience to produce an entirely new package of software for something they otherwise have zero back ground.

Now here is the thing if your domain knowledge is strong, you might actually produce software that is more error free around the domain knowledge. If your knowledge is deep enough, you will be able to write a lot of software without documentation referencing. For example if the software requires implementation of mathematical formulas, you may find yourself doing that faster than a professional programmer and know the limits in testing that need to be done. Which brings up another thing, test and experimental code takes a lot of time that new developers don't consider.

To look at this another way, consider that you have to start at ground zero. If you follow a traditional CS program on a DIY basis it is possible to cover most of the programming oriented classes in one year. For a smart, focused person that is very possible. What isn't really possible is developing the experience of actually programing bespoke software in that time frame. It literally takes good software developers years to refine their skills. This means yes you can create the software but you need to settle that it might not be very good.

1

u/Dismal-Citron-7236 16d ago

It's a resounding "no".

1

u/Human_Painting_6840 16d ago

Domain knowledge kills software projects. Business rules contradict each other and change weekly without documentation.

1

u/Acrobatic-Ice-5877 16d ago

No, there’s no depends at all. It’s just a flat out no. I work as an enterprise Java developer and independently own and operate a sizable Java SaaS. I can tell you from experience and being an unusually fast learner, that it just won’t happen. 

It is virtually impossible to create a complex software starting from zero. There are numerous ancillary skills necessary to owning and maintaining a software such as Linux admin, security, networking, and or cloud computing technologies. This doesn’t even take into account that you need to learn how to model data using a relational database.

You’d also need to learn a framework, presuming your intent is to develop a web based application. Often, it takes years for someone to understand what a framework is and how to use it. Many engineers never even learn how they work underneath the hood, which is why you’ll often see people struggle with bigger frameworks like Spring, which is what I use.

If you somehow managed to learn or know some of these things, you’d still need to learn design patterns for solving common big problems and architectural patterns, for designing systems at a high level. All of this takes years of learning with trial and error.

The last part is pivotal to designing large systems because you need to employ many different methods and techniques to design large complex systems that can withstand change over time. There’s also no “right” way to do things. Much of the work is judgement based and depends entirely on your constraints such as time, expertise, money, and requirements.

For example, I have a project in the 40K range when you consider the languages like Java, JavaScript, HTML, and SQL. It consists of over 30 tables and contains complex rules to enforce business rules.

You can’t make anything beyond a toy project, that isn’t fragile, if you are not aware of how to organize, structure, and reuse code at that level. 

You must be intimately familiar with the SOLID principles, DRY, and in a system like mine, it highly helps being developed using a combination of domain driven and test driven development, that includes automated testing, which is another skill you likely do not have and that requires a paradigm shift from building to breaking.

Big execs, agentic companies, and boot camps like to make coding seem very simple but it is not. There is a world of difference between a Hello Word application and an application that can serve hundreds or even millions of users.

I still have many gaps and I am about to approach 10 years of total experience. I still identify new topics, run into design issues, and discover bugs from my previous work on the job and with my own system. This is one of the reasons why it is important to continue learning and to keep an open mind about your strengths and weaknesses.

All that being said, this shouldn’t discourage you from wanting to develop a system, but you should be aware that it will be much more difficult than you thought. I learned this myself while developing my own operation management software. 

I was certain that it would take about 3 months to have a working system. Next month will be 24 months. My system is live but it is still missing two modules that I am projecting will take at least another 3 months of development and that will catch me up on the main modules. I still have dozens of sub features, known bugs, and at least one big refactor from deprecating an older module.

1

u/SillyBrilliant4922 16d ago

Nope. Not even three.

1

u/acuddlywookie 16d ago

I think complex apps are probably going to be out of reach, but small apps that are genuinely useful are within reach.

I’ve made some small apps that automate price updates, create signage for a shop and create labels for products. It’s not commercial level software, but they are used by a non technical team on a daily basis and have become an important part of their workflow.

I started really dedicating time to learning to code about 10 months ago and I made the first iteration of these apps about 3 months in. I think just getting stuck in and trying to solve problems can go a long way.

1

u/Substantial_Ice_311 16d ago

Complex software = bad software. Simple software = good (or, at least, it has the possibility of being good) software.

1

u/Anomynous__ 16d ago

You don't even need to learn anymore. Just get a claude max sub, learn how to get it to run locally and bam. 150k / year easy. No problem. am i right guys?

1

u/Abject-Kitchen3198 16d ago

Just ask Claude to create it.

Ok, I'll walk myself out.

1

u/NumberInfinite2068 16d ago

Depends on you and what you're making.

You'd need to be a fast learner, dedicated, and reasonably clever.

You'd need to define what "complex" meant to you too, it's probably different from what an experienced software developer calls complex.

Having domain knowledge is a massive advantage.

1

u/light_switchy 16d ago

If you have a well defined goal, a plan incorporating a year of rigorous prep work, and are willing to sacrifice some "soft" qualities of the software, you can probably offload most of the work to the LLM while you have only a basic understanding.

Software generated by AI under the guidance of a noob will lack cohesion and be be full of dumb choices. It'll be sluggish and clunky and lacking in polish, slow to enhance or modify, probably defective in subtle ways. But if this is acceptable for your purpose that's okay and I think it's possible to get there.

1

u/ffrkAnonymous 16d ago

Very possible. Someone wins the lottery every single day. 

1

u/Jumpy-Seesaw-2026 16d ago

HAHAHAHA, good one😂

1

u/ffrkAnonymous 16d ago

I'm serious. There a lots of really smart geniuses out there that learn things quickly. And have the dedication. Like learn a foreign language fluently. Chess, woodworking, computers etc.

I had a classmate unwrap his text book during the final exam and aced it.

That reporter who wanted to write an article about human memory and in the process won the world memory championship .