Existential / Career advice

Elm as it stands is pretty niche, so keep on building cool stuff, pay attention to the jobs channel in slack and apply, and good luck.

Besides Elm, brushing up on fundamentals and standard tech like CSS, the DOM, and JavaScript, can only improve your chances of being hired.

As you say, the market self selects for people that already know the tech of the company, specially if there are many applicants. Also it can be hard to break in at the entry level, most companies don’t want to invest in juniors or worse don’t have the appropriate support structures.

In any case: Side projects, open source and internships help to some degree, until you find someone that bets on you. It will likely not be in Elm sadly.

Otherwise, you have a great attitude, keep it up, remain positive, and always be learning. Once you break in thing become exponentially easier!

1 Like

Companies have an existing stack, and they don’t want to spend time having to train you, if they simply can buy the skills on the market place.

Training will only happen if a company switches, and you are already employed. Don’t expect anything else these days, unless you are willing to work for an organisation that expects you to stay for decades (think government, or working on Cobol on an IBM mainframe).

It’s simply what it is. So you need to provide you have experience with a specific stack. You can start an open source project scratching an itch, to demonstrate you have what it takes. Or join a project you’re passionate about and start helping out. Providing pull requests, fixing merge issues, that kind of thing.

You can also volunteer at a charity for a while and that way gain skills. It will be self-driven, training someone is a lot of hard work, and the best techies have way to much work to do that.

Hello @Yoelis :slightly_smiling_face:

Maybe you could look for education organizations which accept adults / people undergoing a career change? Some of them are rather acknowledged in France and may have contacts with companies ready to onboard less-experienced people. The ones I can think of:

You could also reach your job center to get more information and possibly financial assistance for your training…

Regarding Elm, although it’s really awesome (:heart:), from my experience it’s still not so easy to sell in France even coming from experienced developers, so maybe you should be prepared to be using more mainstream technologies for some time before getting the opportunity to actually use more interesting ones…

But you can still gain Elm experience on side-projects, make it visible somehow, reach to other Elm enthusiasts on local meetups… Networking, a well-written resume and a bit of luck can open unexpected doors.

Also, out of curiosity, are you willing to learn front-end only or full-stack development?

Cheers :wave:

Thank you all for the reality check. I think I’ve been seduced by the legend of an industry struggling to find new developers.

I couldn’t understand why those advertisements focused on tools and solutions instead of problems and expected impacts. It’s a shame because if those advertisements have been framed differently my application would have been valuable (maybe). It looks like an XY problem, a pattern people try to avoid in tech communities. But it’s clearer now, it’s a market thing and probably those advertisements are written by management!

But what stack should I pick? I chose Elm in the first place because I wanted to avoid choice paralysis. And I have the feeling that the interests of the industry are slightly different from mine. If I listen to myself I’ll jump headfirst in any exotic language such as Rust, Elixir or Haskell just to be exposed to interesting ideas, discussed trade-offs (and avoid overwhelming information).
If I count the number of advertisements on Indeed.fr I should pick Php & Laravel or ruby & ruby on rails or Javascript & React & Meteor. I have no doubt any of those choices will make me a better programmer but are they the best investment I can make for my future? Does a given stack is related to a given type of company? If so which one should I pick to achieve my goals (learning as much as possible and develop rare skills, becoming proficient in functional programming)?

There is also another pattern I noticed in job advertisements listing non-mainstream technologies (such as Clojure, Ocaml, Elixir, Rust, Haskell): it require always senior developers. It’s also a shame because my Elm skills are probably quickly transferable to any of these technologies. Where are the junior gateway to work with those technologies?

@sebn yes I would like to be knowledgable on the full-stack! Thank you for the websites, the thing is I cannot afford a training currently but it is definitely one of my goal.

Thank you again for your valuable insights and the cheering!

1 Like

Hi :slight_smile:

I can see you are starving for knowledge :stuck_out_tongue: In France, the backend is mainly PHP so I would recommand to learn Symfony or Laravel.
For the front, I would recommand some Javascript/Typescript stuff. You will hardly have another stack especially for a first job.

Drop the Clojure, Ocaml, Elixir, Rust and Haskell for now as it is a niche. And sorry, Elm as well :frowning: They are definitely interesting but as you said, it is mainly for senior or at least for experienced developper.

You can still learn from your company and collegue while learning/perfecting your knowledge in Elm. There are a lot of developper communities in the main cities. For instance, in Bordeaux, there is Okiwi. I don’t know where you are but I’m sure you can find one association that will welcome you :slight_smile:
The goal of that is to talk about jobs and language opportunities where you are. The other goal may be to start teaching Elm. Organize a coding dojo to show to the world that Elm exists. That would be awesome and will help you build your network!

For myself, I did the opposite : my job showed me Elm and now, I am in love :smiley: and then I started to think about “teaching”

Anyway. About the job, you can find one but maybe not first the stack you want. But it is still a job and you can still learn from it. A lot of jobs that starts to be really interesting requires at least 2 or 5 years of working experience, whatever it was. It’s stupid. I know but it is the truth. After this period and by getting closer to other dev, you may find you way to the stack you want :stuck_out_tongue:

Cheers, bud, and good luck :slight_smile:

4 Likes

@Nicolas, thank you for your insights! By any chance, do you know an Okiwi equivalent in Marseille? If you don’t, I’ll drop Okiwi people a line to see if I can connect the dots anyway :slightly_smiling_face:

For the backend: it’s usually hard to find Drupal developers, so that’s a good one. Drupal has a huge front-end side too, so you get that with it.

Front-end: React.

But that’s what I would pick currently as possibly high in demand. Just look at the job listings.

I think it’s not true your skills will transfer quickly to another language / toolset. I’m highly experienced, and have used Elm quite a bit for over 2 years now, but I definitely cannot yet program in Elm like I could in other languages. I.e. I have no full mastery. There’s a lot to a toolset, and a lot of culture that one needs to learn, and you learn that by doing only, i.e. slowly.

1 Like

Hi Yoelis. Unfortunately for a Front-end job, more than very basic Javascript is required. Try to make some basic sites with Vue or Svelte (so hot right now…) or React. Knowing TypeScript is even better than JavaScript. Do you have a GitHub account?
Also here is a good resource (in French) to have a better idea of what it means to be a developer: https://www.jesuisundev.com/

I was in a very similar situation and got the first elm job I applied for. Do you know this list https://github.com/jah2488/elm-companies ? You can be a very interesting applicant for some companies. But you need to find them.

2 Likes

Speak with @tibastral - he has organized Elm Europe in France for the last 3 years, and also does recruitment. He knows Elm in France well.

Nothing wrong with keeping your eyes on a goal, but still learning widely. I don’t think I could have understood/appreciated Elm as well without the years of imperative/objective experience.

If you have time side contributing to open source or side projects are great - you will both learn as well as build things that connect you with a wider range of people and opportunities.

Be patient. You can forge whatever future you want, but it takes time. I disagree with anyone saying something is not possible - it’s unlikely maybe - but that’s not the same at all.

2 Likes

Hey,

To be concise :

I always feel sad hearing that people doing elm can’t find a way to earn a living doing elm and instead have to do some JS, and it’s painful to me, because it’s not fair, regarding the technology gap elm helped us to cross.

If I wanted to earn money by doing what I love (elm), I would first find people in the need for help programming their frontend (you can find them in frontend meetups, or product, or UX), and I would explain to them that I could do that for free (because I love to program in elm), and then say to them that to continue to do that, I would need to have the monetary resource to do it in the long run or else I wouldn’t be able to feed my family. And then my time scarcity would be also the way to make my hourly rate higher.

BUT right now, I don’t want to do any JS, because I don’t want to do that to my clients. Having something that is not enough maintainable for them is something I don’t feel confortable doing to them, even if they think they need it. It’s too painful.

@berend thank you for the Drupal suggestion!
@Laurent, yes here’s my portfolio, you’ll find a GitLab link for each project I want to showcase! Thank you for the Svelte suggestion, Sapper looks promising. And I’ll read this blog.
What is your opinion on Preact? I’m seduced by its small size as I want my apps to be environment-friendly and since it’s the same API than React I’ll have a strong argument in favor of the transferability of my skills. Svelte looks amazing but I guess it is partly because it triggers my hipster fiber and It doesn’t look adopted broadly enough so it can secure me my first job.

@Erkal_Selman Woah this a great resource, many thanks! What is your company?

@supermario thank you for the cheering, it means a lot! An open-source contribution is definitely on my roadmap. However, it looks like a huge step from my perspective. Do you know projects which are welcoming to beginner contribution?

@tibastral, thank you for those ideas. Actually I offered a company to build their website in Elm for free and I had the bus factor argument as an answer. People are pretty fucked-up.
However, I think you’re right. Freelancing might be a way to convince people to give me money for the positive impact I can make on their business regardless of the nature of the technical stack I use. I just hate running after customers alone…

Also, folks, I have great news! My first job interview for a position in a lab where I might be able to use Elm is scheduled next week. I’ll keep you posted. Wish me luck :grinning:

2 Likes

When people talk to me about the bus factor, I aknowledge the fear. It’s always tough for people to imagine that all the code they have could suddenly not be used anymore, because of a bus.
Then I explain that even if nobody is doing elm anymore, I’m very confident that the way elm code is written (pure fonctions) makes it easy to port to another language. Elm being a way to discover things like math is, more than some kind of big weird machine that nobody knows how it works.

Though I’m sad because it is usually challenging to explain that to people used to oop, because they usually don’t believe that code can be as pure as in elm. But I’m also confident, because it’s a matter of time. If I got my epiphany, I’m confident other people could have their too !

Did I make myself clear ?

I understand your perspective. It’s diplomatic. That said, the bus factor as an argument is heartless and based on doubtful beliefs and expectations. And when I hear that the only thing I want is to debunk them. But I understand it’s not the most strategic move from a business perspective.

Is the bus factor really a big thing when it comes to sell Elm to prospects in your experience?
If so, can’t we do something to prevent this argument as a community? Like a mutual for disabled Elm developers allowing us to secure prospects in saying : “Don’t worry, if I die or I’m severely harmed there will be another elm developer that will carry your project at my daily rate”.

There is a whole community of experienced elm developers… in my opinion the ‘bus factor’ is just an argument of unexperienced people who don’t know what adoption means. The whole development-thing and getting market shares is about adoption. The last twenty years by itself were a huge adoption of all sort of new technologies.
Often, not the ‘best’ technologies get adopted, but the technologies which were adopted the earliest (and advertised) in a broader sense. A lot of companies fear adoption. Adoption means spending money into an uncertainty which is a risk. That is reasonable. But not the ‘bus factor’.

I would suggest you find a primary language like python (it is great for scientific projects but also for all kind of projects) and treat elm as your secondary language (that would be your full stack expertise). Also choose your company and project wisely…

1 Like

@Yoelis I’ve never used Preact. It’s a lighter and faster React with the same terrible API, so not for me :wink:

I’m leaning toward python as I have some experience with it thanks to my scientific background.
In your opinion, what criteria should I consider to choose a company wisely?

@Laurent, what reasons make you state that react’s api is terrible? I’m Ok with learning anything but I don’t enjoy wrangling with tools…

1 Like

I think it depends mostly on your personal preferences, but I think it is important which domain of work you can identify the most with. I would say, think about what you want and which kind of project satisfies your view on ecology, human resources, and contribution to our world. Fair work conditions are the most important factor. Secondly company culture. Trust your belly. Ask the right questions beforehand. Think about the most important questions for yourself beforehand. There a lots of jobs for developers, but often they are too commercial and profit oriented. I think that often interferes with company culture and stable software development methodologies.

Also, I agree with your argument that most job listings are mostly about tech stacks. It is very fragmented. In interviews, better refuse to do coding challenges before any talk or getting to know each other. That’s a sign of bad company culture and more performance oriented. Never go into an interview and accept solving any weird riddles. That’s a sign of bad management.

Also you can ask yourself where you could integrate yourself the best, to get the most benefits for you and the company. Love what you do, and not do what you love…

I have the feeling just by your initial post, that you understood the details very well. Go ahead, trust your belly!

Also, have a look a this very good and fun (but serious) talk about programming: https://youtu.be/csyL9EC0S0c

2 Likes

Welcome to JavaScript world :wink: You have to take a few minutes sometimes to make an hello word app with a new tech if you want to stay relevant in front end dev. I tried React, Vue and Svelte. Now I can say Svelte syntax is simpler for me. Plus its bundle sizes are ridiculous compared to React or Vue (no runtime). Just like Windows is legacy malware compared to Linux, React is big in corporate world only because it was the first and backed by Facebook.

An interesting article on elm vs svelte: https://dev.to/lucamug/elm-vs-svelte-7k4

1 Like

Just for clarity, React wasn’t anywhere near first. The early days of web frameworks includes ones like ExtJS and MooTools, both around 2006. Then Angular and Ember showed up around 2010. React and Elm both showed up around 2012/2013. Vue and Svelte have been around for a few years now. There have also been many others in between, including jQuery, Backbone, Dojo, and many more.

Also, while Svelte looks like JS, it is technically a language and not just a framework.

If you’re looking for something Elm like structurally, React is the closest, and actually shares a similar early life as React started as a SML and then OCaml library before settling in JS. Redux, if you used it for state management, also attributes part of its design to Elm.

I can’t speak for France, but in the US React, Vue, and Angular are by for the most popular right now. I think it’d be worth it to learn 1 of them. If you were to find yourself at a company that’s interested in Elm there’s probably a chance that they have legacy code in some framework and it could be advantageous to be able to work on that and be able to read it if it needs porting to Elm.

1 Like