Computer Science Engineer on Functional-Structural Plant Models in Montpellier (01/05 - 31/12/2024)

:star2:We are recruiting someone specialized in scientific computing to work on multi-scale modelling of plants and vegetation :herb: in pure Julia, mainly:

:date:Application Deadline: 24/04.
Master’s degree required.

More information here: 52423 (umontpellier.fr)

Sorry, it’s in French, but English-speaking people are welcome of course!

7 Likes

I have a friend who might be interested in this and is doing work similar to this. Is it for a full year or could an applicant function more as an intern?

Interesting… how does it compare with Capsis? We need to interface our bioeconomic model with it, but capsis is written in Java and it makes very difficult to have a hard coupling with it…

The contract is only for 7 months starting in May and ending in December, and a Master’s degree (or equivalent) is required. Is your friend looking for an internship? If she/he is, she/he can contact me, and we’ll see if we can work something out.

Well Capsis is also developed in my lab so we have some things in common, but also a lot that differ.

A common thing is that it provides a standard workflow for implementing new models.

The main difference is that in PlantSimEngine, you provide a list of models (yours or those from the community), and the package automatically builds the dependency graph for you. This seems quite simple but it is very powerful, because it allows you to prototype and test hypothesis very quickly by switching sub-models on the fly, without having to change anything in the code. The difference in other models is that if you change a sub-model (say a model for photosynthesis), you have to manage the inputs and outputs in the larger code-base by hand (e.g. the coupling with an energy balance and a stomatal conductance model), often also by adding an option with an if/else by hand. A second thing is that it allows you to reduce the degree of freedom in your model by forcing some parts to observations (i.e. switch off parts of your model).

A second difference is that it is multiscale if you need it. This means you can simulate processes at any scale, and the package handles most of the complexities for you. For example, one of our use cases is carbon allocation in the plant. Depending on the plant, the first hypothesis is that all assimilate from photosynthesis go through a common pull and are then redistributed to the organs for growth depending on their demand. A second hypothesis is that organs close to the leaf are served first. The first hypothesis is simulated at the plant scale, the second at a finer scale (phytomer, growth unit or axis). With PlantSimEngine you can test both hypotheses very quickly like so (pseudo-code):

  • Common pull:
mapping = Dict(
    "Plant" => (
        MultiScaleModel(
            model=CommonPullCAllocationModel([parameters goes here...]),
            mapping=[
                :carbon_assimilation => ["Leaf"],
                :carbon_demand => ["Leaf", "Internode"],
                :carbon_allocation => ["Leaf", "Internode"]
            ],
        ),
    ),
    "Internode" => (
        CDemandModel(...),
    ),
    "Leaf" => (
        PhotosynthesisModel(...),
        CDemandModel(...),
    ),
)
  • Spatialized pull (e.g. phytomer):
mapping = Dict(
    "Phytomer" => (
            SpatializedCAllocationModel([parameters goes here...]), 
            # multiscale variables are managed by the model directly by traversing the multiscale tree graph
        ),
    ),
    "Internode" => (
        CDemandModel(...),
    ),
    "Leaf" => (
        PhotosynthesisModel(...),
        CDemandModel(...),
    ),
)

And PlantSimEngine will resolve the dependency graph of your sub-models for you, and return the full model ready for simulation. It also manages the parallelization of the models for you.

2 Likes

I couldn’t quite figure it out — is it an on-site or remote position?

It is on-site, with 2 days per week allowed for working from home. The job requires you to work on-site, but you are allowed to work from home for two days per week.

1 Like

Sans vouloir être désagréable, le salaire mensuel que tu proposes c’est à peine plus qu’un smic. Un dev lambda médiocre gagne plus en 3 jours (le tjm c’est minimum 600 euros et pour une tâche aussi spécialisée proposer en dessous de 800 tu prends le risque de trouver personne). Même si le salaire ne fait pas tout, tu comprends que ton offre est complètement déconnectée de la réalité à part pour un stage, pour quelqu’un de désespéré. Bref vu que je doute que tu trouves quelqu’un et que c’est pour un service public, si vous êtes coincé sur votre projet parce que vous n’avez pas les moyens de recruter, je veux bien y jeter un œil gratuitement. Je ferai ce que je peux pour vous aider, j´habite pas loin de Montpellier, mais je monte actuellement une startup donc je n’ai pas beaucoup de temps à vous consacrer. Bon courage.

Yes I know the salary is low compared to what people can expect in the private sector. But I did everything I could to get the highest possible salary for the position. I have no further control over that as Universities in France are public and have to follow the common salary grid. This is a recurring problem for us when recruiting for CS jobs. Fortunately, there are people motivated by using their skills for research (especially when it comes to agronomy/ecology) who don’t focus solely on salary expectations (we have 3 candidates right now). To be clear, I am not judging anyone’s choices, as everyone chooses their own path; I’m just glad we can still find people considering this constraint. And to be fair, I would be very happy to get a better salary ^^.

For the record, 2175€ net of taxes is higher than the median salary in France (2150€) and similar to my own (and I’ve been a researcher for 6 years after my PhD).

Thank you for proposing your help, this is an open-source project and help is more than welcome!

3 Likes

Je suis vraiment étonné qu’il y ait des candidats parce que c’est le salaire d’un manoeuvre sans qualification aujourd’hui en france, et si tu prends un ouvrier qualifié comme un routier par ex. qui a 3 mois de formation (titre pro) c’est largement plus de 3000 euros net impots déduits en sachant qu’il a en plus un régime de retraite avantageux… les 2 métiers il faut compter 3 mois en moyenne pour recruter quelqu’un et ce n’est pas plus en tension que les ingénieurs.

Dans notre métier il faut se former en permanence:
1- ça a un coût (rien qu’en livres t’es pas loin de 200 euros par mois, si tu participes à quelques évènements c’est au moins le double)
2- dès que tu travailles tu perds du temps pour apprendre (c’est pas sur le tas qu’on apprend) donc tu as tendance à régresser et bruler du capital que tu as investi (désolé pour le mot “capital” mais on est une économie du savoir et le savoir est du capital)

Pour 2200 euros net c’est simple, tu n’as pas les moyens d’avoir un logement autour de Montpellier/Nîmes (c’est minimum 800 euros un studio), tu as donc des frais de déplacement qui viennent s’ajouter aux disons 300 euros de frais de formation mensuels… Et donc en fait ça te coute de l’argent d’aller travailler.

Ce qui se passe c’est que les gens arrêtent de se former et le niveau baisse. On a un vrai problème et ça me choque que personne ne le réalise.

Bref bonne continuation.

Comme je te le dis plus haut, je n’ai pas le choix, je ne suis pas l’employeur et donc je ne peux pas choisir la grille salariale. J’ai déjà fait beaucoup d’efforts pour garantir cette plage salariale.

Je ne sais pas où tu as trouvé tes chiffres de 3000€ net pour un chauffeur, mais ça me semble élevé (voir ici: Salaire Chauffeur Routier - Salaire Moyen (2024) | Jobted). Par contre j’entends que certains ouvriers qualifiés soient bien payés, et c’est tant mieux comme ça.

On trouve toujours des candidats, la plupart sont des personnes qui cherchent un métier de passion (ou avec du sens) et avec plus de liberté que dans le privé. Je ne dis pas que l’on devrait garder ces salaires, mais comme je le dis plus haut, je ne fais pas la grille, et je n’ai aucun contrôle dessus, c’est l’état qui choisi. Et je fais partie de ces personnes puisque j’ai un salaire similaire.

Pour l’aspect formation, c’est bien sûr inclus avec le poste. C’est bien l’avantage de travailler dans le monde académique, on peut accéder à beaucoup de formations, à des conférences, et on achète bien sûr les livres dont on a besoin. Donc je dirais que dans le monde académique, le niveau est censé augmenter, pas baisser (tant qu’il y a motivation bien sûr).

Et pour le logement, nous sommes beaucoup au laboratoire à habiter Montpellier même avec un salaire similaire. Ensuite ton employeur participe à 50% de ton transport, mais ça n’a plus d’importance puisque maintenant c’est gratuit pour les métropolitains.

Ayant dit ça, je suis bien entendu complètement d’accord que les salaires dans la recherche publique sont dérisoires, et de nombreuses personnes se battent pour changer ça mais sans grands changements malheureusement.

1 Like

J’étais routier il y a quelques semaines encore, le salaire net c’est 2200 euros pour 200 heures et tu as 800 à 1600 euros de primes par mois. J’étais en moyenne à 3000 euros net, mes collègues avec 5 ans d’expérience à 3600 euros net avec les primes (non imposables en plus)
C’est un métier où en plus tu fais ce que tu veux, tu n’as pas de compte à rendre…

J’ai voyagé pendant 4 ans à mon retour je n’avais pas envie de rempiler sur du logiciel donc j’ai passé mes permis…
Sans expérience, juste le fait de mettre mon cv sur pole emploi en 30 minutes j’ai eu 4 appels pour du travail. Ça te donne une idée de la demande.

Je comprends tout à fait ton problème, j’avais trouvé une collaboratrice particulièrement talentueuse mais je n’avais pas les moyens de la payer décemment (il fallait compter 20k par mois) donc j’ai laissé tombé les recrutements pour le moment.

Je souhaitais simplement exprimer mon soutien, car dans ton métier comme le mien une partie de notre salaire est utilisé pour des besoins professionnels et ce n’est pas pris en compte.

Beaucoup d’entreprises pensent qu’un développeur en vaut un autre et qu’ils sont remplaçables comme des pièces mécaniques, ils cherchent donc à minimiser les coûts, sauf que le résulat est catastrophique.
Dernier exemple en date, j’avais un camion neuf, j’ai fait 20km il est tombé en panne. En 1 mois j’ai trouvé près d’une centaines de bug dessus. Il fallait le rebooter régulièrement… et ça vaut qd même plus de 120k euros, c’est pas un petit investissement. J’ai regardé chez renault truck, ils embauchent … des stagiaires. Tu peux embaucher 100 stagiaires ils ne feront pas le travail d’un seul développeur.

Donc excuse moi mais ça me choque, j’ai fait mes premières lignes de code il y a 35 ans et depuis je n’ai pas cessé de me former, donc je sais ce que ça coûte et comme l’argent est taboo en France, j’essaie quand je peux de dire les choses (en français pour pas perturber ton offre non plus) .
Je ne juge personne nous faisons comme nous pouvons et c’est déjà super que t’arrives à trouver des financements pour un projet open source. Je te souhaite le meilleur pour ton projet qui à l’air en plus très utiles.

1 Like