The Software Engineer’s role is to design, execute, assess, and troubleshoot software programs and applications. This includes configuring, coding, developing, testing and documenting software specifications throughout the project life cycle. The Software Engineer will also oversee system startups in a timely and accurate fashion, and provide support to other technical teams where required.
Essential Job Functions
Collaborate with database team members, project managers, QA analysts, business users and user interface developers in the development and initiation of new software programs and applications.
Research, document, and implement program requirements and specifications.
Consistently write, translate, and code software programs and applications according to specifications.
Perform within existing standards and architectures and work with architect to extend / modify architecture where appropriate.
Oversee the quality assurance of program logic, data processing, and error resolution.
Run and monitor performance/integration/unit tests on new and existing software for the purposes of correcting mistakes, isolating areas for improvement, and general debugging.
Perform diagnostic analysis of test results and deliver solutions to critical areas.
Develop an awareness of programming and design alternatives.
Cultivate and disseminate knowledge of application development best practices.
Gather statistics and prepare and write reports on the status of the programming process for discussion with management and/or team members.
Create and maintain documentation related to software programs and applications.
Install software products for end users as required.
Participate in software/hardware upgrades.
Liaise with network administrators, database developers, programmers, and other software engineers to resolve any defects in products or company systems.
Take an active role in cross-departmental projects when needed.
Direct and participate in research on emerging application development software products, languages, and application development methodology standards in support of procurement and development efforts.
Interact regularly with managers, clients, vendors, and agencies to field queries and questions.
Train, manage and provide guidance to junior software development staff as required.
High school diploma or equivalent
Bachelor’s Degree in Software Engineering, Computer Science or equivalent work experience preferred
Certifications in J2EE / Java EE preferred
Five (5) years of work experience in a related field, seven (7) years of experience preferred
Technically fluent in programming languages, with emphasis on Java and familiarity with other languages like C#, and Python
Understanding of front-end build pipelines and tools
Experience with REST architecture
Experience with JPA and Spring
Experience with Linux and Windows utilities
Experience in object oriented development tools and methodologies
Experience with application deployment in “n-tier” production environments
Proven database and operating systems experience with Oracle and Solaris
Competent and proficient understanding of platforms such as Oracle WebLogic Server
Experience in an agile development environment and with agile development practices
Solid working knowledge of current Internet technologies
Hands-on software troubleshooting experience
Understanding of security concerns in Java/Java EE development
Experience at working both independently and in a team-oriented, collaborative environment is essential
Ability to effectively prioritize and execute tasks in a high-pressure environment is crucial
Proven analytical and problem-solving abilities
Adept at conducting research into software-related issues and products
Must be able to learn, understand, and apply new technologies