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 Applied Computer Science, Computer Science, Computer Engineering, or related field of study plus 3 years (36 months) of experience in the job offered or as Software Engineer, Software Development Engineer Senior, Project Lead - System, System Analyst, Senior Software Engineer, or related occupation. The employer will alternatively accept a Bachelor's degree in Applied Computer Science, Computer Science, Computer Engineering, or related field of study plus 5 years (60 months) of experience in the job offered or as Software Engineer, Software Development Engineer Senior, Project Lead - System, System Analyst, Senior Software Engineer, or related occupation. Skills Required: This position requires experience with the following: Developing Java applications utilizing the Spring Framework and Maven for dependency injection, project management, and build automation; implementing web services with JSON for data exchange in RESTful APIs and SOAP for communication between heterogeneous systems; building scalable and resilient microservices architectures using Apache Kafka for real-time data streaming and event-driven communication; managing Unix-based systems and automating system administration tasks through shell scripting; designing and optimizing database schemas in Oracle; utilizing SQL for data manipulation and retrieval; deploying and managing containerized applications on cloud platforms including AWS using Docker for containerization and Kubernetes for orchestration; implementing distributed coordination services for large-scale systems with Apache Zookeeper; mapping Java objects to relational database tables with Hibernate; automating web browser interactions for testing purposes with Selenium; designing responsive and visually appealing user interfaces with Bootstrap; monitoring and optimizing application performance in real-time with Dynatrace; writing unit tests for Java applications with Junit; evaluating system performance under various conditions with performance testing; analyzing and visualizing system generated logs for insights and troubleshooting with Splunk; managing source code changes with GIT; setting up and configuring continuous integration and continuous deployment pipelines with Jenkins; deploying and managing Java web applications with Apache Tomcat; designing and implementing distributed and highly available NoSQL databases with Cassandra; writing behavior-driven development (BDD) tests for Java applications with Cucumber; and developing enterprise Java applications with J2EE.
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