Programming started as a hobby for me as a teenager. I always “liked computers” so thought I’d give it a try. I never intended to make a career out of it because it seemed so hard at first, but over a decade later, I’m decently accomplished in my field and get paid bank for it.
As a hobby, it’s fantastic. You can add in missing features to open source software you use (including the one I’m posting this to right now!). You can make your own little apps to fill niches you haven’t found an existing program for. You can automate boring stuff from other work. You can make mods for certain types of video games. Or if you’re really ambitious, you can even make a video game (but I gotta tell you, video games are hard and need much more than just programming – I do not recommend making video games as a goal unless you’ve thought out just what that involves).
If you make a career out of it later, cool. But even if you don’t, it’s a fun and rewarding hobby that costs almost nothing. As long as you have a computer (preferably not a mobile phone, though it’s technically possible to use a phone), you can program. Hardware doesn’t generally matter. Any cheap laptop works. All the tools you need have free and often open source ones you can use. You only need to pay for web hosting if you make a web tool and want to share it with others.
This, entirely. And especially with how tech-averse most scientists are in my field (biology), it’s really easy to set yourself apart with just some basic programming knowledge
Taking a break from making a video game to read this thread lol, you are not wrong about that part! Or any part, actually, programming is awesome and even outside of using it for work it’s come in handy at least a little bit in every other hobby I’ve ever done. Up to and including knitting.
On that note, kinda similar: Selfhost your services. There is a lot of cool software that you can run on your old computer, or on a more dedicated machine. A file storage, a media server, your very own AI server, the lost is endless.
I’d like to learn more about how to do this. I’ve got a home theater PC I’ve been using as a NAS via simple windows & samba file sharing, but I’d like to expand that to tools like Jellyfin and potentially something like writefreely or a podcasting platform for others to enjoy. I’ve looked it up cursorily but would appreciate if you could share additional resources my way in developing my own server here as well. (All good if you don’t have any to share, I can just google as well I suppose)
Sure I can talk a little. First things first: If you’re hosting on windows, you should probably use a different OS.
If you’re looking for something easily manageable, there is a couple of specifically made systems made for easy administration, True as comes to mind, but that’s not what I use.
If you’re more proficient, or ready to learn, you should really have a Linux distro on your server. I recommend Debian 12, but there is many valid choices.
When setting this kind of system up, the essential service that you want to run all the time is SSH, as that’s how you will configure and use the server. On Debian 12, you can just check a box in the installer and it will set up ssh for you.
After that, you don’t need a screen or keyboard on your server anymore, just go to any of your work stations and go ssh user@(your server IP) and boom you get a shell on your server.
Okay, so now what? Think about what you want to host. Then just look up the documentation of your stuff. Learn Docker, as it will make hosting way easier. If you’re a friend of the visual click click interface, you’d probably want portainer.
With docker, you can host a ton of service without actually having to do a lot of configuring with them. Want to host a database? Marinade Want to host a media server? Plex
Okay, now you probably think that sounds way too complicated and are about to get demotivated. Now you see, the most important thing is to start. If you set it up yourself, your first server will be a mess, and that’s okay. You will scream at docker because it does weird things, you will scream because your Webserver finally connects with the database and you can play your music and you will break things to the point where you will just reinstall. It’s a great learning experience.
Some time later, you will just go “hey that service sounds cool”, copy some compose file, tweak it a bit, and boom you hosted a new service in a couple minutes.
About ressources: I mostly use just what’s provided by the stuff I want to use. A lot of my information that goes directly to the act of hosting comes from Readme files in git repositories or descriptions on docker hub. Besides that, search for things you encounter.
In general, I’ve found the first party documentation of the things I use in tech to be the most reliable, but that seems not for everyone.
There isn’t a magic central Ressource, besides your head when you remember doing something before. Selfhosting/Homelab communities on Reddit or now Lemmy can help with ideas.
Meanwhile my dumbass has been trying to be even remotely functional with programming. A degree and a software dev job later I still don’t think I really get it.
That happens to us all. My first year I felt useless. Once I started running projects and getting the opportunity to actually design our framework, I got a lot more confidence. The first project I ran I was not prepared for. But I improved in confidence so much while I did it.
Imposter syndrome affects us a lot. But even if you’re a shit dev, remember this: we literally do magic. Think about it for a moment. We write words in an esoteric script to convince electricity to create things that didn’t previously exist. Even the worst wizard is still a wizard. And the best part is that they can improve! There’s so many resources out there to improve your skills. It might not be for everyone, but I love my job.
I actually got my first real project a few weeks ago after over a year here and just completely screwed the pooch on it. I had like 2 methods written but no functionality after a week with it. I don’t know if I was asking the wrong questions or what but the product owner which was one of our senior devs really had me struggling.
I’m finishing up on a course this week that covers a few things that my school didn’t cover and then I am gonna start working on my own project to hopefully get my bearings straight. I don’t really have one in mind but I’m considering a messenger app or ye ole student registry type app that a lot of people start with.
Hey, we all start somewhere. I remember the first time I broke prod I was freaking out. I skipped lunch and a company event with my boss while we figured out what happened, and we had a few major customers who couldn’t use our software all morning.
Screwing up is what makes us devs in my opinion. When the shit hits the fan and the fire flares, that’s when we find out our real mettle. I like to joke that I moonlight as a fire fighter lol.
Keep at it and I promise you’ll get your confidence when you have that major breakthrough and fix a complicated problem with a simple solution.
If you’re gonna work on a personal project I suggest doing something you want that isn’t easily accessible. Something everything out there is subscription based or something. Do something fun that you will actually use. That helps you stay motivated.
Thankfully what I mostly do right now isn’t gonna break anything major but I have had a few after 5 calls from product owners because certain things in our software that is custom configured for each client might have been done wrong(it’s kind of common enough that it isn’t that big of a deal) and it’s mostly a quick fix and from lack of communication. Where I struggle with is that I am first to call for support issues and I still don’t quite know the software or the industry like the back of my hand.
The small project I am rolling around in my head is probably already made but I want to be able to create a chat app that has full E2E encryption with chat history/room deletion based on if the chat hasn’t been active for a few hours or whatever. Sort of encrypted chat but with the killswitch of a VPN. But I don’t know if it already existing matters as much as the experience I would get from just doing it.
Also thanks for the encouragement. Lately especially I have been beating myself up because I should really be further along than where I am.
Same. Been a hobby since I was 13 back in 1984. 39 years later, I’m still doing my hobby and being paid for it. I’ve made a career out of it. Although, I’ve done it so much I no longer do it as a hobby. It’s just too much. If I never saw another computer or programming language again for the rest of my life, I don’t think I’d mind. Hoping to retire within the decade.
Programming started as a hobby for me as a teenager. I always “liked computers” so thought I’d give it a try. I never intended to make a career out of it because it seemed so hard at first, but over a decade later, I’m decently accomplished in my field and get paid bank for it.
As a hobby, it’s fantastic. You can add in missing features to open source software you use (including the one I’m posting this to right now!). You can make your own little apps to fill niches you haven’t found an existing program for. You can automate boring stuff from other work. You can make mods for certain types of video games. Or if you’re really ambitious, you can even make a video game (but I gotta tell you, video games are hard and need much more than just programming – I do not recommend making video games as a goal unless you’ve thought out just what that involves).
If you make a career out of it later, cool. But even if you don’t, it’s a fun and rewarding hobby that costs almost nothing. As long as you have a computer (preferably not a mobile phone, though it’s technically possible to use a phone), you can program. Hardware doesn’t generally matter. Any cheap laptop works. All the tools you need have free and often open source ones you can use. You only need to pay for web hosting if you make a web tool and want to share it with others.
Programming is super useful as a scientist, especially with how easy it is to collect huge data sets these days.
This, entirely. And especially with how tech-averse most scientists are in my field (biology), it’s really easy to set yourself apart with just some basic programming knowledge
Taking a break from making a video game to read this thread lol, you are not wrong about that part! Or any part, actually, programming is awesome and even outside of using it for work it’s come in handy at least a little bit in every other hobby I’ve ever done. Up to and including knitting.
Programming is great.
On that note, kinda similar: Selfhost your services. There is a lot of cool software that you can run on your old computer, or on a more dedicated machine. A file storage, a media server, your very own AI server, the lost is endless.
I’d like to learn more about how to do this. I’ve got a home theater PC I’ve been using as a NAS via simple windows & samba file sharing, but I’d like to expand that to tools like Jellyfin and potentially something like writefreely or a podcasting platform for others to enjoy. I’ve looked it up cursorily but would appreciate if you could share additional resources my way in developing my own server here as well. (All good if you don’t have any to share, I can just google as well I suppose)
Sure I can talk a little. First things first: If you’re hosting on windows, you should probably use a different OS.
If you’re looking for something easily manageable, there is a couple of specifically made systems made for easy administration, True as comes to mind, but that’s not what I use.
If you’re more proficient, or ready to learn, you should really have a Linux distro on your server. I recommend Debian 12, but there is many valid choices.
When setting this kind of system up, the essential service that you want to run all the time is SSH, as that’s how you will configure and use the server. On Debian 12, you can just check a box in the installer and it will set up ssh for you.
After that, you don’t need a screen or keyboard on your server anymore, just go to any of your work stations and go
ssh user@(your server IP)
and boom you get a shell on your server.Okay, so now what? Think about what you want to host. Then just look up the documentation of your stuff. Learn Docker, as it will make hosting way easier. If you’re a friend of the visual click click interface, you’d probably want portainer.
With docker, you can host a ton of service without actually having to do a lot of configuring with them. Want to host a database? Marinade Want to host a media server? Plex
Okay, now you probably think that sounds way too complicated and are about to get demotivated. Now you see, the most important thing is to start. If you set it up yourself, your first server will be a mess, and that’s okay. You will scream at docker because it does weird things, you will scream because your Webserver finally connects with the database and you can play your music and you will break things to the point where you will just reinstall. It’s a great learning experience.
Some time later, you will just go “hey that service sounds cool”, copy some compose file, tweak it a bit, and boom you hosted a new service in a couple minutes.
About ressources: I mostly use just what’s provided by the stuff I want to use. A lot of my information that goes directly to the act of hosting comes from Readme files in git repositories or descriptions on docker hub. Besides that, search for things you encounter.
In general, I’ve found the first party documentation of the things I use in tech to be the most reliable, but that seems not for everyone.
There isn’t a magic central Ressource, besides your head when you remember doing something before. Selfhosting/Homelab communities on Reddit or now Lemmy can help with ideas.
Meanwhile my dumbass has been trying to be even remotely functional with programming. A degree and a software dev job later I still don’t think I really get it.
That happens to us all. My first year I felt useless. Once I started running projects and getting the opportunity to actually design our framework, I got a lot more confidence. The first project I ran I was not prepared for. But I improved in confidence so much while I did it.
Imposter syndrome affects us a lot. But even if you’re a shit dev, remember this: we literally do magic. Think about it for a moment. We write words in an esoteric script to convince electricity to create things that didn’t previously exist. Even the worst wizard is still a wizard. And the best part is that they can improve! There’s so many resources out there to improve your skills. It might not be for everyone, but I love my job.
I actually got my first real project a few weeks ago after over a year here and just completely screwed the pooch on it. I had like 2 methods written but no functionality after a week with it. I don’t know if I was asking the wrong questions or what but the product owner which was one of our senior devs really had me struggling.
I’m finishing up on a course this week that covers a few things that my school didn’t cover and then I am gonna start working on my own project to hopefully get my bearings straight. I don’t really have one in mind but I’m considering a messenger app or ye ole student registry type app that a lot of people start with.
Hey, we all start somewhere. I remember the first time I broke prod I was freaking out. I skipped lunch and a company event with my boss while we figured out what happened, and we had a few major customers who couldn’t use our software all morning.
Screwing up is what makes us devs in my opinion. When the shit hits the fan and the fire flares, that’s when we find out our real mettle. I like to joke that I moonlight as a fire fighter lol.
Keep at it and I promise you’ll get your confidence when you have that major breakthrough and fix a complicated problem with a simple solution.
If you’re gonna work on a personal project I suggest doing something you want that isn’t easily accessible. Something everything out there is subscription based or something. Do something fun that you will actually use. That helps you stay motivated.
Thankfully what I mostly do right now isn’t gonna break anything major but I have had a few after 5 calls from product owners because certain things in our software that is custom configured for each client might have been done wrong(it’s kind of common enough that it isn’t that big of a deal) and it’s mostly a quick fix and from lack of communication. Where I struggle with is that I am first to call for support issues and I still don’t quite know the software or the industry like the back of my hand.
The small project I am rolling around in my head is probably already made but I want to be able to create a chat app that has full E2E encryption with chat history/room deletion based on if the chat hasn’t been active for a few hours or whatever. Sort of encrypted chat but with the killswitch of a VPN. But I don’t know if it already existing matters as much as the experience I would get from just doing it.
Also thanks for the encouragement. Lately especially I have been beating myself up because I should really be further along than where I am.
There are many free (static) web hostings: GitHub Pages, Azure, Vercel, and so on.
On the rest of your comment, I agree
Same. Been a hobby since I was 13 back in 1984. 39 years later, I’m still doing my hobby and being paid for it. I’ve made a career out of it. Although, I’ve done it so much I no longer do it as a hobby. It’s just too much. If I never saw another computer or programming language again for the rest of my life, I don’t think I’d mind. Hoping to retire within the decade.
It’s pretty much how it started for me. It can work extremely well if your job can tie it in. But at that point expect it to stop being a hobby.