Senior Software Engineer - Backend | Minnestar


We are 75F. It is time to thrust commercial building intelligence into the 21st century. We are disrupting the building management systems and smart energy management industries through innovation and technology. Our solutions leverage cloud services, big data, machine learning, purpose-built hardware, and mobile solutions to help buildings manage themselves, all while saving our customers money and reducing their carbon footprint.

Who are we looking for?

75F is seeking a Senior Backend Software Engineer to join a growing team of software engineers, quality engineers, and system analysts. The 75F technology stack is comprised of hardware, firmware, mobile, Angular web UI, NodeJS, Kotlin and Java services, Pub/Sub Messaging Services, MongoDB, InfluxDB (i.e., time series database), machine learning, and big data analytics. This role will be focused on the back end portion of the software stack, excluding the hardware and firmware portions. A successful candidate will have a quality-first approach to deliver maintainable, well-tested, and well-architected solutions, adapt quickly to change, be able to collaborate with technical and business stakeholders alike, and be able to champion efficient agile processes, delivery, and DevOps.

Required Qualifications and Experience

  • Adept technical leader, mentoring others, leading architectural initiatives and driving the continuous refinement of best practices and design patterns
  • Experienced and proficient at designing, building and integrating with RESTful APIs
  • Expertise in modern JVM API frameworks (Spring, Micronaut, Spark, etc.)
  • Proficient with unit and integration testing frameworks and methodologies (Spock, JUnit, Kotest, etc.)
  • Knowledge of, and ability to implement, application monitoring best practices
  • Ability to independently work with, and contribute to, the design of complex technical architectures in resilient and high-scalability environments
  • Complete understanding of and experience contributing in modern agile delivery processes (SCRUM, Kanban, SAFe, etc.)
  • Mastery of Git source control

Required Education

Bachelor’s Degree or higher in Computer Science, Software Engineering, or closely related technical discipline

Top-Valued Skills

  • Knowledge of implementing maintainable and well-tested software and relevant support technologies (e.g. Spring Boot, Angular, Git, SQL/NoSQL databases, build pipeline automation, etc.)
  • Knowledge of REST standards and best practices
  • Knowledge of Javascript and JVM package management tools (e.g. NPM, Maven, Gradle, Yarn, etc.)
  • Knowledge of modern agile processes and optimization
  • Ability to architect resilient and high-scalability applications
  • Ability to learn quickly and adapt to change in a fast-moving environment
  • Ability to translate complex business requirements into simple, elegant technical solutions

Top-Valued Attributes

  • Detail-oriented and highly motivated
  • Quality-first approach for development implementation and team processes
  • Desire for continuous learning and improvement
  • Highly collaborative approach to technical delivery from the standpoint of business domain and requirements
  • Desire to work outside comfort zone

Preferred Experience

  • Knowledge of Docker and working with containerized environments
  • Experience with cloud hosting platforms (Azure, AWS, GCP, etc.)
  • Experience building and managing CI/CD pipelines
  • Design and integration with both SQL and NoSQL databases
  • Experience integrating with Time Series Databases (e.g. InfluxDB, TimescaleDB, etc.)

Primary Responsibilities

  • Facilitate delivery in a cross-functional team of software engineers, quality engineers, and systems analysts in DevOps delivery of a commercial software platform
  • Coordinate efficient and effective agile delivery processes and contribute to operational enhancements
  • Coordinate troubleshooting and resolution of issues
  • Collaborate with delivery team and business stakeholders to design robust and reusable solutions, as well as facilitate the translation to technical designs
  • Collaborate and influence proactive system monitoring practices and strategies to help identify issues prior to customer impact
  • Promote a mindset and culture within the team that embraces identifying, owning, and solving issues, driving quality, improving performance, and improving the customer experience
  • Estimate delivery effort, as well as effectively identify and prioritize high-value deliverables
  • Assist in story definition, evaluation, translation, and business requirements gathering from product owners and business stakeholders
  • Communicate effectively with peers to drive efficient team delivery
  • Collaborate in continuous planning with business stakeholders and other technology team leaders to ensure a successful delivery plan is available for business priorities

**This individual will need to travel to our Bloomington, MN offices a minimum of two times per quarter to work with the team**

Job Type: Full-time
Compensation Type: Salaried
Location: Remote & Bloomington, MN
Posted by 75F on August 29, 2022