Senior Database Java Developer
Senior backend developer at AlertDriving in Toronto building database-centric, web-based enterprise products in Java (Spring) backed by PostgreSQL/PL/pgSQL, with GraphQL (Hasura) services and some front-end exposure (VueJS/Ionic). Owns design, architecture, coding, testing, and delivery within an agile Scrum team.
- Compensation
- Not disclosed
- Location
- Toronto, Canada
- Work setup
- Not specified
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 6+ years
- Category
- Software engineering
- Posted
Skills
Must have
- Bachelor's degree in Computer Science, Engineering, or related discipline (or equivalent work experience)
- 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 comfort working in a Linux command line environment in addition to IDEs
- Excellent knowledge of relational database design principles: schema design, procedures, queries, constraints, transactional boundaries, troubleshooting, and query performance tuning
- Knowledge building Java-based REST or GraphQL web services
- Knowledge of front-end UI development languages and frameworks (ionic.io, VueJS, React, etc.) and back-end communication methodologies (REST, GraphQL)
- Ability to document software designs and produce clean, understandable, well-commented code
- Experience practicing agile development methodologies such as Scrum
- Proven track record of successfully designing, developing, and launching enterprise web-based applications to market
- Excellent verbal and written communication skills
Nice to have
- Knowledge and experience with PostgreSQL and PL/pgSQL scripting (preferable) or other relational databases
- Working experience with Hasura as an asset
Full description
Job Description
Job DescriptionBackend Application Developer - Job DescriptionPosition Summary
We are currently looking for an experienced application developer who is well-versed in database-centric application development and will support the ongoing development of the company’s web-based software products and internally developed support systems. You have extensive experience designing database structures and associated queries and procedures. You must be able to assess the business requirements accurately and translate them into technical implementations. You will own all the technical aspects of your deliverables while keeping a close eye on estimates, status, code quality, team productivity, and deliverable dependencies on your components.
Duties of the Backend Application Developer
Tasks of the Backend Application Developer revolve around the development of enterprise-class, database-focused web-based applications which include:
- 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
Technologies in Use
PostgreSQL, PL/pgSQL, GraphQL (Hasura), ionic.io, VueJS, Java, Spring Framework, MongoDB, Python, Debian Linux, Docker
Education and Training Requirements
The minimum post-secondary education requirement is a Bachelor’s degree with concentrated study in Computer Science, Engineering, or other related disciplines or equivalent work experience.
Knowledge and Skills Requirements
The Backend Application Developer should possess the following ideally:
- 8+ years in a commercial software application development environment
- 6+ years of relational database-backed application development