I’ve always had trouble getting into coding/programming because I’ve never truly dedicated myself to it. Mostly, this is because I kinda always lose momentum to learn it. I’m a heavy FOSS user; I love coreboot/Libreboot and am interested in getting into firmware development. I’ve already helped test hardware for Libreboot and enjoy learning about firmware.

I have just started to cut out gaming from my life to focus more on this. Maybe I should start with Python? At the same time, though, I feel like I should start with C, but don’t want to jump the gun too quick.

Feel free to share your stories!

4 points

I started my career with it, studying it in college. Relying on it for finances definitely is a major push. I don’t touch it for a hobby though because of that. Hopefully others can help with suggestions for that side of things.

permalink
report
reply
6 points

I feel like you’re trying to fight an uphill battle. I find it’s always easiest to learn in a way that motivates or invigorates me.

For example, I wanted to play games with my friends so I got into hosting a Minecraft server. It was hell at first to learn all the individual pieces, but I was motivated and it led me down the path of learning networking, basic server client architecture, and performance monitoring. That kind of spiralled out into making my own plugin, too. Despite the fact that I never ran a server with more than 5 active players or finished my plugin, it sent me down a path learning tons of new stuff because it was fun for me.

I transitioned into webapp development later on by trying to make an idea I had come to life. This was well before I had even heard the word “startup” and I had no business sense, but I wanted to make something and was very motivated to hack my way through it. I didn’t finish that either, but I still use those skills I learned today.

permalink
report
reply
12 points

I was a self taught programmer who 10+ years later is now a senior software engineer. I can’t tell you what to do but I can tell you what worked for me.

The reality is, I never sat down with the intent to “learn programming”. Instead, I had practical ideas for things I wanted to make the computer do, and then I learned whatever was necessary to accomplish my projects as I went. Whenever I got stuck or hit an error, I’d search my questions online.

I never truly “finished” most of these early projects but they gave me a practical understanding of how things fit together. From there I just kept making stuff and taking on harder projects and then harder jobs and eventually other programmers started coming to me asking for help because they knew I had solved the thing they were working on before.

I’m not sure if it’s advice, but I’d say stop worrying about learning and just do. If you like firmware, go buy some shitty unsupported peripheral from Goodwill and try to make it work on your modern system. Solve a problem you have in your everyday life. It doesn’t matter if you accomplish the goal, you’ll learn a lot by googling your way through it. Do that enough and you’ll wake up one day and be a competent programmer.

permalink
report
reply
37 points

As others have said, rather than learn a language, solve a problem. Find something that bothers you, and write some code to fix it. The specific language doesn’t matter.

Its kinda similar to learning a spoken language, there is no point learning French if you cant use it in someway.

permalink
report
reply
4 points
*

Sound advice. During my first year of computer science, one of my professors told me that programming languages are just a tool to solve a problem. The logic to solve it is the key. Whether it’s Java, Python, Go, etc. If you don’t know how to tell the computer what to do, you can’t program anything in any language.

permalink
report
parent
reply
-1 points

I don’t I’m just a server setter…

permalink
report
reply

Asklemmy

!asklemmy@lemmy.ml

Create post

A loosely moderated place to ask open-ended questions

Search asklemmy 🔍

If your post meets the following criteria, it’s welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

Icon by @Double_A@discuss.tchncs.de

Community stats

  • 11K

    Monthly active users

  • 3.3K

    Posts

  • 67K

    Comments