How would you approach elixir ecosystem from programming newbie perspective?

Hi,
I finished computer science 3.5 years long studies. I have been working as a software tester since 3 years. Did some automated tests in company wrapper on Selenium. Studies was hard for me didn’t fully excel in any of the topic, never even written web app on my own. When I hear topics like design patterns, RESTful APIs, and other terms it of course rings a bell. I want to become different person - read books, exercise, and use my brain more. So maybe there is a chance that I will shape my future in programing since I know a little bit of industry, and it’s nice challenge for brain. I struggle with procrastination. I know we should cultivate our childish interest of the world, so here come my main question:
I want to get the ball rolling, start learning, devote time to completing courses and building my own things, many times I got overwhelm e.g algorithms and data structures, and other hard topics like authentication, authorization, in which yes you need some amount of understanding but, It was hard for me to move on without understanding, the feeling of not being able to comprehend things is very frustrating for me.
I want to start learning doing stuff in area of let’s say web-applications.
Do you advice starting with elixir and associated framework, or I will hurt myself, I should follow well know languages and software stacks like java + angular react vue, or python.
I am asking also from a view like maybe I will need to learn java more (I know sth, to write automated tests) it will be okay, to follow traditional route then?
Fack that I even ask this question is proving my low self-esteem, and you could thing that i should give it up, but i don’t see my future in diffrent kinds of jobs, it is good because it will challange my brain to thing, as long as i will stay healthy. It is not my natural inclination but i like learning new things. Thanks for advice

2 Likes

Hi there! Congrats on completing your studies.

I don’t have any advice when it comes to suggesting what might be precisely the right thing that you should absolutely do, but I can say that there are probably a lot of folk here that will struggle with this from time to time - procrastination and imposter syndrome are terms you’ll always see floating around, and that’s also from people who might have had a successful career in the industry over many years.

If you’re not sure about which language (or more) you would like to invest your time in, you could check out something like Exercism (https://exercism.org/), which offers access to plenty of different languages and exercise tracks. Maybe something will click for you? Maybe it will inspire you to think of your own project you’d like to try?

3 Likes

For me Elixir was a lot harder to learn than languages like Ruby or Python. I think the main reason is that Elixir has less mindshare for beginners.

A lot of Elixir devs come from other languages and bring many years of experience with them. I think it shows in discussions, documentation, videos, blog posts, tutorials & even the libraries.

With Ruby/Rails or Python/Django you’ll often find ready-made solutions that can help you get started and they can hide a lot of complexities. You might pay for this magic later down the road when it comes to maintenance, but I don’t think this is a negative tradeoff for beginners.

With Elixir/Phoenix often times you have to code your own solutions and as a beginner this additional complexity + boilerplate code can be hard - and I would argue that it takes some painful experience with magic/maintenance to really appreciate it.

It’s certainly possible to learn Elixir as the first language and there are great books & courses available and this forum is full of patient & hepful people, so if you feel comfortable here you can give Elixir a try and I’m sure you’ll find support. Personally I think grasping a lot of fundamentals like REST, MVC apps, integrating an API, the pros & cons of an ORM etc. can be easier in more popular languages that have more content aimed at beginners available.

2 Likes

This little nugget you shared is where you already stand out from the crowd. Keep that curious fire burning, and you’ll accumulate interesting and useful knowledge in no time. But also be patient. There is no need to rush. Do what you can, with what you have, where you are. You don’t have to compare with anyone. Let others inspire you, don’t get discouraged or overwhelmed.

It sounds like you might benefit from reading a bit about a “growth mindset” (vs. a “fixed mindset”). Google it, if this triggers you. Ignore it otherwise.

Glad you’re here. Others will undoubtedly fill in the Elixir-related questions you have…

1 Like

Maybe I am wrong, but I suppose that you are not quite sure what exactly you should learn and my only advice is that you should learn what interests you the most.

The human brain learns with ease when there is a strong emotional connection. Don’t try to learn something to achieve a goal, but invest time in researching what you really want to understand deep down. Of course, this may turn out to have little financial reward, but learning something just because you’ll earn some money with it usually doesn’t make you happy.

If you want to know why Elixir is such a joy for many, take a first look. Is the language apealing to you? Then take a closer look. If you’re surprised by Phoenix Liveview’s responsiveness, learn it (there are some not so expensive courses on that subject which really explain well why the things work that you can acomplish with not much own code). Then you won’t have a problem with it taking a while. Maybe it will help to try what gave you the urge to explore as a child.

2 Likes

Thanks for your answers. They mean a lot probably not only for me :slight_smile: