Essential Functions (Job Duties and Responsibilities):
Solid understanding of duties performed within entire software development life cycle, architecture and design to include:
- Collaborate with Product Managers, Platform Software Architects, and other leaders using wide-range of experience, professional concepts and company objectives to design architectures that resolve complex issues in creative and effective ways
- Drive innovation and technical change for controls based software, systems, and platforms which provide automated warehousing products for automated systems in material movement
- Convert a concept/idea to implementation by architecting, designing, building, and implementing the software framework needed for the product/project/application requirement that can be used as the base foundation for lead/senior/junior developers during the initiative
- Oversees and provides expert advice in the evaluation of software programming and modification ensuring adherence to required procedures, methodologies and/or application standards
- Develops and maintains complex cloud based microservice architectures utilizing Domain Driven Design principals for enterprise grade products and solutions that provide high quality, performance, and scalability
- Provides leadership, technology guidance, and mentors others throughout the SDLC process within both product and project development activities. Leverage your domain expertise to coach and further the knowledge and improve productivity of your colleagues.
- Works closely with platform software architects, CI/CD automation architects, and other product development architects to ensures all key technical areas are fully documented, understood and evolve according to business and technical roadmaps
- Works closely with other architects and software engineers to align the organization around standard IDE’s (i.e. IntelliJ, Eclipse, etc.) and open source/commercial tools and libraries, and design patterns that meet the business needs for software development
- Strong ability to quickly analyze functional issues, performance issues, production components and configurations, triaging/troubleshooting of issues across dev, QA, and production environments as needed
- Supports customer deployment of software applications into production environments as needed to ensure proper functionality and customer acceptance
- Works as a multi-skilled professional practicing Agile in both a SCRUM/Kanban methodology
Required Education and Experience:
- Bachelor degree in Computer Science or Information Technology or equivalent. Master degree preferred.
- A Minimum of 8 years working experience developing and architecting in Java with at least 4 years in architecting cloud based microservice applications utilizing Domain Driven Designs
- Expert in Core Java, J2EE, Spring Boot, and Sprint packages and frameworks, message driven frameworks (Kafka, RabbitMQ, or ActiveMQ), docker, RESTFul API, OAuth 2.0, Open API Specification and Cloud environments (Azure, AWS, or Google).
- Experience with Security, Caching Systems (Hazelcast or Redis), Hibernate, K8S, Cucumber, Junit, Apache Camel, JNDI, JMS, Java Script, Front End Technologies (ReactJS or AngularJS and knowledge of complex event based platforms like Flink, siddhi, or other event based streaming frameworks.
- Well-versed in in building microservice based architectures utilizing Domain Driven Designs, Object Oriented Programming, Design Patterns, Architecture best practices and standards such as TOGAF, Zachman Framework, FEAF, MoDAF, 12-Factor App, or Gartner.
- Experience in secure coding practices and coaching/reviewing within development teams
- Experience in building complex applications for low latency environments utilizing “In-Memory Databases”, distributed cache, “in-Memory” computing platforms systems like Hazelcast, Kafka, and Ignite with advanced knowledge and skill developing micro-services with memory and performance management, instrumentation, and construction of fault tolerance features for application resiliency
- Experience with relational, NoSQL, and event streaming database implementations (Oracle, MySQL, PostgreSQL, MongoDB, Cassandra, Kafka)
- Advanced use of ELK Stack (Elastic Search, Kibana, Beats, Logstash) and consumption of XML, JSON, XSLT document types
- Working knowledge of developing/deployment of applications within cloud systems (Azure, AWS, etc.)
Any of the following additional experience is a plus:
- Controls software development within various industrial environments like baggage handling, Warehouse Control/Execution software, transportation systems and enterprise scale applications or equivalent
- Experienced in working with Atlassian tools (JIRA, Confluence, etc.) or other applications supporting Agile environment
- Knowledge and experience with multiple server operating systems (Windows, Unix, Linux).
- Knowledge and experience assisting with construction of CI/CD pipelines in collaboration with DevOps including integration of test automation systems utilizing Docker and Kubernetes
- Strong communication skills (written and verbal).
- Good interpersonal skills (work well within a team).
- Ability to lead one or more development teams and organize technical activities within Agile process.
- Be able to contribute to the onboarding process of additional team members.
- Ability to work in a fast-paced operational environment with competing priorities and multiple stakeholders.
- Strong analytical abilities, and able to put forward recommendations and solutions.
- Able to work unsupervised, take initiative and resolve issues.
This position requires up to 20% travel.