By NV Access
Position Title: Software Engineer
Use your Python / C++ skills to empower blind and vision-impaired people globally through technology.
- A great opportunity to gain experience through diverse aspects of a software development organisation
- Open source development – global, life-changing impact
- Remote first – Flexible working conditions – work from home
NV Access is a global non-profit organisation, based in Australia, dedicated to the ideal that access to technology should not incur an extra cost for blind and vision impaired users. The purpose of NV Access is to lower the economic and social barriers associated with accessing Information Technology for people who are blind or vision impaired. NV Access develops the free, open source NVDA screen reading software for Microsoft Windows, enabling more than 100,000+ blind and vision-impaired people across the globe to access computers.
We are looking to appoint a full-time software developer to join our small team. Your work will focus on improving our NVDA screen reading software and related online infrastructure, including feature implementation and bug fixing.
Technologies we currently use are:
- win32, COM, UI Automation
- SCons, Visual Studio, windbg
- GitHub, Appveyor
- Ubuntu server
- WSGI, Flask
- MySQL, PostgreSQL
- WordPress / PHP
Daily activities in this role will include:
- Implementation of new features and bug fixes in the NVDA screen reader
using Python / C++
- Implementation of features and bug fixes for the NV Access server infrastructure including WordPress, Flask, and other custom Python code
- Performing quality assurance for NVDA, including triage, testing, debugging, and determining the cause of bugs either within NVDA or 3rd party software
- Writing of both end user and technical documentation
- Maintenance of Continuous Integration infrastructure (currently Appveyor)
- Increasing our platform coverage for testing NVDA on various versions and SKUs of Windows
- Working with other software projects to improve accessibility, including filing bug reports, requesting features and submitting patches
- Assisting with research and development of future projects
- Planning for and assisting in disaster recovery, including backup and restoration of data, and creation and updating of infrastructure documentation.
Your key attributes will be:
- A thorough understanding of the Python programming language
- An understanding of object oriented programming and design
- Past experience developing on a moderate to large code base
- Windows development experience
- An understanding of testing processes and bug isolation
- Experience with various Virtual Machine packages and services
- An interest in testing and community engagement
- Ability to pick up new concepts and technologies quickly and follow agile development methodologies
- Understanding of / keen interest in accessibility
- Good communication skills
- Self motivated
- Solid grasp of issue tracking and version control
- Able to communicate with people in different time zones and from diverse linguistic and cultural backgrounds
- An understanding of software project management, including triage and planning
Highly desirable attributes are:
- Experience in C++ development
- Experience in accessibility development
- Experience developing with win32 and COM APIs
- A university degree in information technology (or similar)
- Past contributions to open source projects
- Experience developing automated tests and test frameworks
- Experience with Linux server administration (specifically Ubuntu)
- Past experience maintaining public-facing server infrastructure
How to Apply:
To apply for this position, you must be classed as “An Australian Resident for tax purposes”, and be prepared to work full time from home with occasional face to face meetings.
Note: All applications must include a resumé as well as a cover letter highlighting your relevant experience, and how it meets the key attributes for the role described above.
Email your application to info@...
We are happy to answer any questions you have about this role, please feel free to get in contact by sending an email to info@....