Frontend Software Engineer (m/f/d) - Industrial Data Science and Software

Job description

APPLYING MACHINE LEARNING TO PROCESSES, NOT PEOPLE


At Smart Steel Technologies, we are building a one-of-a-kind cross-disciplinary team, uniting the worlds of steel and machine learning. Our team has come together from a diverse set of academic and professional backgrounds: software development, computer science, mathematics, physics, and metallurgy. Our goal is to leverage this expertise through trust and cooperation. We want to foster an environment where team members have frequent opportunities to learn from each other in fields that they are not (yet) experts.


The machine learning and data science we employ comes in several varieties: image processing, signal processing, classical supervised modeling, unsupervised methods, exploratory data analysis, and fundamental statistics and probability. As a frontend software engineer, your specific expertise as well as your motivation would be the major factors in determining your day-to-day work.


We are grateful to stand on the shoulders of the open source giants. We use NumPy-flavored Python3 as the basis for our development, taking advantage of the availability of libraries designed for both software engineering and data science, ranging from Flask to SciPy, SQLAlchemy to Keras, Jupyter to Pandas, and many more. When Python’s time or space complexity becomes a constraint, we turn to modern C++. When we require client-side browser-based interactivity, we turn to JavaScript.


HOW WE DEFINE THE FRONTEND

Currently, we use Python’s Flask with Jinja templating to deliver visualizations and interfaces powered by HighCharts, Bootstrap and jQuery. This means that, for us, the frontend starts with Python and ends with whatever is possible in the user’s browser. We do not aim to build single page applications or dashboards, rather interfaces whose usability for process engineers is competitive with the desktop applications that have been battle tested for decades.


The ideal frontend that we work towards is not isolated from the rest of the development team, but instead utilized to more effectively bring a cohesive product to our customers. In order to meet this goal, it is our impression that the proper abstraction layer does not exist between Python and JavaScript, rather within JavaScript itself. The role of the frontend software engineer is then to develop and maintain a JavaScript API that abstracts complexity away from teammates that are focused on other components of the product, while also developing and solidifying the frontend’s role in the greater product stack.


ABOUT THE JOB

  • Collaboratively develop, design, and deploy interactive, dynamic UX solutions
  • Leverage your own experience and expertise to guide the shape of the frontend
  • Work alongside machine learning engineers to optimize visualizations and product experience
  • Define, develop and maintain the role of the frontend within the product technology stack


Job requirements

QUALIFICATIONS THAT CATCH OUR EYE

  • A significant technical background with a transition to a design-oriented role, or a significant design-oriented background with a transition to a technical role
  • Experience creating responsive layouts that adhere to principles of usability, compatibility and accessibility
  • Experience developing browser-based visualizations of time series or other industrial data
  • Experience working alongside and within a Python server framework, especially Flask
  • Fluency in German or Russian is a plus; English is required

BENEFITS

  • Transparency of business strategies
  • Autonomy balanced by responsibility
  • Cohesive, multidisciplinary team
  • Meaningful industrial problems
  • Modern machine learning techniques
  • Sleek, new office located in Berlin
  • Professional educational opportunities
  • German language courses and public transport included