Senior Full Stack Developer

We are looking for a Full Stack Developer to build, improve and implement functional SaaS applications supporting our mission: to keep corporate PCs secure and evergreen, and to enable their users to get the latest apps onto their machines quickly and with utmost convenience.

Your goal will be to build efficient programs and systems that serve users’ application needs including:

  • Application lifecycle management process automation.
  • Development and improvement of a specialized online packaging toolset and a virtual sandbox environment.
  • Implementation of 3rd party integrations with customer systems (Intune, SCCM, Azure services, billing).
  • Migration of monolithic architecture to microservices.

You will work with other members of our SCRUM team such as Developers and Product Managers throughout the software development life cycle.
In this role, you should be a team player with a keen eye for detail and problem-solving skills. If you also have experience in Agile frameworks and .NET Core, we’d like to meet you.

You can work remotely, but we’d like to see you in the office once in a while. This is a long-term, full-time (40 hrs/wk) role. If you are looking for a part-time role or require flexibility around your working schedule, we are open for a conversation.

Duties and responsibilities

  • Be proactive, participate in the decision-making process, influence technology stack, take ownership of the result.
  • Follow current industry trends and incorporate best practices into the solution.
  • Improve functionality to existing solution.
  • Analyze and improve performance, scalability and stability of products and production environments.
  • Participate in architecture, design and code reviews
  • Develop Best Practices and Architecture Guidelines for solving common issues.
  • Provide technical leadership to teammates through coaching and mentorship.
  • Translate business requirements (functional and non-functional) into technical designs.
  • Support the production users and investigating issues in production when contacted by support team.
  • Be an active member of a Scrum team.

We measure success in working software and a demonstrated “can-do” attitude. As we are an international company, we expect you to be fluent in the English language and to be happy to communicate as and when needed.

Requirements

  • At least 5 years of software development experience.
  • Intrinsic passion for learning and self-development.
  • Used to work internationally
  • Ability to multi-task in an agile environment
  • Willingness to do work in different technologies and processes
  • English – Upper-Intermediate or above

Technologies

  • Backend: .NET, .NET Core, C#, WPF, EF.Core, IdentityServer, MongoDB, Redis, MSSQL, Azure AppService + Storage + SQL + Redis
  • Frontend: JQuery, Angular, TypeScript, Vue.JS, Nuxt, HTML, CSS, SASS
  • Containers: Docker, Kubernetes
  • Virtualization (VirtualBox, Hyper-V)

What can you count on

  • Professional and friendly team.
  • Good working conditions: modern office at the city center.
  • Flexible work schedule.
  • Medical insurance.
  • Competitive salary and regular performance review.
  • Paid vacations (24 days) and sick leaves.
  • Paid language and professional courses, conferences, events.
  • 100% compensation for successfully passed professional certifications.
  • Hybrid remote: you can choose to work from the office or fully remotely, as well as mixing these two options.

More News from Apptimized

Application Packaging Engineer Course

We are seeking motivated individuals to join our Application Packaging…

Verbessern Sie Ihre Anwendungspaketierung mit dem aktualisierten Apptimized Workspace

Wir sind stolz darauf, die allgemeine Version des aktualisierten Apptimized…

Apptimized December Release Notes

Release Notes - our monthly update that highlights recent product improvements so…

Verbessern Sie Ihre Anwendungspaketierung mit dem aktualisierten Apptimized Workspace

Wir sind stolz darauf, die allgemeine Version des aktualisierten Apptimized Workspace ankündigen zu können, die jetzt zusammen mit Workspace Launcher verfügbar ist.

Die Anwendungspaketierung ist ein unaufhaltsamer Prozess, der das zukünftige Funktionieren Ihrer Softwareinfrastruktur definiert. Wenn Sie ein Verpackungsexperte sind, wissen Sie, wie viel Zeit es braucht, um sich mit komplexen Problemen im Zusammenhang mit der Verpackung, dem Testen und der Bereitstellung von Apps zu befassen. Hinzu kommt, dass diese repetitive Arbeit Zeit braucht und nach einer Weile ziemlich langweilig werden kann.

In Anbetracht aller Herausforderungen, mit denen Verpackungsspezialisten heutzutage konfrontiert sind, haben wir versucht, eine einzigartige Alternative zu den traditionellen Verpackungs- und Prüfwerkzeugen zu schaffen, die Unternehmen dabei hilft, wertvolle Ressourcen zu sparen und alle Verpackungsprozesse zu beschleunigen.

Überprüfen Sie Apptimized Workspace in Aktion

Was ist das Apptimized Application Packaging Tool?

Apptimized Workspace wurde als cloudbasierte Umgebung für die Ermittlung (Erstellung der Installationsdokumentation), das Verpacken und Testen an einem Ort konzipiert. Es ermöglicht die Automatisierung aller Routineaktionen des Verpackungsspezialisten.

Im Jahr 2020 lernen Sie die aktualisierte Version von Apptimized Workspace kennen, die jetzt mit einer unbegrenzten Anzahl von Paketierungstools von Drittanbietern für die schnelle und einfache Erstellung von bereitstellbaren Paketen geliefert wird.

Was ist der Zweck des Upgrades der Anwendungspaketierungsumgebung?

Eines der Kernziele des Workspace-Upgrades ist die Notwendigkeit von Verpackungsexperten, nicht nur über eine Paketierungsumgebung zu verfügen, sondern auch über ein ständig verfügbares Toolset, das die Wiederverwendung von unverzichtbaren und bevorzugten Tools von Drittanbietern ermöglicht, ohne dass sie von Tausenden von Anbieterressourcen installiert werden müssen.

Folglich macht das Vorhandensein einer solchen flexiblen Umgebung zusammen mit einem Toolset zum Verpacken und Testen verwandter Aktionen die App-Bereitstellungsprozesse einfacher und schneller.

Workspace Launcher ist eine Paket-Toolbox mit den grundlegendsten sowie spezifizierten Tools für alle, die täglich Anwendungspakete erstellen und bereitstellen. Tatsächlich können Sie mit nur wenigen Klicks mehr als 15 praktische Tools installieren.

Darüber hinaus wurde mit der Veröffentlichung des Workspace Launchers ein neuer Shared Storage implementiert. Jetzt erhalten Sie die erweiterten Upload-Funktionen: Alle Pakete werden automatisch synchronisiert, sodass Sie sie nicht nur über die Apptmized Packaging Engine bearbeiten können, sondern auch mit bevorzugten Tools von Drittanbietern.

Die wichtigsten Vorteile von Apptimized Workspace Launcher:

  • Alle Apps an einem Ort. Verwenden Sie eine intuitive und flexible Launcher-Toolbox, die eine große Auswahl der branchenweit bekanntesten 3rd-Party-Packaging-Tools von Microsoft und anderen Anbietern zusätzlich zu all unseren Apptimized-Packaging-Tools für unübertroffene Effizienz und Bequemlichkeit bietet
  • Keine zusätzlichen Anforderungen. Cloud-basierte Paketierungsumgebung, die in jedem Browser von jedem Betriebssystem aus ausgeführt werden kann
  • Personalisieren Sie Ihr Verpackungserlebnis. Holen Sie das Beste aus beiden Welten heraus. Nutzen Sie Ihre bekannten und beliebten Tools, passen Sie Ihren Workspace an Ihre Vorlieben und technischen Anforderungen an und nutzen Sie Investitionen in bestehende Tools in Kombination mit der Leistungsfähigkeit einer Cloud-Packaging-Umgebung
  • Flexibilität. Die einzige Verpackungslösung, die Sie nicht an ein Ökosystem bindet, mit endlosen Anpassungsoptionen und mehr als 20 sofort einsatzbereiten Verpackungstools
Apptimized Launcher takes Workspace to a new level by giving our customers instant access to dozens of well-known tools which have become industry standard. Same as before, all you need is a browser to start creating and editing packages in multiple formats by using our instruments and software from third-party vendors.
Volodymyr Smirnov
CIO

Weitere Vorteile für Ihr Unternehmen finden Sie im Workspace Fact Sheet.

Möchten Sie eine Demo vereinbaren, senden Sie Ihre Anfrage über unser Formular.

More News from Apptimized

Einführung in das Apptimized Application Packaging Tool – Arbeitsbereich

Sind Sie ein Spezialist für Anwendungsverpackungen? Sie wissen, wie viel…

Securing the Cloud Era: Intune Security Benefits in Action

Have you ever paused mid-deployment and asked: Are my endpoints…

Notarization Process for macOS installers

Notarization for macOS installers is a security measure implemented by…

Notarization Process for macOS installers

Notarization for macOS installers is a security measure implemented by Apple to verify the legitimacy and safety of software distributed outside the Mac App Store. It essentially gives users more confidence that the app they’re about to install hasn’t been tampered with and is free from malware. 

From a packaging perspective, notarization is necessary if the end customer intends to allow users to install packages created by Apptimized manually. If the package has been notarized, users won’t encounter any warnings or need to approve the installation through the “Security” tab in the macOS system. 

Example of a warning that appears when launching a .pkg installer without notarization:

How it works

  1. The developer submits the installer package or disk image to Apple. 
  2. Apple scans the package for malicious code and suspicious content. 
  3. If the scan passes, Apple issues a “ticket” that verifies the app’s legitimacy. 
  4. When users try to install the notarized app, Gatekeeper (macOS’s built-in security system) checks for the ticket. 
  5. If the ticket is present and valid, Gatekeeper allows the installation to proceed without warnings. 

What is needed for the notarization process? 

  1. An active subscription for the Apple Developer Program (https://developer.apple.com/). 
  2. Latest Xcode. The minimum requirement is Xcode 14 (could be downloaded from the App Store). 
  3. Generated an app-specific password (https://support.apple.com/en-us/102654). 

Let’s take a deeper look at the notarization process. 

First, a package installer should be signed. To obtain the necessary certificate, it is needed to enroll in the Apple Developer Program and to download it from the admin portal. The specific certificate required is the “Developer ID Installer”. 

Command for signing the installer is: 

productsign –sign “Developer ID Installer: Company Name XXXXXXX” ./Chrome.pkg ./Chrome_Signed.pkg 

To verify that installer is signed, users may use the next command: 

pkgutil –check-signature /PathToTheFile/Chrome_Signed.pkg 

How to notarize installer? 

The Apple notary service will no longer accept uploads from Xcode 13 or earlier or from altool as of November 1, 2023. Users must switch to the notarytool command-line utility or update to Xcode 14 or later if they notarize their Mac software with the Apple notary service using the altool command-line utility or Xcode 13 or earlier.

This is how the notarization command will appear:

xcrun notarytool submit /PathToTheFile/Chrome_Signed.pkg –apple-id <apple-account-email> –team-id <teamid> –password <password> –verbose 

  • <apple-account-email> – the Apple ID login username you use with Developer ID services. 
  • <teamid> – Team ID, that could be found at https://developer.apple.com/account#MembershipDetailsCard 
  • <password> – App-Specific Password, created here – https://appleid.apple.com/account/manage 

For checking notarization status, here is the following command: 

xcrun notarytool info <UUID> –apple-id <apple-account-email> –team-id <teamid> –password <password> 

  • UUID is a 36-character string that uniquely identifies a specific notarization request. Users can get it at the notarization request. Example of UUID (id value from the screenshot): 
  • The values for <apple-account-email>, <teamid> and <password> will be the same as those used in the submit command. 

The output of the command should look like this in case of successful notarization: 

The next step is stapling. Stapling refers to the process of associating the notarization information with the application or installer package. After an application or installer has been notarized by Apple, stapling is an additional step that “attaches” the notarization ticket to the software package.

Command for stapling is: 

xcrun stapler staple /PathToTheFile/Chrome_Signed.pkg 

The result of command execution should be the message: “The staple and validate action worked!” 

And that’s all the required actions! The installer has been successfully notarized and stapled, so it’s ready to be installed manually without any issues on any machine. 

Please get in touch with our Support team if you have any questions or if you need assistance or Schedule a Demo with our experts.

Go to the Apptimized platform to make a package request. Select the necessary priority and, if you have one, provide a reference for a packaging expert.

schedule a call button

More News from Apptimized

The Main Difference Between macOS Applications on Intel and ARM Architectures

With all advantages and extensive functionality, macOS has recently risen…

Packaging process in 4 simple steps: Apptimized packaging experts tips & use case

Software packaging is a core component of a company’s software management strategy…

2020 year in review for Apptimized: application logistic provider