Design, develop, document, test, and debug new and existing software systems and/or applications for market sale or large-scale proprietary software for internal use.
Knowledge, Skills, and Abilities:
- Contribute as a technical expert on development projects across the full development life cycle:
- Analyze business requirements and estimate level of effort
- Write technical specifications based on conceptual design and stated business requirements.
- Write code.
- Perform Unit and Integration testing.
- Participate in design and code review meetings.
- Write Release Notes for QA and End Users.
- Automate deployment of software and systems with CI/CD tools.
- Troubleshoot & resolve production issues.
- Analyze code to find causes of errors and revise programs as needed.
- Drive the execution of complex cross functional projects to ensure their successful and on-time completion.
- Ensure developed solutions fit within the existing system, technical, and application architectures and standards.
- Collaborate with Product Management, R&D, UX, and Architecture to address important customer issues and find innovative solutions to difficult problems.
- Supports and develops software engineers by providing advice, coaching and educational opportunities.
- Update job knowledge by studying development tools, programming techniques, and computing equipment; reading professional publications; participating in professional organizations.
- Knowledge of programming languages and software development practices.
- Experience developing n-tier, scalable applications using web-service architectures.
- Excellent problem-solving and troubleshooting skills.
- Skills in data structures, algorithms, and formal test techniques.
- Ability to work on highly complex issues with minimal supervision.
- Self-starter with excellent communications skills
- Demonstrated ability for self-directed learning
- Ability to discuss tradeoffs in design choices and how they affect the properties and behavior of the system as a whole.
- Ability to take total ownership of assigned projects.
- Ability to multi-task and stay organized in a dynamic environment.
- Ability to work with a diverse team.
- Ability and willingness to select, learn, and teach new technologies.
- Ability to apply the code styles, structures, and organizations that facilitate reuse, understanding, and testability.
- A Bachelor Degree in Computer Science or equivalent.
- 7-10 years of development experience
- JSON RESTful Web Services
- Load balancers, caching solutions, and other moving parts of a high-performance application infrastructure
- Experience with:
- Single Page Applications
- Apache, PHP, Postgresql
- GIT, Bitbucket, Jira, Confluence, Bamboo, Crucible, Salt
- Bootstrap, JQuery