Question:
Comment un développeur de logiciel peut-il mieux se porter volontaire pour aider la recherche sur le cancer infantile?
Arthur
2019-12-01 10:47:10 UTC
view on stackexchange narkive permalink

J'ai 30 ans d'expérience professionnelle en tant qu'ingénieur logiciel et j'en suis à un stade de ma carrière où je peux faire du bénévolat beaucoup de temps. J'ai aidé plusieurs organisations de lutte contre le cancer infantile au fil des ans, mais j'ai surtout été amené à collecter des fonds.

À ce stade de ma vie, je voudrais aider avec un lien plus étroit avec l'aspect de la recherche soit pour trouver un remède, de meilleurs médicaments / essais, ou similaire. Je n'ai pas d'expérience dans les sciences, la bioinformatique, etc. mais je suis prêt à apprendre. Où trouver le mieux des chercheurs dans le domaine du cancer infantile (dont je sais très bien qu'il existe de nombreux cancers différents) qui pourraient chercher l'aide d'un développeur de logiciels?

Les commentaires ne sont pas destinés à une discussion approfondie;cette conversation a été [déplacée vers le chat] (https://chat.stackexchange.com/rooms/101707/discussion-on-question-by-arthur-how-can-a-software-developer-best-volunteer-to).
Dix réponses:
StrongBad
2019-12-01 22:46:21 UTC
view on stackexchange narkive permalink

Je travaille dans un domaine biomédical et la plupart d’entre nous sont de très mauvais programmeurs. Nous avons tendance à être plus intéressés par le fonctionnement de l'algorithme back-end sous-jacent que de nous soucier du front-end, des commentaires, de la documentation, du contrôle de version, des tests unitaires, etc.

Ma suggestion serait de regarder à travers les pages Web d'une université voisine et voyez si vous pouvez identifier quelqu'un qui fait quelque chose que vous jugez intéressant, de préférence quelque chose de calcul. Envoyez ensuite un e-mail au PI expliquant vos compétences et votre expérience et que vous aimeriez vous porter volontaire pour aider les gens avec leur programmation et que vous pourriez aider les gens à passer au niveau suivant d'utilisation d'outils comme le contrôle de version et travailler avec eux sur la documentation et le front-end.

C'est une bonne idée. Je vous remercie.
Le PO peut être encore plus utile comme mentor pour les étudiants programmeurs que de faire la programmation directement.
@PatriciaShanahan Oui et non, il y a un compromis.Avoir quelqu'un avec son expérience très bien pourrait conduire à une programmation étudiante de meilleure qualité, mais en même temps, mon expérience avec l'enseignement de la programmation aux scientifiques a été que la grande majorité d'entre eux n'y passeront jamais assez de temps à distance (car cela signifie moins de tempsfaire la science qu'ils voulaient faire en premier lieu) pour devenir compétent avec les différents aspects de l'ingénierie logicielle (pas seulement l'apprentissage d'une langue, mais la maintenance logicielle, la gestion de projet, la conception d'interfaces utilisateur, etc.).
@anjama: Il y a aussi un problème d'état d'esprit.Les biologistes veulent surtout les * résultats * de l'exécution de leur code.Il faut un état d'esprit du programmeur pour se soucier de la qualité du code pour elle-même.(J'ai travaillé pendant quelques années en tant qu'administrateur système et programmeur pour un groupe de recherche en phylogénétique dans une université; j'ai vu du code d'optimisation d'arbres et de gestion des séquences d'ADN écrit par des biologistes. Au lieu d'options de ligne de commande, vous redirigez souvent depuis unfichier d'entrée qui pilote aveuglément les menus de certains outils!)
Erwan
2019-12-01 20:29:28 UTC
view on stackexchange narkive permalink

Récemment, il y a eu une tendance à impliquer des non-experts dans des projets de Science citoyenne. L'idée est de permettre aux gens de participer à des projets de recherche de différentes manières, par exemple en aidant à collecter ou à annoter des données. Vous pouvez trouver un tel projet directement en recherchant des projets de science citoyenne sur le sujet, ou au moins trouver des contacts universitaires de projets antérieurs qui pourraient vous donner des suggestions. Une recherche rapide sur «recherche citoyenne sur le cancer» peut donner quelques indications, par exemple:

Il existe également quelques bonnes plates-formes génériques de «science citoyenne» où l'on peut trouver projets qu'ils aiment, par exemple Zooniverse.

Je vous remercie. Très intéressant.
@Arthur Je vais brancher sans vergogne [BOINC] (https://github.com/BOINC/boinc) qui est une plate-forme logicielle de science citoyenne pour l'informatique distribuée.
Comme d'habitude avec les organismes de bienfaisance contre le cancer ... c'est du bruit.Les liens ne mènent nulle part et il n'y a nulle part où contribuer à un projet existant ... car il n'y en a pas: https://www.cancerresearchuk.org/get-involved/citizen-science/the-projects
AUCUN de ces liens ne donne lieu à une contribution, ce ne sont que des pages de marketing disant "nous l'avons fait avec vos dons ... donnez-nous plus !!!"
FoldIl combat essentiellement le cancer et les scripts d'utilisateurs font toute la différence.Si OP devenait compétent à LUA, beaucoup de gens seraient aidés.
Syfer Polski
2019-12-02 00:03:32 UTC
view on stackexchange narkive permalink

En fonction de la mesure dans laquelle vous avez besoin que votre bénévolat soit reconnu (afin d'obtenir des jours dédiés de votre lieu de travail par exemple), vous pouvez envisager d'optimiser les logiciels biomédicaux existants. De nombreux projets de logiciels de recherche sont open source, mais la qualité de leurs logiciels varie énormément. Les optimisations pourraient accélérer considérablement les recherches futures.

Malheureusement, je n'ai pas de suggestions concrètes, mais la recherche sur Github pour le cancer donne 12 000 résultats, il y en a donc forcément quelques-uns Les programmes qui sont beaucoup utilisés mais qui n'ont pas beaucoup d'informaticiens se concentrent sur leurs performances et leur facilité d'utilisation. Il semble que les réseaux de neurones et Python soient très populaires, mais certains des résultats les plus populaires ne sont pas présentés sous forme de modules. Les améliorations du packaging et l'ajout de CI automatisé pourraient améliorer la vitesse de ces projets et faciliter leur utilisation par d'autres chercheurs.

Je vous remercie.J'aime ta suggestion.Comme vous le savez probablement, Github contient tellement de projets et beaucoup qui ne sont pas actifs et qui n'ont pas été touchés depuis des années.Vous ne connaissez pas non plus l'expertise derrière cela ou son utilité juste à la surface.Comme je n'ai aucune expérience des logiciels biomédicaux, j'espère apprendre des autres.Néanmoins, l'idée est bonne et je dois parcourir github pour voir s'il y a des projets actifs qui ont du sens pour moi.
Un autre terme à rechercher sur Github serait "TCGA" (The Cancer Genome Atlas).Les deux principaux résultats actuels, maftools et tcgabiolinks, sont tous deux des projets très valables avec un développement en cours et des problèmes en retard.Le cinquième est Bioconductor Genomic Data Commons, qui est largement utilisé dans la recherche sur le cancer et la bioinformatique en général.En fait, vous pourriez envisager de rejoindre l'équipe principale de Bioconductor si vous avez suffisamment de temps.
Par exemple, voici un projet de recherche de pointe au Sloan Kettering Cancer Center https://github.com/tomkelly-mskcc/Spombe-Replication-Dynamics
Jimmy Breck-McKye
2019-12-02 05:29:33 UTC
view on stackexchange narkive permalink

Vous pourriez envisager de gagner à donner . C'est-à-dire en utilisant vos compétences en génie logiciel dans un domaine très lucratif, de sorte que vous puissiez ensuite financer la recherche elle-même ou soutenir les jeunes chercheurs qui ont besoin de financement pour terminer, par exemple. Programmes de doctorat.

Cela pourrait être une bonne idée si vous vivez dans une ville / un pays où les ingénieurs en logiciel gagnent plusieurs fois un salaire de chercheur ou une allocation de doctorat. Dans ce scénario, vous pourriez trouver qu'il est en fait plus «rentable» pour vous de travailler vos heures libres et de donner les bénéfices à une organisation caritative (efficace) que de faire des travaux d'ingénierie logicielle «auxiliaires» par vous-même.

Si vous choisissez cette voie, cependant, assurez-vous de valider que vous financez la bonne fondation, que vous gérez efficacement et avec une structure de gouvernance compétente. Vérifiez également si votre état autorise une certaine forme d '"aide aux dons", dans laquelle les impôts sur vos revenus peuvent essentiellement être transférés aux bénéficiaires de votre association caritative.

Je vous remercie.J'ai pensé à cela et je me suis rendu compte que ce que vous dites est probablement vrai, mais une des raisons pour lesquelles je fais cela est franchement, quelque peu égoïste.Je suis intéressé à avoir le plaisir d'être pratique et d'avoir l'impression de contribuer, d'apprendre beaucoup plus et d'être engagé avec quelque chose qui me passionne (comme la plupart d'entre nous).J'ai contribué à plusieurs organismes de bienfaisance liés au cancer au fil des ans, mais je veux vraiment me sentir plus impliqué dans la solution.Néanmoins, c'est un bon point et il faudra peut-être y revenir.
Jimmy, je sais que vous n’avez pas voulu dire les choses de cette façon, mais sachez qu’un développeur de logiciels peut lire votre réponse comme signifiant «la meilleure façon d’aider est de rester à l’écart et de payer les autres pour faire le travail», ce qui n’est pas le casréponse la plus réconfortante pour quelqu'un qui cherche des moyens d'utiliser * ses * compétences pour aider.
Marko
2019-12-02 12:47:01 UTC
view on stackexchange narkive permalink

Je vois de nombreux commentaires et réponses disant que l'intelligence artificielle fonctionne bien sur le diagnostic du cancer, etc.

À partir d'une recherche rapide sur Internet, je trouve que la recherche sur le cancer semble manquer d'une infrastructure solide pour ses données. Cela est dû à diverses raisons.

En premier lieu, il ne semble pas avoir de cadre ontologique largement accepté (bien qu'il y ait des tentatives pour créer une telle chose, par exemple https: //www.ncbi.nlm.nih .gov / pmc / articles / PMC6069766 / - remarquez à quel point c'est récent!) comparez cela avec la recherche génétique, qui a un cadre ontologique qui permet une intégration relativement indolore de bases de données séparées qui permet de meilleures métastudes, un élément crucial élément (et sous-estimé) de la recherche universitaire. Une des pistes est donc d'aider à développer une ontologie internationale cohérente pour la recherche sur le cancer.

Deuxièmement, les chercheurs universitaires ne sont pas des spécialistes des bases de données. Ils n'apprennent souvent que le strict minimum requis pour mener à bien leurs recherches. Ils ont soit besoin d'un spécialiste dédié aux bases de données pour maintenir leur base de données, soit de quelqu'un pour les éduquer aux meilleures pratiques de programmation de bases de données.

Comme d'autres réponses l'ont mentionné, le code académique manque souvent de bonnes pratiques de programmation, y compris le manque de contrôle de version, la séparation des préoccupations, etc., cela signifie qu'il est tout à fait possible d'intégrer n'importe quelle équipe de recherche sur le cancer une sorte de chef de projet qui peut transformer les chercheurs du statut de personnes qui écrivent du «code qui fonctionne» à des chercheurs qui écrivent un code de qualité maintenable et lisible à long terme, et également réutilisable par d'autres.

Azor Ahai -- he him
2019-12-02 01:42:35 UTC
view on stackexchange narkive permalink

Je suppose que je devrais clarifier ce que j'ai écrit dans un bref commentaire:

Ne pas paraître impoli, mais ne pas se porter volontaire pour travailler gratuitement dans la recherche, cela dévalorise la contribution des personnes domaine, et le milieu universitaire déjà mal rémunéré et chargé de main-d’œuvre gratuite extraite des étudiants.

Ce que j'imaginais à partir de votre message était de trouver un groupe de recherche dans votre université locale et de passer 10 à 15 heures par semaine, chaque semaine, à travailler uniquement avec eux. C'est ce que je suggère est faux. Si c'est ce que vous voulez faire (a) mes arguments tiennent; et (b) vous devriez quand même être rémunéré pour votre travail dans ce cas.

Bien que ce que Dan a écrit (voir ci-dessous) soit quelque peu vrai, je ferais remarquer que peut-être quelqu'un avec moins d'expérience, mais pas la pour fournir leur travail gratuitement, vous perdriez une opportunité de travailler avec un groupe pour lequel vous seriez bénévole. Mais tout cela est de toute façon hypothétique et ne vaut pas la peine de discuter de détails hypothétiques.

Les compétences que vous possédez en tant qu'ingénieur logiciel avec de nombreuses années d'expérience sont pratiquement inexistantes dans le monde universitaire, et le nombre de personnes comme vous qui proposent ce type de compétences est effectivement nul. Ainsi, l'effet de dévaluation auquel AzorAhai fait référence n'est pas un sujet de préoccupation dans cette situation spécifique.

Je ne suis pas non plus convaincu que chaque groupe de recherche a besoin d'un ingénieur logiciel, mais comme je l'ai dit, je ne travaille pas dans la recherche sur le cancer.

Ce que je voulais dire par:

Je suggérerais de vous embaucher en tant qu'entrepreneur ou de chercher un poste dans une grande organisation où vos compétences peuvent être utilisées

était sans aucun doute que certains laboratoires (ou entreprises) travaillent sur des logiciels qui ont besoin de quelqu'un de votre capacité. Vous pouvez postuler pour travailler pour eux, ou, comme une autre réponse le suggère, pour travailler sur des référentiels open source (car c'est évidemment tout l'intérêt). En fait, je pense que c'est la meilleure suggestion dans ce fil de discussion.

Les départements organisent souvent des conférences, vous pouvez contacter et faire du bénévolat pour parler de choses comme les bonnes pratiques de développement, l'open source, le contrôle des révisions, etc. Vous pouvez essayer de rechercher "Lunch & Learns".

J'apprécie énormément tous les commentaires.Je n'ai même jamais pensé à l'argument que vous aviez à l'origine.D'après mon expérience, franchement, de nombreux développeurs sont bien surpayés.Comme je n'ai aucune expérience dans le domaine médical, j'ai besoin d'en apprendre beaucoup et je supposais que personne ne me prendrait pour aider à moins que ce soit gratuit.Outre l'idée open-source, j'aime beaucoup l'idée de contacter les départements universitaires locaux pour voir comment je peux aider.Je vis dans la région de DC, donc je suppose que ce sera assez facile.Si quelqu'un connaît un contact spécifique dans le domaine de la recherche sur le cancer infantile, je serais intéressé.
@Arthur D'après mon expérience, les développeurs sont [simplement sous-compétents] (https://xkcd.com/2030/), étant donné l'importance de leur travail.(La distribution des compétences est bimodale.) Essayez de durcir le code contre les futurs développeurs particulièrement idiots (par exemple avec des tests unitaires obligatoires au moment de la compilation) si vous vous retrouvez sur un projet de grande envergure, par opposition à quelque chose qui va simplement dans un article.
Est-il pratique d'être payé pour votre travail, mais ensuite de rembourser?Ou agir comme une petite agence de financement qui paie pour votre propre travail?Je sais que cela peut sembler idiot, mais cela permet à toutes les parties de garder une trace de la valeur que vous fournissez sans rien coûter à l'organisation.
@Dancrumb Une fois payé, faites ce que vous voulez.Je ne sais pas comment vous pourriez agir en tant que votre propre agence de financement, et il est peu probable que vous puissiez faire un don directement à un seul groupe de chercheurs, mais vous devrez contacter le service des dons de l'université en question pour demander.
Cet argument n'a aucun sens.Je n'ai jamais vu un projet ou une entreprise qui était si surchargé de personnel qu'ils refuseraient volontiers un programmeur libre.Pourquoi un bénévole retirerait-il un poste rémunéré?Pourquoi le groupe de recherche ne pourrait-il pas simplement créer un nouveau poste pour le bénévole * et * garder le poste rémunéré ouvert, puisqu'ils ont apparemment le financement pour cela?S'il est préoccupé par ce scénario, il pourrait simplement en faire une condition de sa contribution.
@lawn Je n'ai jamais vu * personne * refuser le travail gratuit, ce n'est pas le but.Et un bénévole pourrait retirer un poste rémunéré parce que pourquoi embaucherait-il un deuxième SE s'il en obtenait un gratuitement?Il n'y a aucune mention d'une position ouverte.
Parce que la valeur marginale des ingénieurs logiciels supplémentaires est très grande?
@lawn Même si c'était le cas dans la plupart des laboratoires (ce que je ne suis pas convaincu que ce soit le cas), vous ne voyez aucun problème avec quelqu'un qui emploie deux personnes de qualification similaire et n'en paie pas une?
Si nous parlions de domaines traditionnellement sous-rémunérés comme le graphisme, l'art, le travail social, etc., alors je serais absolument d'accord avec votre position.Une SE travaillant gratuitement ne va absolument pas déprimer le marché des SE en général.Celui qui a plus besoin de l'argent que des avantages académiques peut aller travailler dans l'industrie pendant quelques années et rendre l'argent facilement discutable.
@LawnmowerMan Je ne suis pas préoccupé par les SE, je suis préoccupé par ceux qui travaillent dans le milieu universitaire.
Ander Biguri
2019-12-02 18:01:10 UTC
view on stackexchange narkive permalink

Il existe des tonnes d'outils logiciels de recherche qui sont utilisés d'une manière ou d'une autre pour faire de la recherche sur le cancer. À partir de modèles biomédicaux, de simulations numériques, de reconstruction d'image, de traitement d'image et d'autres techniques généralement

  1. Libre et open source
  2. Codé par des chercheurs (signification, mauvais code, mauvais logiciel approche de développement)
  3. très bénéfique pour les communautés médicales si elles étaient correctement programmées.

Je suggère de trouver des boîtes à outils de recherche qui bénéficieraient d'un développeur de logiciels expérimenté et aideraient les scientifiques à faire la partie non scientifique du développement de logiciels, donc c'est plus facile à utiliser par des non-scientifiques!

Je peux penser à plusieurs boîtes à outils qui demanderaient à un développeur de logiciel d'être meilleur!

Nemo
2019-12-02 16:13:35 UTC
view on stackexchange narkive permalink

Je vous suggère de regarder la récente initiative CZI pour Essential Open Source Software for Science, qui est principalement axée sur les sciences de la vie (d'après ce que je peux dire).

Il est basé sur d'excellentes études de fond, une large participation communautaire et un raisonnement solide. Ils n'ont terminé que le premier tour, il y a donc beaucoup plus de logiciels à découvrir, mais c'est un début.

Parmi tous ces projets, trouvez-en un qui convient aux langages de programmation et / ou aux intérêts que vous avez, et commencez contribuant à un petit patch. Voyez où vous vous situez le mieux / où vous vous amusez le plus et continuez à y contribuer.

Si vous recherchez un travail plus structuré, vous pouvez également consulter les participants du GSoC dans le domaine de la science / médecine terrain et proposez de travailler en tant que mentor pour les nouveaux développeurs de logiciels dans ces projets, soit au sein de GSoC, soit au sein de Outreachy.

QuantumChris
2019-12-02 20:44:29 UTC
view on stackexchange narkive permalink

Je ne peux pas parler spécifiquement du cancer chez les enfants, mais la conception de médicaments est un domaine fortement axé sur l'informatique. Les médicaments sont conçus, testés et analysés à l'aide de la chimie computationnelle avant d'être produits dans un laboratoire. Les outils pour ce travail sont en grande partie écrits par des universitaires qui produisent une grande théorie sous-jacente mais qui n'ont généralement pas la formation en CS pour écrire un bon code.

Vous pouvez plonger dans les écosystèmes de certains de ces programmes et soumettre pull requests, mais de manière réaliste, les auteurs recherchent de nouvelles fonctionnalités et non des modifications architecturales. Ils sont souvent open-source avec des canaux slack actifs, donc cela peut valoir la peine d'y entrer. PSI4, OpenForceField, RDKit viennent tous à l'esprit comme de grandes bases de code open-source en croissance en chimie computationnelle / bioinformatique.

Si vous souhaitez vous impliquer fortement, au Royaume-Uni, nous avons le RSE (ingénieurs logiciels de recherche). Il peut y avoir des messages similaires où que vous soyez.

Michael J Amay
2019-12-02 05:14:15 UTC
view on stackexchange narkive permalink

Je lisais récemment un magazine sur la science populaire en intelligence artificielle. Grâce à l'apprentissage automatique, l'IA est désormais capable de mieux détecter le cancer du sein qu'un médecin humain ne le ferait avec l'analyse d'images.

Je pense que l'IA est la nouvelle ligne de front en matière de bio-médecine. Ma recommandation serait de contribuer aux recherches existantes et d'y apporter votre contribution.

Bravo,

La science populaire n'est pas vraiment une bonne source d'information sur les recherches de valeur.Les chercheurs sont ceux à qui parler pour découvrir quelles sont les vraies lignes de front ...
Et les chercheurs pointent vers l'IA.Deuxièmement, je n'ai pas mentionné la science populaire comme une recherche d'information.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...