No more applications are being accepted for this job
- Design, code, and unit test core application components by applying advanced knowledge of modern programming languages and mentoring less experienced team members
- Assist in the creation of architectural design specifications by collaborating closely with stakeholders and the development team
- Ensuring that the software architecture fulfills non-functional requirements which include but are not limited to performance, scalability, security, extensibility, and maintainability
- Document and present design, architecture, and technical approaches to aid in code maintenance and code reuse
- Proactively anticipate roadblocks to accommodate product delivery schedules and collaborate with team members and managers for workarounds
- Assist in daily scrum meetings and change requests to ensure smooth sprints
- Participate in post-implementation reviews and discussions by providing recommendations on process improvements, knowledge sharing, and communication flows for continuous optimizations
- Debug defects and troubleshoot issues reported by the Software Quality Assurance and/or Client Services teams in a timely manner
- 8+ years in a commercial software application development environment
- 6+ years of relational database-backed application development
- 7+ years of Java experience
- Strong Linux knowledge and ability to work comfortably in a Linux command line environment in addition to IDEs
- Excellent knowledge of relational database design principles including schema design, procedures, queries, constraints, transactional boundaries, troubleshooting, and query performance tuning
- Knowledge and experience with PostgreSQL and PL/pgSQL scripting (preferable) or other relational databases
- Working experience with Hasura as an asset
- Knowledge-building Java-based REST or GraphQL web services
- Knowledge of front-end UI development languages and frameworks , VueJS, React, etc) and methodologies for back-end communications (REST, GraphQL, etc...)
- Ability to document software designs and produce clean, understandable, well-commented code
- Experience practicing agile development methodologies such as Scrum
- A proven track record of successfully designing, developing, and launching enterprise web-based applications to the market.