This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The Staff Software Engineer on the Engineering team is responsible for the implementation, design, architecture and quality control of business integrations/general development within the customer-facing product application and internal tools used by development and technical operations. This includes troubleshooting bugs and implementing new features as required in existing backend applications; even building new components as needed. A successful Staff Software Engineer will produce all required functionality in a timely manner and will communicate and work with colleagues to solve problems and improve the systems they work with. Furthermore, the Staff Software Engineer should have a strong understanding and knowledge level of the systems they are working with, to the point that they can help others on the team grow and develop.
Job Responsibility:
Prioritize and plan for deliverables in an iterative development strategy, according to our 2 week scrum schedule & 1 week regression testing
Design, document, code, and test technical solution for new systems or enhancements to existing systems
Follow agile software development methodologies for implementation
Working with various teams in LogicMonitor to deliver software products that support LogicMonitor's business growth
Provides technical leadership mentoring and guidance at senior engineering levels and below
Trusted to represent the team to other functional teams
Coordination, Communication, and Collaboration between management, product, techops, support, developers
Envision system features and functionalities by analyzing business requirements
Troubleshoot and resolve product/application issues for escalated support cases
Collaborate with a diverse, distributed development organization
Contribute to Tech Talks, involving research on new technologies that are applicable to this position
Ability to tackle performance and design issues at a complex technical level
Understanding and improvement of development process and application deployment
Keeps current on cutting-edge technology and educates others about it
Can explain complex subjects to a variety of audiences as a multi-domain expert
Requirements:
8+ years of software development experience in commercial or enterprise applications
6+ years of full-time experience as a Java developer on Linux platform
BS or above degree in computer science or related field
Expertise with latest Java development framework and open-source tools
Extensive experience and knowledge with inner workings of JVM
Strong understanding of web application architectures, specifically Apache Tomcat
Experience in SaaS Product Development dealing with large volumes of data
Deep SQL / NoSQL database knowledge, including following databases: MySQL, Cassandra, and ElasticSearch
Extensive experience with one of the following Big Data technologies: Apache Spark, Kafka Streams, AWS Kinesis/Firehose
Experience designing large, complex distributed systems
Strong experience with AWS services
Strong understanding of container technology: Docker and Kubernetes
Familiar with security best practices with respect to programming and development
Experience building prototypes
Deep understanding with Linux file systems, memory management, kernel
Familiar with Test frameworks (JUnit, WireMock, Selenium, etc.)
Proven technical experience transitioning teams to continuous deployment models
Experience using AI tools to enhance productivity, innovation, or problem-solving
Nice to have:
Strong AI/Machine Learning experience
Azure, Google Cloud Platform experience
React.js experience
Gradle/Ant Experience (or some other build automation tool)
Python / Ruby / Go experience
Familiar with Atlassian Suite (JIRA, Confluence, Bamboo, BitBucket)