Software Engineer - Banking
Summary
Builds and maintains banking software using Java, ReactJS, and RESTful APIs, following full SDLC from design to deployment in a financial-services environment.
Key Responsibilities
Address the entire software development lifecycle - to analyse the needs, and then design, test and develop software to meet those needs Document the process using diagrams and flowcharts, developing computer instructions using algorithms Develops information systems by designing, developing, and installing software solutions Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions Develops software solutions by studying information needs, conferring with users, and studying systems flow, data usage, and work processes Investigates problem areas Follows the software development lifecycle Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code Prepares and installs solutions by determining and designing system specifications, standards, and programming Improves operations by conducting systems analysis and recommending changes in policies and procedures Obtains and licenses software by obtaining required information from vendors, recommending purchases, and testing and approving products Provides information by collecting, analyzing, and summarizing development and service issues Accomplishes engineering and organization mission by completing related results as needed
What We Are Looking For
Demonstratable experience of professional software development experience Have a thorough understanding of computer systems, in order to recognise any hardware limitations that could impact software design Proficiency in Java or C++, and object-oriented design skills Application architecture and design patterns Experience serving as technical lead throughout the full software development lifecycle, from conception, architecture definition, detailed design, scoping, planning, implementation, testing to documentation, delivery and maintenance is preferred Knowledge of professional software engineering and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations Experience in development of distributed/scalable systems and high-volume transaction applications