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!
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.
I’m genX, so I grew up with 80s microcomputers. Programming was pretty much the only thing you could do with them.
I wanted to have a cool geocities page, so I needed some HTML. Later I wanted to do downloads and forms… maybe a domain is in order. Learned some php and javascript. Discovered desktop languages, this C# stuff is pretty neat, I can do a lot with it. It’s versatile. Oops now I’m getting a paycheck for this silliness, and depending on it to eat.
I learned Minecraft (and other video games) were made with coding, so I had to learn it to make my own.
I was like 8-10 and found a tutorial on how to use eclipse. I thought I followed it to the letter, but it didn’t compile.
At 12, my math teacher offered python courses, so I attended them and yeah.
I had a triple major of Psych/Soc/Phil with the intent of teaching. My focus in Philosophy was mostly logic and analytical reasoning. I ended up marrying my GF and had to quit college in my junior year and go to work where I ended up doing a lot of computer work on the IBM XT. One late night working on electronic bids for parts we sold I realized computers are not going anywhere and focusing on that would get me out of this sales job. I went to Control Data for a year which got me in the door of a company. Programming was nothing but logic which was my focus in college so it came pretty easy to me. That was 1989. I contracted to Ford for the next 30+ years doing everything from data analysis at the start to SQL and DB’s for a while, and then I ended up on teams delivering software to the plants. I always wanted a job that would allow me to see the world and for over 20 years I traveled on the corporate dime, including an around the world trip for work in Asia and Europe on the same trip. I traveled almost 300k miles on planes during that time and had a chance to see how people live and work all over the world.
Dude, this is exactly what billions of people wish for. You are living the dream, take in every second of it.
I worked with a lot of people making close to 6 figures who only had a 2 year associates degree in controls traveling right along side of me. They made more than me with less education but more technical skill. It’s also a job market that is growing like crazy; automation.
I started it via Minecraft modding. My mouse at the time couldn’t handle clicking a lot well, the button got stuck a lot when I did that. I wrote a mod that would click and release when I held down the mouse, and it helped me a lot until I got another mouse.
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.
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.
I saw the video about Python from Life Of Boris and thought it looked fun, so I just decided to learn programming.
I love Life of Boris
I started learning Python in middle school and completed some projects that I wanted to make. That’s how I got into programming. Now I use Rust for my hobby projects and C++ for school.
I always were fascinated by computers so it was easier for me to get into it. But if you can find something that might get you motivated to try to program, I’m certain you’ll get into it.
Got into making redstone logic in Minecraft, including joining a community of people building all kinds of crazy things like CPUs. This was early days too - I think the repeater was brand new
Eventually wanted to make mods so started learning Java. Was bad at it. Then wanted to make games in unity. Was bad at it. Learned C++ at Uni. Dropped out and was bad at it.
Kind of repeated this cycle for various languages and tools for years, never with enough motivation to learn properly. Eventually I hit a critical mass of skill and was able to actually make things in HTML/JS and over a couple years this snowballs until surprisingly quickly I find myself a senior developer teaching others!
I’ve been “learning” programming for about 10 years in a self-taught way. I don’t even know why I started, but it was with C, but I quit soon after when I realized I didn’t understand anything. I was jumping between C#, Javascript, and other languages until I landed on Python, mainly because I wanted to learn how to use Godot, and in the documentation of the Engine it said that its language, GDScript, was very similar to Python, and my reasoning was “Ah, ok. Then if I learn Python it will be easier for me to learn GDScript”. So I started learning Python and was able to create my first programs, but after a while I lost interest and forgot why I was learning it in the first place.
When the controversy with Unity happened, I don’t know what happened to me but I felt a kind of wake-up call, like that was the moment to go back to Godot, and that’s what I did. And while I was making my first game suddenly everything I had learned the previous years made sense, now I really enjoy programming.
While I agree with a lot of the other comments with the “you learn by doing vibe”, I feel like it’s a bit open ended and it can be a struggle taking the first step.
I started out around 2012 with some “how to do java” tutorials, and through that learned the language agnostic basics of programming (variables, functions, arrays, loops etc). But because I had nothing I wanted to make, I dropped that pretty soon after and didn’t touch anything code related for like 5 years.
I randomly applied for a job that required a whole lot of sql knowledge, got the role (when I probably shouldn’t have in all honesty) and that prior knowledge helped tremendously in getting up to speed with that, I just had to learn the sql specific stuff on the go.
I then wanted to do a Pokemon Romhack, so followed tutorials on YouTube which taught me a bunch of C and git.
So yeah, it wasn’t until I actually needed to use something that I actually learned any languages, and the original language I set out to learn I know absolutely nothing about now, but it did give me the baseline knowledge I needed to pick all the rest up far easier.
I was undeclared but leaning towards a stats major in college - I started working with SAS and found I liked building the solutions more than figuring out the statistics of it all.
I started “programming” by writing triggers in the Warcraft 3 editor 😅.
Later learned C++, then went to uni and learned more and the deeper theory.
If you’re just a hobbyist, Python is a good choice. If you want to learn more deeply, I’d recommend Rust over something like C. Feel free to mention/message me if you have Rust questions.