Collaborate to gather and review software requirements/user stories, provide estimates, create software design specifications and collaborate with engineers/architects to assess and test hardware and software interactions. Execute a specific development methodology through application of various programming languages. Create and execute automated test plans/strategies utilizing business requirements and collaborate with engineers/architects, clients, etc. to validate test environments, test data and test results, design and implement code fixes, validate outcomes against expected results and produce associated reporting. In addition to Unit Test, responsibilities may include interface testing, integration testing, end-to-end testing and/or user acceptance testing. Supports applications and solves configuration and environment issues. Supports the software deployment process.
Roles And Responsibilities
Responsible for the overall delivery process of a software application or service, including design, development, testing, deployment, production application support (e.g., troubleshooting) and maintenance with a focus on automation.
Functional Competencies
Key Competencies and Skills:
- Basic Understanding of the following
- Application Design, Architecture
- Emerging technologies
- DevOps
- Mico-service-based architecture
- Practices: Clean code, Test-driven design, Behavior-driven design, Unit testing, Feature Toggling, Automation testing (component, integration and end2end)
Working Knowledge Of The Following
- Advanced iterative methodologies such as Agile and Safe
- Application development tools
- Information security management
- programming (Java; C/C++; Oracle; NoSQL DBMS; Object Oriented Development; Unix/Linux; Scripting; HTML5/CSS3; RWD frameworks)
- Requirements analysis
- Software development life cycle
- Software QA & testing tools
Business Competencies
Basic understand of design thinking
Leadership Competencies
Experienced in the following:
- Collaborate across workgroups
- Strong communication skills
- Quick and independent learner, autodidactic
- Ability to see the big picture
- Continuous improvement mindset
- Comfortable working in complex and demanding environments with high degree of change
Education And Qualifications
Preferred Bachelor of Science degree in Computer Engineering, Computer Science, or equivalent technical degree or equivalent technical experience
Additional Information
Coding Language:
Java technology: Core Java, JDBC, JPA, EJB, Servlet, JSP
Web technologies: Node JS, Angular JS, JQuery, DOJO, ES 6, Handlebars, Java script, Adobe flex
Web application framework: Struts 1.x, 2.0
Micro service concepts: Dockerization, Kubernates, Config map, Secrets, YAML, KubeCTL, Pipelining, Jenkins, Elastic Alert, Kibana, Promethus, Grafanna
Spring technology: Core, Context, DAO, ORM, AOP, Web-flow
ORM framework: Hibernate, TopLink
WebServices: SOAP, REST
Build tool: Ant, Maven
Databases: Cassandra, Oracle, MySQL, DB2
Webserver: Tomcat, Jetty
Application server: Weblogic, JBoss, Glassfish
Scripting: Python, Shell
Programming languages: C++, Java
IDE: Eclipse, IntelliJ, Visual Studio Code, NetBeans