Primary responsibility is to understand the requirement, design, develop test and document Mobile Banking App and Internet Banking program.
Evaluates user requirement prepared by the system analyst for new or modified program to determine feasibility, compatibility with current system architecture and core banking capabilities.
Consults with system analyst to identify current operating procedures and clarify program objectives in carrying his/her task to deliver a software artifact.
Identify and find solutions to develop programs that meet user requirements from the functional, usability and supportability aspect.
Formulates plan outlining steps required to develop program, using structured analysis and design.
Converts requirement and design specifications, using flowcharts and diagrams, into sequence of detailed instructions and logical steps for coding into language process-able by computer, applying knowledge of computer programming techniques and computer languages.
Replaces, deletes, or modifies codes to correct errors.
Analyses, reviews and alters program to increase operating efficiency or adapt to new requirements.
Writes documentation to describe program development, logic, coding and corrections.
Writes manual for users to describe installation and operating procedures.
Assists users to solve operating problems.
Recreates steps taken by user to locate source of problem and rewrites program to correct errors.
Provide technical assistance to support personnel.
Monitor performance of program after implementation.
Monitor and improvise performance of team member.
Obligation to deliver project on time after commit to Project Manager.
Analytical skills, to critically evaluate the information receive from system analyst to distinguish solution ideas form requirements. To critically evaluate the information receives from support engineer to in order to find out the root cause of a reported problem.
Communication skills, to solicit input from support engineer and system analyst in the process of investigating and solving system bugs, or change request.
Observational and troubleshooting skills, to validate and investigate log data or other captured date obtained directly or obtained through support engineer.
Problem solving skills, to be able to continuously come out with different structured ideas in the process solving problem.
Modeling and abstraction skills, to recognize and abstract design pattern (OOP or other methodology) in the process of solving a problem.
Have a good practical knowledge and ability to write codes in the following technologies:
Java programming language(language syntax, commons core API & how jvm works)
Python programming language
SQL (oracle, PostgreSQL, etc.)
NoSQL DB (mongo dB)
Networking and protocols ( TCP / IP, HTTP , SNMP , CORBA , RMI)
Hibernate as Object Relational Mapping tool.
Spring framework as inversion of control (IoC) framework.
Struts, Strusts2, Webwork
J2EE (Servlet, JSP, EJB, JMS, Webservice, JNDI, JMX)
Aspect Oriented Programming
Unit Testing & Continues Integration Tools
Agile methodologies: Scrums, Continuous Integration & Test-Driven Development
An understanding of contemporary software engineering metrologies, problem solving techniques, and ability to apply them in practice; familiarity with software engineering and software development books and resources.
An understanding of how to model object-oriented program and constantly applies it into the code.
Knowledge of programming and computer algorithm concepts and how enterprise software products developed.
An understanding of high-volume or critical production service environment.
An understanding if IP networking, including the ability to analyze network behavior, performance and application issues using standard tools like top dump / ethereal/wireshark.
Familiar with and have working knowledge with the following operating system and applications:
Window (NT /XP /Vista)
Linus/Unix (Red hat, Sun Solaris, HP / UX)
Tomcat Web Server
JBoss Application Server
WebSphere Application Server