The Development family is responsible for crafting, designing, deploying, and supporting applications, programs, and software solutions. May include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities related to software products used internally or externally on product platforms supported by the firm.
The software development process requires in-depth subject matter expertise in existing and emerging development methodologies, tools, and programming languages. Software Developers work closely with business partners and / or external clients in defining requirements and implementing solutions.
The Software Engineering role specializes in planning, detailing technical requirements, designing, developing, and testing all software systems and applications for the firm.
Works closely with architects, product managers, project management, and end-users in the development and improvement of existing software systems and applications, proposing and recommending solutions that tackle sophisticated business problems.
Act as a technical expert on one or more applications utilized by company.
Work with the Business System Analyst to ensure designs satisfy functional requirements
Partner with Infrastructure to identify and deploy optimal hosting environments
Tune application performance to eliminate and reduce issues
Research and evaluate technical solutions consistent with company technology standards
Align risk and control processes into day to day responsibilities to monitor and mitigate risk; escalates appropriately
Apply different software development methodologies dependent on project needs
Contribute expertise to the design of components or individual programs, and participate in the construction and functional testing
Support development teams, testing, troubleshooting, and production support
Create applications and construct unit test cases that ensure compliance with functional and non-functional requirements
Work with peers to mature ways of working, continuous integration, and continuous delivery
Bachelor's degree in Computer Science, Applied Computer Science, or related field
6+ years or related experience.
Passion for technology, a curious mind, and an entrepreneur mindset.
Expert in back-end and front-end application development.
Hands on experience in client/server and object-oriented software development utilizing Java/J2EE, Spring (Boot), Angular 6+, JSON, MQ, JMS, REST API, DB2, and Oracle DBs, Linux
Experience using the following tools: GIT, Bit Bucket, Jira, Maven, Jenkins.
Proven track record with WebSphere, Tomcat, JBoss or other Application servers
In-depth knowledge of relational databases including DB2, Oracle and ORM frameworks like Mybatis, Hibernate.
Proficiency in various phases of the system development life cycle including project planning, analysis, design, development, and testing
Solid focus on software testing with Junit, Mockito, Jasmine, Karma.
Demonstrable experience in software development using CI/CD tools (Jenkins, Bitbucket, Nexus or similar)
Familiarity with different software development methodologies (Waterfall, Agile, Scrum, Kanban)