Contexts - a barrier too high for newbies?

For newbies everything can be a barrier.
Especially if you’re a programming newbie too. That was my case and I remember my first days with Phoenix/Elixir when after reading some guides and documentation I tried to start my project. I did know HTML and CSS and some jQuery but I still remember that I just didn’t know if I should put my code on an .exs or an .ex file. And exactly on which file.
The good thing was that I asked for help and as much as my questions were strange, I always got the help that I needed. Very fast.
Then, every here and then I felt the same with other issues. I looked to other languages and frameworks, experimented a little bit with them and as long as I could copy some code I was good. When I had to think for myself, then…I always got back to Elixir/Phoenix because not only I always got the help I needed as I realised more and more that the mindset behind it was really powerful. I always realised that they were more or at least as correct as on others languages an frameworks.
And so on.
These last months, with some simple apps running in production I, again, though: contexts…I’ll need to refactor my code AND MY MIND. I delayed it, but then when I started refactoring the code, not only I realised that CONTEXTS ARE BETTER than what existed but I ALSO LEARNED A FEW MORE things along the way.
These are the efforts that make us better. That force us to grow. Nobody likes to change when they don’t feel in the mood to change. I don’t. I try to delay it and avoid it. I go looking for alternatives that are less pailful.
Only to realise that to get to the top and really understand every line of my code I need to go through this.
Of course I have some colleagues that keep copying and pasting code that they find googling. They produce code, not software. They can’t change that code after 1 year.
I hate to comment my code. But I love it after some months.
In the end a newbie must decide: are contexts a barrier too high to be a good software developer? If yes, then copy paste code is what you’ll get. No pain but not really a lot of gain.
If you don’t believe, (as a newbie) please try to do the same solid, fast, scalable and fault-tolerant web app using Go. I tried 3 times and gave up. Try do it using Rust. I tried 2 times and gave up. Try do it using Node/Javascript. I tried, I though I did only to realise that they were not maintainable nor scalable…Try do it with Swift and you’ll realise that Windows is not an option.
Of course there are other languages and frameworks. But I’m focusing only on relatively new languages. And only as a newbie that is not a programming PRO. Because I believe that really pros will find problems either way and they are used to solve them.

PS: It’s very important to trust the ones that were able to continuously evolve Elixir/Phoenix in the right direction. Especially when we don’t have a better idea to solve the issues that were visible and are being solved using contexts. So for me, contexts WILL IMPROVE as everything else and if in a few years we’ll have to change…,then will do!

6 Likes