Duties: Design, develop and implement software solutions. Solve business problems through innovation and engineering practices. Involved in all aspects of the Software Development Lifecycle (SDLC) including analyzing requirements, incorporating architectural standards into application design specifications, documenting application specifications, translating technical requirements into programmed application modules, and developing or enhancing software application modules. Identify or troubleshoot application code-related issues. Take active role in code reviews to ensure solutions are aligned to pre-defined architectural specifications. Assist with design reviews by recommending ways to incorporate requirements into designs and information or data flows. Participate in project planning sessions with project managers, business analysts, and team members to analyze business requirements and outline proposed solutions. QUALIFICATIONS: Minimum education and experience required: Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field of study plus 3 years of experience in the job offered or as Software Engineer, Program Analyst, IT Consultant, or related occupation. The employer will alternatively accept a Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or related field of study plus 5 years of experience in the job offered or as Software Engineer, Program Analyst, IT Consultant, or related occupation. Skills Required: This position requires experience with the following: building distributed systems using Command Query Responsibility Segregation (CQRS) design pattern; utilizing Java to build microservice or API; processing big data using Spark; processing real-time events using Kafka; using Java dependency modules to manage and organize the dependencies of the application to ensure modularity, encapsulation, and improved performance; creating API contracts using Swagger; creating events contracts using AVRO; designing JSON and XML notations for exchanging data between the producer and consumer; creating RESTful web service API using Spring Boot; utilizing J2EE to build secure enterprise applications that can handle business processes and large volumes of data; using JAX-RS to develop REST web service; using Servlets and JDBC to create server applications that retrieve data from Cassandra and Oracle databases; implementing logging with Log4j and querying the logs using Splunk for troubleshooting; implementing unit tests using Junit for code created; using Mockito to mock service responses; building applications using IntelliJ IDE tool and Maven; organizing code using GIT or BitBucket code repository; creating scripts to automate deployment process through CI/CD pipeline including compiling, packaging, testing, transferring, and releasing to the target environment; utilizing Continuous Integration and Continuous Development (CI/CD) including Jenkins, Docker, and Terraform tools to make coding changes and manage them in deployment and continue to make changes for future deployments; utilizing Splunk, Dynatrace tools, Oracle and Cassandra databases, and Tableau report to monitor the health of application running in Production and provides information to troubleshoot issues.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Mid Level