Principal Software Engineer

Johnson Controls   •  

Milwaukee, WI

Industry: Professional, Scientific & Technical Services

  •  

Not Specified years

Posted 46 days ago

This job is no longer available.

What you will do

The Principal Software Engineer builds and operates the infrastructure and systems to make the connectivity possible. They work on back-end big data systems to store and manage data, with modern full-stack client tools to make use of that data on the web and in other applications, with data analysis tools to process the data, and with our product engineers to embed connectivity.


How you will do it

• Plan, Develop, Test, and Document software for connecting devices and other software products to the JCI Cloud and Data Platform

• Enhance and assist with the operations of the JCI Cloud and Data Platform

• Work with other software developers to embed protocols and libraries in JCI products, and with our partner's products

• Work with Product Management to define product features, and with our organization to communicate features to our sales channels, support organizations, and our customers

• Occasional travel will be required

What we look for

• MS in Computer Science/Electrical or Computer Engineer, or has a degree and demonstrated technical abilities in similar areas.

• Has strong written skills and the ability to effective communicate technical analyses and results to business management

• Excellent software engineering skills and strong fundamentals in algorithms, data structures, predictive modeling and big data concepts.

• Excellent communication skills to collaborate with stakeholders in engineering, data science, and product.

• Experience building large-scale and complex data processing pipelines

• A successful history of manipulating, processing and extracting value from large disconnected datasets

• Strong experience with data ingestion and data integration

• Strong analytical skills related to working with unstructured datasets

• Strong Programming skills in C/C++, C# or Java, and at least one additional language such as Python, Perl, R, Ruby, Scala, or server-side Javascript.

• Deep experience with SQL and multiple Relational Database Management Systems with non-trivial databases.

• Experience with graph store, document store and heterogeneous data indexing

• Demonstrable knowledge and skills with network programming and distributed systems

• Experience with systems programming on Linux/Unix or Windows

• Hands-on experience with public clouds such as Microsoft Azure, Amazon Web Services, or the Google Cloud Platform.

• Experience with Big Data management systems such as Hadoop or Spark

• Experience with object oriented design and building backend applications with REST API services

• Familiarity with front-end web development and single-page HTML5 applications

• Software development for embedded systems