this post was submitted on 17 Nov 2024
23 points (89.7% liked)

Selfhosted

40702 readers
368 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Hello self hosters, I was wondering if you could fact check my training plan?

I work in Tech but haven't done any hands on programming work since school (visual basic). This was very basic, I built a calculator program.

I've got an idea for an app and think this is a good learning opportunity.

My goals are:

  1. Learn programming skills that I can use for personal projects in the future i.e. making apps, using programs fron github, hosting containers to run Plex etc.

  2. Learn skills that can help in my current job (I work with Engineers but don't do any actual coding).

I am planning to learn the following, more or less, in order:

  • Docker (in the past I've had a lot of trouble trying to code in Virtual Box).
  • Linux command line
  • JavaScript boot camp. Good for coding a single app that will work across, browser IOS and Android.

*Typescript - extension of JS.

*SQL - for apps that require a query to a database

*node.js - for REST APIs and cloud server infrastructure

I may also learn these languages/ methods as I need them:

*Git *Terraform

I appreciate this will be a lot of work and take a long time to master, however I think it is worth the investment from a hobby and professional perspective.

Any recommendations or comments on the above?

Any pointers where I've gone wrong or tips/ideas are greatly appreciated!

top 10 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 1 month ago (1 children)

Just my emotional reaction: I am amateurishly selfhosting for more than ten years with only basic linux knowledge. This training is probably more focused on pros and general web development than self hosting. In my imaginary perfect world self hosting would be a common skillset taught in a secondary school.

[–] anonymous111 3 points 1 month ago

Ahh yes, I should maybe have posted this somewhere else now I think about it.

For me, I find the barriers to entry are quite high but if you can get a good training vid that covers the building blocks then it's easy to learn more.

School would be a good place for that initial learning.

[–] [email protected] 6 points 1 month ago (1 children)

Seems solid enough of an outline. My only note is I highly recommend git first, you don’t need to be an expert or anything but if you understand the basics and use it you will never lose a line of code and be able to lookup historical changes to find issues faster. Then when ready you can stand up a simple git server like gitea to host those repos and collaborate.

[–] [email protected] 4 points 1 month ago (1 children)

Before Linux command line?

[–] [email protected] 3 points 1 month ago (1 children)

Yea, I did. When you start modifying configs and writing shell scripts git can help you track those as well.

[–] anonymous111 1 points 1 month ago

Thanks for that. I'll move this up the list.

[–] [email protected] 6 points 1 month ago (1 children)

Seems fine, but you’re sorta hitting two fields at once. Application development (coding) is a different skill set from devops/deployment (docker). I’d stay pretty surface level on docker and the CLI for now and focus on building your app. You’ll know when you need to go off and learn those things.

[–] anonymous111 1 points 1 month ago

I'll do just that. Thanks for the reply!

[–] [email protected] 1 points 1 month ago (1 children)

Decent list and plan overall. Since you enjoy self hosting and seem systems oriented, I'd add Python on the curriculum somewhere. That would round things out nicely for you.

[–] anonymous111 1 points 1 month ago

I've been flip flopping between JavaScript vs python and landed on JavaScript as it has some libraries I'd like to experiment with.

I've written a few lines of python code but just basic training stuff. Hopefully there are some transferable skills from learning JavaScript.

Thank you for the reply.