Fl4m3Ph03n1x

Fl4m3Ph03n1x

Background

As time goes by and Elixir grows (and my life gets more chaotic) I am having increasing difficulty keeping up to date with the Elixir ecosystem.

Often time I discover new tools, but what used to take me a couple of hours to grasp now takes likely several weeks due to the complexity. New frameworks are starting to pop up and Elixir is venturing into AI (it has been for a while now) and in a day with so many hours, I am starting to find it very difficult to keep up to date with everything.

To add to my existential dread, there are also other communities doing a very good job of spreading Elixir, like podcasts, Devtalk and even SO has seen increased Elixir activity (since last time I checked).

To even add more to this, I am also trying to expand my knowledge horizontally by reading books on transversal topics such as DDD on my own free time (which is also increasingly limited).

Discussion

So I would like to inquiry the community on some topics:

  • how do you keep up to date with everything?
  • do you pick and choose what to invest in? what algorithm do you use to discard new events?
  • what routine of “keep up to date” do you have?
  • do you “learn on the job” or do you complement with something extra?
  • how do you keep yourself motivated to keep pushing/learning?

Showing Posts 1 to 10

c4710n

c4710n

I often experience information anxiety. Later, I overcame it. I think I have the right to speak on these topics.

I think I don’t have to do that. There are countless pieces of information in the world; I only need to care about what I want to care about.

All the media in the world are vying for our attention—don’t let them succeed.

Follow my heart, learn what I want to learn. I’m best at being yourself. Be myself, then I’ll on the right road. (This sounds a bit like a motivational cliché, haha. But it’s true.)

I use RSS and X to follow what I want to follow:

And, check above source every week. In some spare moments, I occasionally browse forums, trying to discover something new.

Don’t become an information addict. The things I need to know will always reach me through some channel.

Both.

I like thinking and creating, and find satisfaction in them. Dopamine drives me forward.

If I feel tired and lack passion, take a break. Don’t let myself burn out. The most important thing is to live happily and healthily.


When I get upset by the so-called civilized life of the world, I look up at the sky and tell myself: “When an eagle soars in the sky, it enjoys all the freedom and glory.”

12
Post #1
Fl4m3Ph03n1x

Fl4m3Ph03n1x OP

This i exactly my issue. Elixir community has a lot of things, and I want to keep my knowledge sharp around the community because I perceive this as being a fundamental trait not just of my employment status, but also of my work pro-efficiency.

Why would a company hire me, of all people, if some folk next door knows how to user more tools than I do?

This is the driving force of dread. I am always one step away from being out-competed. My solution to that is to be more knowledgeable than everyone else, which does come at an increasingly high cost.

Do you often find yourself learning things that add little value to your job security / position? If so, do you care? How do you justify that to yourself?

Do you channel this motivation into side projects? What is the output and how to your expose it?

ds604

ds604

The substantive part of what you need to learn is the domain or problem that the tools apply to. Tools change, but problems are a lot more stable. (Maybe there’s more depth, though, so actually understanding things can take more time.) If you learn linear algebra, you can use or read about nx, numpy, R, matlab, and they’ll all make sense since they’re saying the same stuff. If you learn about graphics, you can pick up different graphics and video libraries in different ecosystems, and go backwards to learn the language that they’re a part of. (Or suggest substantive improvements where something is missing or needs work compared to some other ecosystem.)

Eiji

Eiji

Elixir community become indeed very big, but you could always find that stuff you really want to use are not yet done, are in development (like no stable 1.0.0 release) or prepared for other use cases (like scenic which is primarily dedicated to embedded systems). Yeah, this community is still too small. Come on and chat with me - I’m lonely here - wait what? :joy:

Following 4 dev forums (elixir, erlang, devtalk and rust), subscribing dozens of RSS channels and reading thousands of documentation pages. :crazy_face:

Looking for inspiration. One time I give a try “this” and the other time something else. I’m discarding RSS news manually. I’m just reading/listening//watching if I’m interested in title or in mood for something. :thinking:

Wait, consume, repeat :infinity:

The main tech stack you are gonna be using in next job is likely a requirement to know and understand before applying, so this does not makes a sense for me. That’s said people learn all the time - bit by bit. I found many times that I would solve same problems from past differently, but I’m not blaming myself as I remember what I felt when choosing something and I have a rule to live without real regrets. :smiling_imp:

I’m doing what I like. If I’m not touching dev-related stuff for some time then I quickly become really bored. That’s not only a way for a well-paid job, but also hobby. From time to time I’m writing a scraper to automate something or CSS style when I think that some page could look better for my use cases. When I describe it this way it looks like I’m addicted to it. :nerd_face:

Devs secret: 5 minutes on toilet fixes all problems. :toilet:

Unlike how it was many years ago now most job offers are terrible. You are supposed to be a so-called “Platform Engineer”, so in short you would do exactly everything and they would pay you a “standard” backend salary. You can ignore such offers without any worry. Nobody is expert in everything. You would be surprised when you find what “obvious things” you and other people have no idea about. :exploding_head:

If you find a job that matches a profile then just apply. Be honest saying what you can and listen carefully to what the other side needs. If both sides are satisfied that’s called a deal. I would repeat my stories as much as people need. One time I was rejected, because I had no idea about hockey rules - that’s something you can learn easily. A good reaction is "Sorry that my parents were not Canada's citizens, lol" (of course in polite words) and bad reaction is "Ehh, I should learn x th sport rule as maybe this way I would have that job …". :bulb:

If you have food and money savings you don’t need to talk with lazy monkeys. When they would become hungry come back with a banana and a smile of same size. :banana:

Work as a business - just met requirements with a declared quality and cost. As said the most important tech stack are usually required at recruitment process (of course it could be a junior role with paid learning and that’s completely different).

The common rule is:

cheap, fast and good - choose 2 of them

If they want you asap and pay small money then propose half-time work or just don’t care. It’s for sure cruel, but it works like that everywhere and in all directions. If you want something good asap then you have to pay well and so on … Think like that … how much are you willing to pay someone that want’s job asap without any knowledge or experience? How would you compare such salary to the senior or expert one? :straight_ruler:

For me it depends. One time I share a dev_joy and other time I help others. As wrote already if you want to create something then do that for things that you would use as well. People are lazy, so you are gonna be easily motivated to work hard to make a life easier. :slight_smile:

NobbZ

NobbZ

I eventually stoped caring.

There is just too much everywhere. There will eventually come up an occasion where you find it because you need it.

There is no algorithm. I use what I think I need, and I prefer what I have used in the past.

I can’t learn without using. Those contrived examples everywhere don’t help me, as they usually don’t cover edge cases (which I have the tendency to always hit with full speed).

As I usually learn by using at a project, finishing the project is also what keeps me learning.

dimitarvp

dimitarvp

Things are much better than you think.

It’s very often not about what you know and that you have to know everything, it’s about cultivating the mindset of being a problem solver and not being afraid of new and unknown problems because the only guarantee in programming is that you absolutely will stumble upon those and will have to learn the solutions as you go.

That’s one of the top reasons why we are paid a lot. If I were to become a car mechanic I can bet a hefty sum that I can learn 99% of every potential repair edge case in 2 years of interning at a popular and busy place.

Programming will never give you that; you have to keep your eyes open as you solve problems and finding the common threads among them. That’s why formal computer science education is actually important.

Be at ease. You can still explore – I still do even after 22 years of programming – but you have to be curious and not going full throttle and burning yourself out because that’s going to hit you VERY HARD at one point; you’ll hate the job and you’ll even start hating programming as a hobby. From then on it’s game over for you if you can’t take a 2-3 years of vacation and go on a literal and metaphorical self-discovery journey which, you guessed it, most people cannot financially afford.

dimitarvp

dimitarvp

Same. Some years ago I found myself wanting to spend more time with my wife… and she was literally 2m away from me almost every day and at almost every hour, and I was still not spending enough time with her. Then I said “frak that” and started aggressively cutting time on the computer that I am not being paid for (or having fun with). It was extremely difficult and I lapsed back and forth many times but nowadays I am mostly with a purpose when I am on the computer, be it a paid job or actually investing in my own infrastructure at home – or just working on a hobby project. (Or chatting with people I enjoy communicating with.)

I started being very strict about time-boxing computer activities. If I find myself just poking in the forum (this or another) for more than 1h, I just step away from the computer.

derek-zhou

derek-zhou

Let’s say there are 2 candidates:

  • A accomplished more using less tools,
  • B accomplished less using more tools.

Guess who is more likely to be hired?

mindok

mindok

Really nice summary @derek-zhou! And the answer depends on whether the hiring manager is a corporate empire-builder, or a lean and mean startup founder! And so what and how you learn (and do) depends on who you want as a boss.

To echo what others have said, the ability to frame problems in a language common to technologists and business folk, identify potential solutions (taking into account trade-offs related to stability, cost, maintainability etc) and implement pragmatic solutions never goes out of fashion. Technology details are fast-moving. Critical thinking and good judgement are evergreen. Focus on the latter, particularly as you grow older, have less time and become more cynical.

One more thing… Even though the bleeding edge of Elixir is moving rapidly with Nx, LiveBook, etc etc, we are blessed with an incredibly stable and capable core, from the first days of Erlang, that is well suited to solving a huge range of problems. I think that’s why there are so many grey-hairs here - we’re fed up with learning new things all the time to solve the same class of problem.

c4710n

c4710n

What you are competing on is not who knows more tools, but who creates more business value (profits - costs).

IMO, one competitive developer should:

  • abstract the business, make it run stably and create real business value. (increase profits)
  • at the same time, ensure development and maintenance at a lower cost. (reduce costs)
  • Do you often find yourself learning things that add little value to your job security / position? Yes.
  • If so, do you care? I don’t care. Because my current job is just a temporary point in my life. I shouldn’t plan my future life solely around it. Otherwise, when I lose my job, I’ll lose my anchor in life.
  • How do you justify that to yourself? Plan for a greater goal, such as becoming an solo entrepreneur, and learn what is necessary to achieve it.

I try to think my job is just a transition before achieving my goal. Of course, I still need to give my best effort to work, but if others are not satisfied with my work, that’s their problem. If they are dissatisfied enough to want to fire me, fine, pay me my severance and I’ll leave immediately.

  • Do you channel this motivation into side projects? Yes
  • What is the output and how to your expose it? My Elixir related outputs are located at cozy-elixir. I just mentioned it on my personal website and GitHub page. I think promoting it everywhere can be annoying.

Additionally, I can share with you what my life has been like after overcoming information anxiety:

  • try to create real small business projects for solving my own problems, and it might be helpful to others. It prevent myself to fall into the tutorial trap (Everything I do remains at the demo stage.)
  • learn computer science. I am a self-taught developer, so my knowledge is somewhat lacking in these areas. And I have gradually grown averse to chasing trends, I just want to solve problems well enough. I find it very helpful to learn about things that haven’t changed much since their inception. (Computer science is the essence, while tools are just the appearance.)

These two activities occupy a lot of my spare time, leaving little room for anything else to distract me.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
GES233
I’m posting this in response to Jose’s recent tweet (Cr. link) : People are sleeping on Elixir for a coding harness: Hot-code swappi...
New
marciol
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
durvia
Anyone running long-lived stateful processes on BEAM? We’re building an AI agent runtime and would love to compare notes. We’re a small ...
New
nseaSeb
I’ve just put together a small POC exploring PDF inspection from Elixir/Phoenix: The idea is pretty simple: drag & drop a PDF in a...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews