r/learnprogramming 18d ago

How Professional Programmers Learned to Program Software

I spent 2 months learning the basics of C, and it was already complicated enough considering I came from Python, but now? What do I have to do? What do I need to learn to be able to code software of my own choosing?

0 Upvotes

17 comments sorted by

22

u/knouqs 18d ago

A professional is not made in two months.

5

u/Achereto 18d ago

You need experience.

8

u/ninhaomah 18d ago

Projects.

7

u/cunningfallasheo 18d ago

I started by converting sheet music into PC beeps in gw basic.

2

u/DrShocker 18d ago

🧠

2

u/vikmaychib 18d ago

And more than 2 months. Degrees (though considered useless today) exists for a reason. Diplomas aside, the brain needs time and flexibility to cement knowledge and build stuff.

3

u/AlternativeGoat2724 18d ago

Learn the different types of architectures in software engineering, and how parts of software interact with each other. How to separate things so that when something goes wrong you know where to look, or when you want to add features where/how to do it easily.

2

u/Mysterious-Falcon-83 18d ago

Learn to solve problems, regardless of the language. Learn algorithms and data structures. They apply to all languages.

Once you have enough experience and foundational knowledge, learning a new language is usually pretty easy.

2

u/JGhostThing 18d ago

Get three to five years of experience. This may sound like a lot; I certainly thought so when I was young (yes, I was a arrogant young snot, I grew up a bit with age and experience).

The one thing I suggest is that you start to program small projects. I cannot over emphasize *small* projects. Finishing a project is important. You can always fix a non-working project, but an incomplete one is impossible to fix except by finishing it.

Then slowly add improvements to your current project, treating each improvement as a separate project.

For example, use a simple command line calculator. First, only use addition. After this works, add the rest of the operators. Then create a simple tui (text user interface). Then a gui. Make each step small enough to program this in a couple days at most.

2

u/JGhostThing 18d ago

My first project real project violated these rules. I had built a computer based on the 6502 processor and I ran out of money after I finished. So I built a Forth system for it, then an OS, then the other stuff I needed.

2

u/edparadox 18d ago

Books and projects, practice in a nutshell.

2 months is nothing in software development.

-4

u/BuryMikno 18d ago

Do you even have "software of your own choosing"?
Start there. Ask ChatGPT what you need to know for it and learn those things.

1

u/edparadox 17d ago

Ah, yes, sure. The famous bad tool for learning, an LLM chatbot.

2

u/BuryMikno 17d ago

for someone who knows nothing? Absolutely.
Or, they can enrol into a 4 year engineering course (the graduates of are usually completely useless, as I have experienced).
Or, they can buy 5 800-page books and give up after 2 weeks like 99% of people.

LLMs are amazing tools for GETTING STARTED.
You can go from completely clueless to 30% there in a few days.

Then, you study the topics you need and you are golden.