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.
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.
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
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…
@Yoelis I’ve never used Preact. It’s a lighter and faster React with the same terrible API, so not for me
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…
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
An interesting article on elm vs svelte: https://dev.to/lucamug/elm-vs-svelte-7k4
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.
This well known article from Patio11 could be helpful. It might take a bit of a different perspective than you might be coming from, but I’m sure would be useful in trying to find a job and understanding how hiring managers think:
I work at diesdas.digital
We don’t have little number of big projects, but big number of small ones. This makes it easy to try out new technologies.
Something mentioned in this that struck a chord with me. To get your CV to the right person it often has to go through the hands of several intermediaries - a recruitment agent, an HR person, a program manager and so on. Often these people are “not technical”, so how do they evaluate your CV? I think they look at the job description, which lists a technology stack and look for the relevant buzzwords, acronyms and so on on your CV - No React experience, goes straight into the bin. They might get a lot of CVs and just randomly chuck 90% of them in the bin, who knows.
I find I get more interviews if I tailor my CV for each job I apply for. If there is a job description, I will make sure I list all the things it mentions on my CV, highlight them even. I will echo back the language they use “looking for a good communicator within engineering teams” - I put “I am a good communicator within engineering teams” and so on. Its verging on BS but I find if you do that your CV is more likely to make it through to the right person, possibly a software team lead who will evaluate you with a more technical eye - Hey this person is interested in Elm, that’s pretty cool.
So I think always cover off what you know they are after first - then put down the stuff that excites you (like Elm) as a secondary.
BTW, I also think that trick of echoing back the language they use works in interviews too. If I arrived at an interview in a business suit and was interviewed by 2 guys in t-shirts, I would take my jacket off and roll up my sleaves to try and be a bit more casual - like them.
@eimfach & @nathanbraun many thanks for the insights and the great article. Given those new ideas, my trouble came probably from the fear of becoming a commodity in an industry I don’t understand. Wish it will help me to avoid the obvious traps and live a fulfilling professional life
@wolfadex history really help when it comes to make choice. Thank you for this overview. Redux is indeed very appealing. And combined with Immutable.js I may even get closer from Elm!
I will echo back the language they use “looking for a good communicator within engineering teams” - I put “I am a good communicator within engineering teams”
@rupert, this made me laugh a lot! But don’t you fear a backfire from this little arrangement with reality? Although, it can’t be worse than not having the interview at all… I may give it a try if people keep ignoring my CV
@rupert is 100% right with
in an interview. This is mostly about general human communication. Mirroring, but not copying, a person’s posture and such can show a more natural level of empathy with that person. My favorite interviews are the ones where we’re having a conversation and learning about each other, not where I’m being grilled on technical details. The interview is your opportunity to see if you want to work with them as well.
I think the part in the article starting with:
“Read ad. Send in resume. Go to job interview. Receive offer.” is the exception, not the typical case, for getting employment
is absolutely true. Just makes it very tough to get noticed. For example, we just hired a nanny on care.com for the summer and within 3 days I had more (many very good!) applicants than I could keep track of. I’m sure it’s the same with these publicly posted front end positions.
Your portfolio looks good to me (though I don’t understand French). I’m sure you have the skills to do well at a position like this. Again, might just involve taking more of the perspective of a hiring manager (they care much more about increasing revenues or decreasing costs and how you can help them do that than they do about what you want to work on or giving you feedback) and also understanding that personal connections — like the ones you’re making here in the Elm community — can go along way towards finding a job that’s a good fit and standing out from the crowd.
For me, this is the normal way of finding a job, perhaps only once did it not work that way. Perhaps this is because I work as a contractor and generally find things through recruitment agents. The agents also do a lot of the filtering so the end clients only get presented with a smaller number of high quality candidates.
What I tend to do is send my CV to an agent, then I phone them right away on the pretext that I am just checking my CV came to their email since attachments sometimes get spam/virus filtered out unintentionaly. Really I am phoning to promote myself, find out about the job, and if its something right for me that I am the candidate that they are going to put forward. So I would insert at step 3, chatting up the agent.