fico
Software Engineering – Sr Engineer (12+ years of experience)
Job Description
Role Background
At FICO, innovation, quality and high performance are the basis of everything that we do for our customers, from initial engagement through to the final solutions that we provide for making their business successful. As a key member of an energetic software development team that delivers innovation to different market sectors across the world, we want you to play a pivotal role in continuing to maintain, enforce and extend these themes within our organization.
We are seeking a senior software engineer to undertake a range of feature development tasks that continue the evolution of our DMP Streaming product. You will demonstrate the required potential and technical curiosity to work on software that utilizes a range of leading edge technologies and integration frameworks. Given your depth of experience, we also want you to technically guide more junior members of the team, instilling both good engineering practices and inspiring them to grow.
Responsibilities
Implement product changes, undertaking detailed design, programming, unit testing and deployment as required by our SDLC process
Investigate and resolve reported software defects across supported platforms
Work in conjunction with product management to understand business requirements and convert them into effective software designs that will enhance the current product offering
Produce component specifications and prototypes as necessary
Provide realistic and achievable project estimates for the creation and development of solutions. This information will form part of a larger release delivery plan
Develop and test software components of varying size and complexity
Design and execute unit, link and integration test plans, and document test results. Create test data and environments as necessary to support the required level of validation
Work closely with the quality assurance team and assist with integration testing, system testing, acceptance testing, and implementation
Produce relevant system documentation
Participate in peer review sessions to ensure ongoing quality of deliverables. Validate other team members’ software changes, test plans and results
Maintain and develop industry knowledge, skills and competencies in software development
Skills and Experience
A Bachelor’s or Master’s degree in Computer Science, Engineering, or related field
Required
- Experience with Java software development experience within an industry setting
- Ability to work in both Windows and UNIX/Linux operating systems
- Detailed understanding of software and testing methods
- Strong foundation and grasp of design models and database structures
- Proficient in Kubernetes, Docker, and Kustomize
- Exposure to the following technologies: Apache Storm, MySQL or Oracle, Kafka, Cassandra, OpenSearch, and API (REST) development
- Familiarity with Eclipse, Subversion and Maven
- Ability to lead and manage others independently on major feature changes
- Excellent communication skills with the ability to articulate information clearly with architects, and discuss strategy/requirements with team members and the product manager
- Quality-driven work ethic with meticulous attention to detail
- Ability to function effectively in a geographically-diverse team
Desirable
- Ability to work within a hybrid Agile methodology
- Understand the design and development approaches required to build a scalable infrastructure/platform for large amounts of data ingestion, aggregation, integration and advanced analytics
- Experience of developing and deploying applications into AWS or a private cloud
- Exposure to any of the following: Hadoop, JMS, Zookeeper, Spring, JavaScript, Angular, UI Development
Personal Characteristics
Motivation
- Likes fast pace; high level of daily activity
- Independent; enjoys autonomy and rejects micromanagement
- Focuses strongly on quality and resilience of each solution
- Outcome oriented; doesn’t confuse activity with productivity
Influence
- Confident; persuasive
- Candid; sometimes outspoken about internal obstacles
Work Style
- Juggler of priorities, able to manage different work demands and changes in plans
- Disciplined, yet adaptable to pressing demands
- Absolute focus on attention to detail
Relationships
- A collaborator who values a strong team ethic – aware of who can assist progress
- Builds reputation – clients come first – available and responsive
- Strong communicator – conveys information clearly, which others value
Thought Process
- Creative
- Methodical – considers all angles and steps back to look at the ‘bigger picture’
- Visionary: plans for the future not just for the now
- Appreciates simplicity, elegance and rigor