The path to becoming a core team member!

Okay, so the title is a little grabby on purpose.

To piggy back off of my inheretence post, imagine you received $150k and decided you were investing it in yourself. You quit your job, hole yourself up in your lonesome apartment and say “F” it, I am going to become an Elixir Core team member whether they like it or not!

The problem? You’re not an Elixir developer, just an enthusiast (maybe a jealous Rails developer?), but you’ve decided that you’ve got the money and no friends, so why not?

What path do you take to master your craft? Do you spend the money to live off of while you self study, or do you spend the money to hire a mentor? What other resources might you attempt if your ultimate end goal is not money, but to get on the Core development team. (Bribes, maybe?)

I’ve seen a lot of the “How should I learn Elixir?” posts before, but this is meant to be one on steroids since most of us don’t have that much money they want to invest in themselves.

Edit: I am not actually trying to join a core team, consider it more satirical.

2 Likes

I think that won’t work :wink:

I think I would be a selfish, un-noble and power hungry man to have such goals, and a better goal to have would be to contribute to the Elixir ecosystem in the best way I think I can.

That’s exactly the point of the post. It’s not for nobility or anyone else, but yourself. The narrative I was describing was intentionally selfish.

I think that won’t work :wink:

That’s what the bribes are for :smiley:

Like others, I do not care for this mental approach.

To become a core team member you should spend years becoming a top notch developer in general. On top of that you should submit top notch PRs to core and other well known libraries, especially if you can find elegant solutions to the more difficult features. You should engage positively with the larger Elixir community. And then you should wait until someone asks you to join the core team.

2 Likes

I just want to clarify, I also do not agree with this as an approach someone should take. This isn’t a “How to” thread, but more along the lines of “What would happen if…” I tried to choose a silly topic, but I see how it can come off more serious now.

If the Elixir Core team didn’t want you on their team (I was trying to make it obvious in this instance they absolutely would not) then there’s no changing that. I was more curious which way many of the engineers on this forum would take, no matter how malicious it may be.

Hopefully if someone wanted to invest in Elixir, they’d invest it into the ecosystem and not themselves.

I think it’s nice that you are dreaming big :wink:

Beneath the humour lies a good question - how do you become part of a core team?

Well, we could take a look at what might have happened previously, and if we look at the latest addition to the team, @michalmuskala, we can see…

  • He worked very hard on Ecto, Elixir, Jason and more, and has been sending PRs to Elixir and Erlang/OTP related projects since, I think, 2015.
  • He has often shown he is a very knowledgeable and talented developer not just by his commits, but his comments in discussions we’ve had.
  • He has been extremely helpful to members of the community, including on this very forum.
  • Whenever he has appeared in talks, interviews, or even his posts here, he’s alway been an exemplary member of the community; warm and welcoming, kind and considerate, accomplished and knowledgable.
  • He’s generally a very approachable and likeable person :blush:

There are probably lots more reasons, but I think the underlying one is that you are someone who is a huge asset to the team, and that the core team thinks it would be crazy not to have you join them (that’s how I took your “whether they like it or not!” comment btw :003:)

With regards to what the easiest method might be - I’m sure I’ve heard elsewhere (think DHH blogged or mentioned it) that one of the easiest ways to get on to a core team is via writing documentation. Don’t be fooled by it being the ‘easiest’ though, it is an extremely important role, because without good documentation the community cannot grow.

Hopefully others can comment further or correct me if they feel I am wrong.

10 Likes

In short, it’s better to use the money by hiring a very good dev who is going to do that in your stead until the goal is reached.

I worked with a team that had a developer before me basically “phone in” his entire job. He would take on small isolated features eagerly, but what they didn’t know was that he was paying dev tutor sites to essentially build the entire feature for him through social hacking (most companies would never have agreed if they understood what they were doing). He worked for three whole years before getting canned went he was sent to CA to work on an event on site and had NO clue what he was doing.

1 Like

You reminded me of this story: https://edition.cnn.com/2013/01/17/business/us-outsource-job-china/index.html

(If I were the employer I would have tried hiring the Chinese devs directly, as the code was supposedly really good.)

Oh my god… that’s hilarious. I wonder how many people are outsourcing development jobs to cheaper countries.

If I was Bob I would have opted for a remote job and maybe work several jobs.

Lot’s of people have already given their valuable input. By now you should probably see that becoming a core team member would require:

  • hard work
  • several years
  • being active around the community
  • having a visible legacy (libraries, etc)

You can’t tackle all these points at once. So I would derive an evolution arch, and focus on a skillset at a time:

  1. become a great developer (learn by videos, books, conferences… a mixed approach is usually the best)
  2. make several libraries and make sure at least 1 reaches top 300
  3. aim to be member of the month / year on at least 1 category (most topics creates, most replies, most likes received, etc)
  4. be patient. Ultimately, this is a marathon, not a sprint.

Unfortunately, I don’t think 1 year would be enough, but perhaps within that 1 year, working really hard, you could reach for point 1 and partially point 2 (create some libraries, even if not successful, will help people and increase your understanding).

Hope it helps.