This is a professional hands-on IT position in which the incumbent’s main responsibilities are application software design, development, systems maintenance, modification and documentation. The Senior Software Engineer uses structured analysis and design methodologies to perform full life cycle development for client applications ranging in complexity.
Roles and Responsibilities
- Performs design, development, testing, code review and post-production support for applications based upon the specific needs of the client.
- Adheres to sound standards and best practices during all phases of software development life cycle.
- Collaborates with team to provide technical solutions to support long-term technology strategy.
- Stays current on technology trends and identify ways to innovate Client’s software applications’ social and mobile capabilities.
- Creates prototypes, refines solutions and establishes proof of concept.
- Diagnoses/repairs development and production issues in a timely manner.
- Closely follows version control, documentation and code promotion procedures.
- Skilled problem-solver, able to prioritize and is detail oriented.
- Provides production support, enhancements and ongoing maintenance for custom programs that interface with third party vendors and other internal systems.
- Performs other duties as assigned.
- Bachelor’s degree in computer science or relevant field with minimum 8 years of professional experience in full software development life cycle; or 6 years of professional experience with a related master’s degree.
- Full stack developer with hands-on experience with backend, frontend and database technologies.
- Experience with J2EE using Spring framework, design patterns and open source software.
- Experience with Service Oriented Architecture (SOA), Restful/SOAP.
- Experience with stored procedures, triggers, functions, DDL, DML, writing complex SQL queries on Oracle/MySQL relational databases.
- Experience with UI frameworks such as AngularJS, ReactJS, etc.
- Experience with various client and server testing frameworks like Junit, SonarQube, JaCoCo, JMock, Mockito, TestNG, Jasmine, Selenium, etc.
- Experience with build tools like GIT, Ant, Maven, Grunt, GulpJS.
- Experience with configuring Web and application servers.
- Experience with Atlassian tool suite Confluence, JIRA and Crucible.
- Experience with CI/CD pipelines.
- Experience with Linux/Unix or Mac OSX.
- Experience with working across multiple projects and consistently produce defined results.
- Must possess excellent communication & interpersonal skills and ability to communicate with all level of staff to determine system requirements, processes and data flows.
- Ability to work independently and in a team.
- Experience with Amazon Web Services/Heroku a plus.
- Experience with application containerization technologies like Docker.
- Expert knowledge of systems, software, programming languages, development methodology and web frameworks.
- Strong grasp of common web technologies and recent developments in social, mobile and cloud applications.
- Results driven with demonstrated successful outcomes in building high profile web applications.
- Must also be able to facilitate occasional projects not possible during normal business hours due to vendor necessity or customer impact (e.g. ability to be on call for any critical system issues).