this post was submitted on 12 Jul 2023
56 points (98.3% liked)

Asklemmy

43993 readers
1690 users here now

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_[email protected]~

founded 5 years ago
MODERATORS
 

I just found out about The Odin Project, a self-paced online course to learn full stack web development. There are two paths: one is Ruby on Rails and the other is full JavaScript and nodejs. I am leaning more towards Ruby but I wanted to get some more opinions from folks in the field.

top 30 comments
sorted by: hot top controversial new old
[–] [email protected] 20 points 1 year ago (1 children)

From what I can tell (maybe it's just jobs around me) employers are not really looking for ruby devs. Since you'll have to learn JavaScript anyway for the frontend I don't see a reason to go ruby beyond personal challenge.

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

Thank you! Then it sounds like the more sensible path is JavaScript and nodejs. While I like the idea of personal challenge, I am trying to learn how to do this so I can get out of the skullduggery of my present career as a senior desktop support engineer. I see myself more going towards DevOps with it. From the reading I did about DevOps, it seems that I would need at least some familiarity with a programing language. I am thinking if I could get a handle on JavaScript and python, I would be in pretty good shape, yes?

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

DevOps is usually more backend or full stack (though in bigger companies it's its own job entirely).

Python is always a good start in that regard. But honestly, the basics for programming are pretty much the same across languages (with a few exceptions). So you could go with JavaScript, C#, Python, ... whatever beginner friendly language you prefer.

This course gets you started extremely fast (Python, but in your browser, so no need to install anything): https://www.codecademy.com/learn/learn-python-3

Personally for a learning language and if you're using Windows I'd lean towards C# (With Visual Studio Community, it's free). It does give you a good idea of what data types, classes, etc. are and if you want to dive deeper you can transition to C++ afterwards to learn about memory management and pointers (but it's not a fun language to work with, in my personal opinion).

As for DevOps, you could do the first courses for Azure (https://learn.microsoft.com/en-us/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/) or AWS (https://skillbuilder.aws/?dt=sec&sec=fdt).

If you have any questions, feel free to ask :)

[–] [email protected] 2 points 1 year ago (1 children)

Hey! Thank you so much for taking the time to write such a detailed comment. Yes, I truly appreciate the advice. That much said, I am more interested in the free and open source side of computing. I am sick and tired of Microsoft and want to pivot away from them. I get enjoyment out of Linux and the command line; real satisfaction and fun. Nevertheless, I am going to check out the AWS stuff! 😺

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

Oh and I didn't answer your original question: If you have to select between Ruby and JavaScript, 100% go with the JavaScript course :)

Though DevOps and "free" or "open source" doesn't really mix. The moment you touch DevOps you'll either land at Amazon (AWS) or Azure (Microsoft) or Google (Google Cloud).

Sure, in theory you could set up your own servers with your own clusters, but then you're a system administrator and not DevOps.

Btw. Azure might be Microsoft, but they have plenty of Linux options on there, it's not a Windows shop at all.

[–] [email protected] 2 points 1 year ago (1 children)

Then I would go AWS all of the way and hopefully on Linux. And yes, the prevailing advice is JavaScript so I've been convinced. πŸ˜‚

[–] [email protected] 2 points 1 year ago (1 children)

Just be careful with AWS, you need a PhD in it to even approximate what hosting will cost you. The company I currently work for is all-in on Azure, which has been working out great so far. It's also much easier to see your monthly cost on there with budget alerts and so on.

Either way, DevOps is extremely expensive. For the money you pay for a single VM in the "cloud" you could get a really nice virtual server from your favorite hosting provider. But if you just want to learn for now, stick with the free offerings (and be very careful with them! Plenty of stories of someone getting a $1000 or even $15000 bill because they messed up along the line).

[–] [email protected] 1 points 1 year ago

Ah will do! And thank you for the warning!

[–] spitzzball 0 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago (1 children)

Just FYI: There's a little star icon you can click. It will put posts and comments in your profile under "Saved" :)

[–] spitzzball 0 points 1 year ago

I don’t see that for the memmy app

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

I'm currently a security and DevOps engineer.

DevOps is really just a fancy word for a sysadmin you can ask to code and that knows enough programming to work IAC tools.

If your goal is devOps, learning to code at all is of course the first step, but afterwards I would tend more towards learning the basics of CI/CD, python (because if you know python you can learn other languages quickly) and a healthy dose of cloud environment and IAC tools like terraform and Ansible.

[–] [email protected] 1 points 1 year ago

Yes, I've added Python, Terraform and Ansible to my personal learning plan. All of what you mentioned is sound advice.

[–] [email protected] 10 points 1 year ago (1 children)

You will not find much to do with Ruby. Node is more popular and more in demand. A lot companies and OSS project have o Node. Ruby is very niche.

[–] [email protected] 2 points 1 year ago (1 children)

I thought Ruby was still pretty relevant given that Mastodon is essentially coded in Ruby but I am coming to the same conclusion you are based on another person's comment.

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

Ruby is used in some large, older existing projects (e.g. GitLab, Redmine, Puppet) but my impression is that a lot of them do not have very much active development of the Ruby parts going on any more.

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

I am seriously curious here: Why has popularity of Ruby declined?

[–] [email protected] 12 points 1 year ago (1 children)

Probably a few reasons for this. I’m not a ruby dev so take this with a grain of salt.

Ruby doesn’t have a lot to offer beyond languages like Python or Go without its companion web development framework Rails. Ruby on Rails was good for its time (~2012 -> 2015 era was peak), but there are more mature, stable, and widely adopted frameworks available in other languages. RoR touted speed to develop as a feature, but you can do things plenty fast with the aforementioned languages too. On the flip side, rails apps are notoriously slow to boot. I think this became a problem with cloud native infrastructure. For example, Kubernetes likes to spin up services very quickly, and can be painful to work with if that’s not an option (experienced this with Java apps too for that matter). As self hosting on bare metal went by the wayside, so too did interest in developing new apps on rails, imho.

[–] [email protected] 2 points 1 year ago

Interesting! Thank you for the perspective. I am seeing a trend of smaller businesses that are bringing services back on premises and self-hosting but I have no interest in working for a small business. I've been there, done that, and it was hell.

[–] [email protected] 3 points 1 year ago

Yeah, which makes Ruby one of those languages like COBOL, you can make a lot of money if you're in that world, but I wouldn't ever recommend that someone should try and join that world, it's going to be too hard to get in to and it might not stick around for long. I know some people that make a lot of money working in Ruby, but that doesn't mean that anyone can, unlike javascript which will be valuable anywhere

[–] fubo 8 points 1 year ago

Are you brand new to programming? If so, it doesn't really matter what your first language is, so long as you don't stop with one.

[–] [email protected] 6 points 1 year ago

As a front-end developer with 10 years of experience, I'd suggest going with JavaScript. It's one language for both stacks, you can learn the core front and back end ideologies, and if you decide to go with a different language for back-end, it shouldn't take too much time to learn afterwards. From my experience it would be easier both to learn and potentially to get a job in the field.

[–] [email protected] 5 points 1 year ago

To add on to the other top comment right now, it's not like learning a spoken language. Once you know one, you can pick up another similar language without too much bother. Or should be able to, if you're not crap.

As for what employers want to see, that's something I'm less qualified to tell you.

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

FYI, you are able to edit titles on the fediverse in case you want to the missing word.

[–] [email protected] 1 points 1 year ago

Ha! I had no idea and made the correction. Thank you.

[–] Lauchs 3 points 1 year ago (1 children)

I didn't know about the Odin Project, looks super interesting so thanks!

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

You're welcome! I am going to work on it slowly but surely. It's going to be up to me to elevate myself out of my own miserable circumstances. The key to life improvement, I have always maintained, is lifelong education. Yeah, I ain't no spring chicken compared to the kids coming out with degrees but I can probably hang with them with some effort.

[–] [email protected] 1 points 1 year ago

Great attitude.

[–] DarkDreamer13 2 points 1 year ago (1 children)

I just started my TOP journey recently too! I was also wondering which path people recommended, so I'm glad to see someone else on Lemmy asked! I'm going to have consider a little harder as I was leaning towards Ruby on Rails path.

[–] [email protected] 1 points 1 year ago

I was kind of learning towards Ruby myself simply because the language syntax looks to me to be saner and easier. I realize I am up against quite a challenge developing skills and knowledge in the area of full stack development so I obviously I don't want things to be too challenging. However, the overwhelming advice I have been given is JavaScript is the way to go and Ruby is for niche stuff.