Ingénieur senior full stack .NET Core/Angular full remote F/H
Bealink
Paris, FR1 month ago
107 views47 saves10 applies
Prepare for this role
Job Type
full time
Description
L'entreprise Acteur français de la Edtech, Bealink propose une suite complète de solutions pour la formation en entreprise, alliant technologies de pointe à un accompagnement sur mesure pour faire de la formation un levier stratégique incontournable. Editeur de logiciels présent depuis près de 25 ans dans le secteur de la formation et du développement des compétences, Bealink est implantée sur de grands comptes en France et à l’international (+ de 300 clients). Nous confirmont années après années notre position d’acteur clé dans l’univers des logiciels de formation. Description du poste En collaboration avec le CTO et l’équipe de R&D vous interviendrez sur les sujets suivants : Étudier, concevoir, développer, tester et maintenir les composants techniques associés Analyse des besoins et des contraintes techniques Gestion de projet technique avec rédaction de spécifications, documentation et recette des livrables clients Développement d’outils et de prototypes Notre stack-techno : Aspnet core / Dotnet core Angular MAUI MySQL Azure: PaaS, SaaS, Serverless. Profil recherché Qualifications Diplômé d’une école d’Ingénieur en informatique, vous êtes à la recherche d’une entreprise innovante qui vous formera et vous donnera d’importantes responsabilités. 10 ans d’expérience mini sur un poste similaire. Bon niveau d’anglais, à l’oral comme à l’écrit. Vous aimez être challengé par des problématiques et technologies nouvelles. Vous avez le souci du détail et une sensibilité à l’UX et l’UI. Vous possédez des notions de gestion de projets. Des connaissances des applications B2B ou du monde de l’e-learning sont un plus. Avantages 12 RTT / an. Full remote possible Tickets restaurants. Plan d’intéressement aux bénéfices de l’entreprise. Plan d'épargne salariale. Prise en charge de l'abonnement transport public à 75%. Forfait mobilité durable. Subventions associatives. Evènements collaborateurs entreprise (petits-déjeuners, afterworks , soirées, séminaires,…). Rejoindre une équipe soudée, enthousiaste, axée sur le partage et la montée en compétence. Réf: a2fd6f24-e70a-465f-ad96-096d65854118 Je postule à cette offre Ingénieur senior full stack .NET Core/Angular full remote F/H Bealink CDI Temps plein Paris Civilité * Madame Monsieur Mx Nom * Prénom * E-mail * Numéro de téléphone * Disponibilité * Sélectionnez votre disponibilité immédiate 15 jours 1 mois 2 mois 3 mois + 3 mois Attentes salariales (Brut/an) * Sélectionnez la tranche de salaire Inférieur à 15 000€ 15 000€ - 20 000€ 20 000€ - 25 000€ 25 000€ - 30 000€ 30 000€ - 35 000€ 35 000€ - 40 000€ 40 000€ - 45 000€ 45 000€ - 50 000€ 50 000€ - 55 000€ 55 000€ - 60 000€ 60 000€ - 65 000€ 65 000€ - 70 000€ 70 000€ - 75 000€ 75 000€ - 80 000€ 80 000€ - 85 000€ Supérieur à 85 000€ Photo Choisir un fichier Format autorisé: JPG. Poids maximum : 2 Mo. CV * Choisir un fichier Format: .PDF, .DOCX, .DOC, .JPG. Poids max. : 2 Mo. Dans le cadre de la création de votre profil de candidature sur le site carrière de la société Bealink , les informations recueillies ci-dessus sont traitées selon la base légale des mesures précontractuelles à la mise en relation avec la société Bealink et à la conclusion d’un éventuel contrat de travail avec celle-ci, et selon l’intérêt légitime à la constitution d’une CVthèque. Aucun transfert hors de l’Union Européenne ne sera opéré. Sauf action de votre part, la durée de conservation de vos données n’excède pas 2 ans. En application des standards et des politiques de sécurité (PSSI) en vigueur, les mesures techniques efficaces et optimales sont appliquées aux traitements des données (accès et protocoles sécurisés, gestion des droits et administration, sensibilisations des collaborateurs, etc.). Conformément au règlement Européen relatif à la protection des données, vous disposez d’un droit d’opposition, d’accès de rectification, de suppression des présentes données. J'accepte que l'entreprise Bealink conserve mes données personnelles pendant une durée de 2 ans afin d'être recontacté(e) pour de nouvelles opportunités --> --> Je postule Merci de bien vouloir compléter tous les champs obligatoires. (Les champs obligatoires sont suivis d'une *) * Champs obligatoires Partager l'offre &via=We_Recruit_" target="_blank" class="hover-color1"> Partager par email --> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) { return; } js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_FR/sdk.js#xfbml=1&version=v2.3"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function(f) { t._e.push(f); }; return t; }(document, "script", "twitter-wjs")); $(".dropdown dt a").on('click', function() { $('ul[data-id=' + $(this).attr('data-id') + ']').slideToggle('fast'); }); $(document).bind('click', function(e) { var $clicked = $(e.target); if (!$clicked.parents().hasClass("dropdown")) { $(".dropdown dd ul").hide(); } }); $('.mutliSelect input[type="checkbox"]').on('click', function() { var inputId = $(this).attr('class'); var selectId = inputId.replace('custom-control-input checkbox-color1 checkbox-element question-', ""); var title = $(this).closest('.mutliSelect').find('input[type="checkbox"]').val(), title = $(this).val() + ","; if ($(this).is(':checked')) { var html = ' ' + title + ' '; $('.multiSel-' + selectId).append(html); $(".hida-" + selectId).hide(); } else { $('span[title="' + title + '"]').remove(); var ret = $(".hida"); $('.dropdown dt a').append(ret); } }); var isSafari = !!navigator.userAgent.match(/Version\/[\d\.]+.*Safari/); if (isSafari) { var form = document.getElementById('form'); // form has to have ID: form.noValidate = true; form.addEventListener('submit', function(event) { // listen for form submitting if (!event.target.checkValidity()) { event.preventDefault(); // dismiss the default functionality document.getElementById('errorMessageDiv').style.display = 'block'; } }, false); } var questions = []; questions.forEach( function(q) { $('.question-' + q.id) .click( function() { if (q.type === 2 || q.type === 3) { var query = q.choices.find( function(c) { return $('#question-' + c.id).is(':checked'); }); if (query) { $('.question-' + q.id).attr("required", false); } else { $('.question-' + q.id).attr("required", true); } } }); }); (function(d, s, id) { var js, iajs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) { return; } js = d.createElement(s); js.id = id; js.async = true; js.src = "https://apply.indeed.com/indeedapply/static/scripts/app/bootstrap.js?hl=fr"; iajs.parentNode.insertBefore(js, iajs); }(document, 'script', 'indeed-apply-js')); $(".checkbox-element").each((index, element)=>{ $(element).on('click', function(){ var $this = $(this); var questionId = $this.data('question-id'); var otherCheckboxes = $('.question-'+questionId); var checkedElements = otherCheckboxes.toArray().filter(i=>$(i).is(':checked')); var questionInput = $("#question-"+questionId); questionInput.val(checkedElements.length ? "OK":""); questionInput.trigger('focus'); questionInput.trigger('blur'); window.formValidator.element("#question-"+questionId); }) }) $(document).ready(function() { $('.description-blocks a').attr('target', '_blank'); $('input[type="file"]').each(function(index, element){ $(this).change(function(){ $(this).blur().focus().blur(); }); }) }); $('#form').on('keyup keypress', function(e) { var keyCode = e.keyCode || e.which; if (keyCode === 13) { e.preventDefault(); return false; } }); $.validator.methods.phoneNumber = function(value, element) { return this.optional(element) || /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/.test(value); }; window.formValidator = $("#form").validate({ ignore: [], rules: { phone: { required: true, phoneNumber: true }, }, errorPlacement: function(error, element) { console.log(error, element); error.addClass('invalid-feedback'); if (element.is('input[type=radio], input[type=checkbox]')) { element.parent().parent().append(error); } else { error.insertAfter(element); } }, highlight: function(element, errorClass, validClass) { $element = $(element); if ($element.is('input[type=hidden].qcm-field')) { var questionId = $element.data('question-id'); var div = $('div[data-question-id="' + questionId + '"]'); div.addClass(errorClass); div.find("button").addClass(errorClass); div.removeClass(validClass); div.find("button").removeClass(validClass); } else { $element.parent().addClass(errorClass).removeClass(validClass); $element.addClass(errorClass).removeClass(validClass); $element.parent().find("button").addClass(errorClass).removeClass(validClass); } }, unhighlight: function(element, errorClass, validClass) { $element = $(element); if ($element.is('input[type=hidden].qcm-field')) { var questionId = $element.data('question-id'); var div = $('div[data-question-id="' + questionId + '"]'); div.addClass(validClass); div.find("button").addClass(validClass); div.removeClass(errorClass); div.find("button").removeClass(errorClass); } else { $(element).parent().removeClass(errorClass).addClass(validClass); $(element).addClass(validClass).removeClass(errorClass); $(element).parent().find("button").addClass(validClass).removeClass(errorClass); } }, submitHandler: function(form) { var shouldSubmit = true; if (shouldSubmit) { form.submit(); var button = $('button[type="submit"]'); $('#loader').removeClass("hidden"); $('#submit-button').addClass("hidden"); $($('.cta-apply')[0]).addClass('hidden'); $($('.cta-apply')[1]).addClass('hidden') setTimeout(function() { button.attr('disabled', 'disabled'); button.prop('disabled', true); }, 0); } }, errorClass: "is-invalid", validClass: "is-valid", }); jQuery(document).ready(function($) { $(document).on('click', '.dropdown-menu', function(e) { e.stopImmediatePropagation(); e.stopPropagation(); }); }); jQuery.extend(jQuery.validator.messages, { required: "Ce champ est obligatoire", phoneNumber: "Ce numéro de téléphone est invalide", email: "Veuillez indiquer une adresse e-mail valide", }); var placeSearch; var autocompletes = []; var componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; function initAutocompletes() { $('.custom-autocomplete').each((index, element) => { autocompletes.push({ element: element, autocomplete: new google.maps.places.Autocomplete(element, { types: ['geocode'] }) }); }); } function geolocate(element) { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var geolocation = { lat: position.coords.latitude, lng: position.coords.longitude }; var circle = new google.maps.Circle({ center: geolocation, radius: position.coords.accuracy }); var autocomplete = autocompletes.find(i => i.element === element).autocomplete; autocomplete.setBounds(circle.getBounds()); }); } } $(function() { $(".datepicker").each( function(index, element) { var $elem = $(element); $elem.datepicker($.datepicker.regional["fr"]); }); $(".ui-datepicker").addClass("font2"); }); { "@context" : "http://schema.org/", "@type" : "JobPosting", "title" : "Ing\u00E9nieur senior full stack .NET Core/Angular full remote F/H", "datePosted" : "2026-05-07T15:36:08+00:00", "hiringOrganization": { "@type": "Organization", "name": "Bealink" , "logo": "https://wio.blob.core.windows.net/werecruit/0e86d656-a8fc-4afe-ae2d-0170ef19a009.png" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "addressLocality": "Paris", "addressRegion": "Île-de-France", "postalCode": "75015", "addressCountry": "FR" } }, "description" : "\u003Cp\u003E\u003Cstrong\u003EEn collaboration avec le CTO et l\u0026rsquo;\u0026eacute;quipe de R\u0026amp;D vous interviendrez sur les sujets suivants :\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u0026Eacute;tudier, concevoir, d\u0026eacute;velopper, tester et maintenir les composants techniques associ\u0026eacute;s\u003C/li\u003E\n\u003Cli\u003EAnalyse des besoins et des contraintes techniques\u003C/li\u003E\n\u003Cli\u003EGestion de projet technique avec r\u0026eacute;daction de sp\u0026eacute;cifications, documentation et recette des livrables clients\u003C/li\u003E\n\u003Cli\u003ED\u0026eacute;veloppement d\u0026rsquo;outils et de prototypes\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cp\u003E\u003Cstrong\u003ENotre stack-techno :\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003E\u0026nbsp;\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EAspnet core / Dotnet core\u003C/li\u003E\n\u003Cli\u003EAngular\u003C/li\u003E\n\u003Cli\u003E\u003Cspan data-olk-copy-source=\u0022MessageBody\u0022\u003EMAUI\u003C/span\u003E\u003C/li\u003E\n\u003Cli\u003EMySQL\u003C/li\u003E\n\u003Cli\u003EAzure: PaaS, SaaS, Serverless.\u003C/li\u003E\n\u003C/ul\u003E\n\u003C/li\u003E\n\u003C/ul\u003E", "employmentType" : "FULL_TIME" } Nos dernières offres Technicien(e) Support Applicatif N2/N3 Bilingue F/H Bealink CDI Temps plein Rennes Je postule Ingénieur senior full stack .NET Core/Angular full remote F/H Bealink CDI Temps plein Paris Je postule Lead SDR F/H Bealink CDI Temps plein Paris Je postule Lead Account Executive F/H Bealink CDI Temps plein Paris Je postule Voir plus d'offres Suivez-nous Offres Candidature spontanée Liens utiles Cookies Plan du site Connexion recruteurs Préférences des cookies Propulsé par This job is found at InterviewStack.io
Skills
asp.net.net coreangularmysqlazurejavascripthtml