Software Engineer
Position Summary:
This position is responsible for leading the design, development, operation, and maintenance of Information Technology computer systems and software applications. Software Engineer uses technical knowledge to define strategic direction within the specific discipline and to solve complex business problems, by means of a systematic and disciplined approach. This position employs software, hardware, and/or communication technologies to accomplish assignments.
Essential Duties and Responsibilities:
-
Builds cloud-native applications as part of modernization effort
-
Builds applications following the Twelve-Factor App Methodology
-
Creates RESTful APIs using Java 8+ and Springboot
-
Uses CI/CD pipeline to deploy applications
-
Uses containers in the development process
-
Integrates software components into a fully functional software system
-
Troubleshoots, debugs and upgrades existing systems
-
Ensures software is updated with latest features and industry standards
-
This job description in no way states or implies that these are the only duties to be performed by the employee occupying this position. Employees will be required to perform any other job-related duties assigned by their supervisor or management.
Qualifications, knowledge, and skills:
Required skills/competencies:
-
Requires a Bachelor's degree in Computer Science or Computer Engineering (Master's degree is an advantage preferred) in area of specialty, or equivalent experience.
-
5+ years of experience in the field or in a related area
-
Demonstrates strong knowledge and capabilities within specific area of responsibility
-
Experience in Java programming language, (Java 8 or above)
-
Experience in Spring framework including SpringBoot
-
Experience in CI/CD pipelines using Jenkins or Gradle
-
Experience in RESTful services
-
Experience in JavaScript or TypeScript
-
Experience with MS SQL Server and No-SQL database such as Couchbase
-
Experience in version control system (Git or SVN)
Preferred skills:
-
Experience in Docker container
-
Experience in cloud-native development
-
Experience in Linux shell script
-
Experience in PHP
-
Performance test framework such as JMeter
-
Experience in .NET Framework (C# and ASP.net)
-
Experience in configuration/deployment in Windows Server (IIS)
-
Experience in SQL Server development (stored procedures, functions, triggers)
-
Experience with test-driven development
-
Subject matter expertise in computer science, engineering or related discipline
-
Able to formulate, communicate and implement technical solutions
-
Lead teams and manage project deadlines.
-
Proven ability to collaborate with technical peers
-
Capable of working independently with minimal supervision. May lead or direct the work of others
-
Demonstrate a degree of creativity with strong analytical and problem solving skills
-
Strong with methodologies, tools, best practices and processes within specific area of responsibility
-
Excellent verbal and written communication skills
-
Ability to work well under pressure.
-
Establish and complete tasks with little to no supervision
#LI-JR1