Mid Level JavaScript / Typescript Developer
Role details
Job location
Tech stack
Requirements
-
Minimum 3 years proven experience in Software Engineering
-
Education to degree level in Computer Science, Software Engineering, or any company relevant discipline, i.e. geology, geophysics.
-
Equivalent industry experience as a proven software engineer/developer will be considered.
-
Demonstrated experience in delivering high-performance desktop applications or systems within complex engineering domains.
-
Strong proficiency in Typescript/JavaScript for systems programming (Node.js, Electron) beyond just web development. Equivalent experience with Go, C#, etc will be considered.
-
Experience with modern WebApp frameworks, MVC or MVVM designs, complex state management and data visualization (Vue.js, react, Angular or similar).
-
Understanding of system architecture, including IPC, concurrency, and data stream handling.
-
Deep understanding of software design patterns (Interfaces, Inversion-Of-Control, Object Orientated vs Functional, etc) and architectural best practices (Dependency Injection, decoupling, etc).
-
Proficiency in Git source control workflows.
-
Excellent problem-solving and debugging skills, including extensive use of testing frameworks
-
Ability to work independently, manage multiple priorities, and deliver under pressure
-
Ability to learn quickly and adapt to new technologies.
-
Excellent communication, presentation & report writing skills
-
Requires good listening, strong written and verbal communication skills and the ability to explain technical matters in lay terms
-
Must have initiative, self-motivation and the confidence to make decisions or ask for help.
Desirable:
-
Able to showcase examples of work: public-facing products and/or open-source projects.
-
Knowledge of geology or geophysics
-
Experience developing software for scientific instruments, test equipment, or data acquisition systems.
-
Understanding of signal processing or numerical methods.
-
Experience working in multi-disciplinary engineering teams (hardware, firmware, software, R&D, marketing).