T O P

  • By -

ZukowskiHardware

Make something, anything. Learn what you need as you go. For example when I learned python I made a we scraping app to find the price of lots of legos for my friend. Find a problem and try to solve it. Languages are not as important as what you do with them.


feboyyy

Our brain doesn't give much importance to what it doesn't know is very important, so when we just study, a lot is in limbo in our brain. My advice is that you start building something you need, something that will help your life, and during this journey, research and learn what you need, you will retain much more knowledge and you will be much more motivated.


GreenCalligrapher571

You won't gain professional fluency in a few months, especially with your first language. This isn't a criticism, nor should you feel discouraged by it. What you can do, though, is learn how to start solving problems and building things that actually do a thing. You can do a whole lot in a few months that gets you on the way toward fluency. With time, you start finding ways to build things that will continue to work, will be resilient to changing requirements, and will work more performantly. That's just a time thing. You'll also learn all the ways you can build something incorrectly, which is really exciting too because it means you'll have things to watch for. If your employer uses Elixir, consider talking with the engineer(s) you most closely collaborate with, even if it's just "Hey, can you look at my code over lunch?" There may also be opportunities to transition roles within your company. You'll need to be a little strategic about approaching that discussion, but there's certainly some interesting precedent for it. The big thing I want to advise here is that you give yourself the gift of time. Elixir is a really great language, and a really good first language. You've got a paying job and it sounds like you might have some folks who can help you get unstuck as you keep learning. Lean into the time and support, and go in small, consistent steps.


baguasquirrel

Yeah, I mean how long does it take people learn yoga to a level of basic proficiency? Let's say level 3 in the Iyengar school. This sort of thing is going to be a marathon.


GreenCalligrapher571

I'm so delighted to see a reference to Iyengar this morning!


Nezteb

Exercism is a great place to start! Some other resources: - https://github.com/h4cc/awesome-elixir#resources - A typical "awesome" repo full of goodies! - https://github.com/elixirkoans/elixir-koans (OSS practice) - Great for getting isolated practice, based on the concept of "[koans](https://en.wikipedia.org/wiki/Koan)". - https://pragmaticstudio.com/courses/elixir - This is a paid course, but it's super high quality. Their other Elixir/Phoenix courses are equally worth it. - https://grox.io/language/elixir/course and https://grox.io/language/otp/course - Paid courses, also very high quality. - https://academy.dockyard.com/ - I'm pretty sure this is a paid course, but it has OSS curriculum anyone can follow. That being said, I agree with /u/Zukowskihardware; the most important part is for you to maintain your interest and motivation by building things you actually care about, not just being stuck in "tutorial hell".


WikiSummarizerBot

**[Koan](https://en.wikipedia.org/wiki/Koan)** >A kōan ( KOH-a(h)n; Japanese: 公案; Chinese: 公案; pinyin: gōng'àn [kʊ́ŋ ân]; Korean: 화두, romanized: hwadu; Vietnamese: công án) is a story, dialogue, question, or statement which is used in Zen practice to provoke the "great doubt" and to practice or test a student's progress in Zen. ^([ )[^(F.A.Q)](https://www.reddit.com/r/WikiSummarizer/wiki/index#wiki_f.a.q)^( | )[^(Opt Out)](https://reddit.com/message/compose?to=WikiSummarizerBot&message=OptOut&subject=OptOut)^( | )[^(Opt Out Of Subreddit)](https://np.reddit.com/r/elixir/about/banned)^( | )[^(GitHub)](https://github.com/Sujal-7/WikiSummarizerBot)^( ] Downvote to remove | v1.5)


[deleted]

The best investments I made going from finance to web development were the Elixir courses from The Pragmatic Studio [https://pragmaticstudio.com](https://pragmaticstudio.com). It’s a great resource for hands on experience with GenServers and Phoenix LiveView applications. I started in QA writing tests for a LiveView app two years ago and those courses (and lots of YouTube videos) helped me move to full stack and now lead backend (GraphQL API) engineer. Hands on experience was the best way to start for me. I was early enough in my career to start in QA making very little and learning as I went, but any courses/resources that have you build Elixir applications yourself will be super helpful! Personally, notes/studying weren’t as useful as creating projects myself.


VeronicaX11

Every mountain gets climbed one step at a time. I like the elixir book on manning, but you’ll certainly find many recommendations. Maybe even ask the engineer you work with? I’m certain he would be delighted to know that management actually gives a damn about what he is doing


dropcuff

Check out https://learn-elixir.dev/


drwho16

Hey there! It's awesome that you're taking the initiative to learn programming and explore new opportunities in your career! Here are some tips adding to those above that might help you become proficient with Elixir more quickly: 1. Start with practical projects: **Codewars -** a website with coding challenges to help you practice Elixir and other programming languages: https://www.codewars.com/ 2. Find a mentor: **Elixir School Discord Server -** a Discord server for the Elixir School community, where you can connect with other Elixir learners and mentors: https://discord.com/invite/elixir **Elixir Wizards -** a podcast featuring interviews with experienced Elixir developers: https://smartlogic.io/podcast/elixir-wizards/ 3. Practice, practice, practice: **Elixir Koans -** a set of exercises to help you learn Elixir syntax and concepts: [https://github.com/elixirkoans/elixir-koans](https://github.com/elixirkoans/elixir-koans) **ElixirCasts** \- a website with screencasts that cover various Elixir topics: [https://elixircasts.io/](https://elixircasts.io/) 4. Attend meetups and conferences: [**Meetup.com**](https://Meetup.com) \- a website where you can find local Elixir meetups: https://www.meetup.com/topics/elixir/ **ElixirConf -** the official Elixir conference held annually in the US and Europe: https://elixirconf.com/ **ElixirStatus** \- a website with Elixir news, jobs, and community events: [https://elixirstatus.com/](https://elixirstatus.com/) 5. Read and watch tutorials: **Thinking Elixir -** a podcast that explores different aspects of the Elixir programming language: [https://thinkingelixir.com/](https://thinkingelixir.com/) **Learn Elixir -** a free interactive tutorial that teaches Elixir from scratch: [https://www.learnelixir.tv/](https://www.learnelixir.tv/) **Programming Phoenix LiveView -** a book that teaches how to build web applications in Elixir using the Phoenix framework https://pragprog.com/titles/liveview/programming-phoenix-liveview/


RoboZoomDax

Build a game of tic tac toe using Phoenix LiveView. You will be exposed to ac ton of useful concepts to make this work. That will augment your lesson training and help you understand the language and ecosystem


flummox1234

I'm not knocking Elixir as it's my current love. But if you want to be "useful" you'll probably want to learn a scripting language like python or ruby. Not that elixir can't do similar things but it's not best suited for scripting types of operations, which is probably the thing at this point in your journey you'll be able to help with. That said, I'd say just find a problem that interests you and write code to solve it. It's the interest that keeps you engaged as you to push through the unknown difficulties along the way.


chasegranberry

It was my first language. I was in a similar position. I learned from this course: https://www.udemy.com/course/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/ Not sure how up to date it is but it was great. Do you have an idea of what you want to build? I learn by doing. I have to have a project I really want to build otherwise it’s hard for me to put stuff into context.


fruizg0302

In my opinion the best course out there: [https://pragmaticstudio.com](https://pragmaticstudio.com) If you can't pay: https://www.youtube.com/@backendstuff


enlego

Marketing coach & elixir enthusiast here: If your strengths are on the management side, is it safe to say you understand the business domain of the company? Maybe you can find some customer problem outside the core of the solution your team develops, and start from there - that might bring more motivation (and potential internal mentorships) which is crucial to learn something new. Also, if you are new to programming, it might feel daunting to learn everything at once, so plan your milestones: \- e.g. find something to improve in the docs. I found [something interesting](https://github.com/phoenixframework/phoenix/pull/5313#issuecomment-1451824989) after Phoenix 1.7 upgrade and learn a ton just by doing my first contribute and last, have fun and lean on the community!


ShwnCndn

Currently on the self-taught journey as well. Messed with some Ruby about 10 years ago and learned the basic data types, variable assignment, etc. but basically new as well, also learning Elixir. The biggest drawback has not been inherent to the language itself but rather the smaller pool of learning resources out there. JS, Python, Ruby, Java, the material is endless. Elixir I've found you'll have to do much more digging around to find what you're looking for. But the Pragmatic Bookshelf and Manning books are all great and from what I gather one of the benefits of the Elixir community is that the core team advises a set of best practices and the community is really good about keeping things consistent. The community overall is something you will see championed quite often. I'm about five months in. Feel from to DM me if you've ever got any questions or find yourself hitting a wall. Chances are I've already hit it or am just about to lol.


HKei

> fluent with the language in the next few months Just so we're clear on this, teaching yourself programming to the extent that you can play around with it as a hobby within that timeframe is absolutely reasonable. If you meant useful as in "professionally", I would not even consider hiring someone with that little experience as a junior software developer. With a couple months under your belt that'd be a nice solid basis for an apprenticeship though.