SunPoke04
Projects for a Beginner
So, I’ve just ended the “basics” in Elixir and I’d like to test myself, or something like that, with some basic project, so that I know that I can continue. Does anyone have any project ideas?
PS: Please nothing to do with web, it’s just not my cup of tea and not my area of “enjoyment”.
Most Liked
Sebb
Good advice. But beware: I did that with some python code that’s in production and has to stay there. And now I can’t stand working on the original, because the Elixir version is so much better. 
unsek
I saw your Reddit post and you shutting down a lot of the suggestions. Seems to be the same thing over here.
Also let me help you a little bit: specify what confuses you so that people can adjust accordingly.
Just saying
isn’t exactly helpful.
You’re also going to need to work on this otherwise it’ll be impossible for you to work with other people. If you don’t ever intend to work with others, I guess you could forget about what I said. But being able to read other people’s code is also a valuable skill that makes you a better programmer, so at least try to not give up after reading for 5 seconds.
Another thing: even Jose Valim (the guy that created the language you want to learn about) reads other people’s code. During Advent of Code he looked through someone else’s solution that used Nx, and he learned new things from it. He didn’t say, “ugh this is too hard, I give up! I don’t know how to read other people’s code and I don’t want to!”. He just read it and took the time to understand it. Even if you don’t want to work with others, being able to read and being comfortable with the process means you could improve.
So this
Erm…
I just don’t understand other people’s code and their logic around it… I just don’t understand it.
means you’re too impatient to go through the learning process, which is necessary as a programmer. You won’t always be spoonfed answers and you will have to find answers by going through existing codebases to learn how they implemented what you were looking for. You’re missing out on an essential process. If you don’t want to do this then maybe progressing past being a beginner programmer isn’t what you want? This doesn’t just apply for Elixir after all.
If you want to learn how you process code in your brain, you can read about “The Programmer’s Brain” (The Programmer's Brain). This teaches you how to read code, and how your brain processes it. If you don’t even want to read this, nobody can help you because you’re making it impossible to be helped.
What I got from this thread is that you found a lot of basic stuff difficult. So what good does aiming for a harder project do? You also admitted it in your Reddit post:
I’m kinda bad in Elixir, but I remember that it has a builtin date-time library…
And what can I do with the number package? I’m kinda lost, sorry.
I’m really bad when it comes to creativity.
Only you know what things you enjoy making, and only you know what level of understanding you have. Since you’re also picky, I don’t know how good asking others for suggestions would do. I could suggest to make a CLI-based text adventure style game (like a visual novel except without the visual stuff) but in your Reddit comment you didn’t know what a CLI was. If you say you’re not creative then just make something extremely uncreative like an inventory system you interact with through the CLI. If you don’t even want to learn to make CLI tools, web front-ends to your app, or even the mere interacting with a web API (doesn’t even mean you’re making a website), you’re making it impossible for you to do anything.
crispinb
You’re being very hard on yourself, but at the same time seem to be protecting yourself from any challenges. It’s a common paradox, but an unhelpful one. Each time you say “I’m bad at …” it would be worth probing that a bit rather than assuming there’s an absolute barrier in your way. Being “bad at reading other people’s code” isn’t a fixed characteristic like having blue eyes. It just means there’s a skill waiting for you to attain (by practising it).
Programming is hard enough as it is (for almost everyone). You’ll slow your own progress by retreating from every aspect of it you find difficult. Believe me, many other programmers find it much harder than it might seem from the outside. People vary in how sensitive they are to this, and in how open they are about expressing it, but it’s just a hard thing to do, and comprises many skills which have to be gained painstakingly and with much frustration.
It might help people here to help you if you reframe your situation a bit. Tell us a bit more about your experience to date. If you don’t like web stuff, what do you like? Is there anything you’d love to make? What do you find hard about the docs, specifically. Which docs? What Elixir did you cover (and where from)? I’m not suggesting you answer all those questions exactly. Just give people a bit more to go on - as I think you can see in this thread, they want to help
unsek
Also since people are recommending to watch Jose’s Advent of Code streams, recently I’ve been working on compiling the important bits of his streams into shorter videos. So you don’t have to manually scrub through hours of footage because I have spent countless hours doing just that for you.
I have done Day 1 to 6 so far, and I’m working on Day 8 right now.
I upload them here: https://www.youtube.com/channel/UCUa0_AVebTfZzyzXjfB4dJQ/featured. If anyone is interested, you could subscribe since I’ll be uploading his streams whenever I’m done with the editing.
The playlist is over here:
If you give it the time, Jose usually reveals what he’s thinking. So yeah, great to watch.
derek-zhou
For the first project in a new language, I will port some of my old ones. So you don’t need to worry about domain knowledge and can focus on the implementation techniques.







