Arobas Personnel is looking for a senior software developer for a full-time position at one of our clients in the West Island of Montreal.
A Senior Developers must have significant experience in software development. They will use their expertise and knowledge of the industry practices to perform various development tasks such as, coding, application development and maintenance of the software. They often oversee specific parts pf a project and may specialize in a particular area of development. The Senior Developer is expected to oversee and mentor junior developers on projects. They are usually work closely with the software architect to lead software development for various projects.
The Senior Developer’s duties and responsibilities will vary from project to project. However, several core responsibilities are expected. The following core tasks and responsibilities:
- Write Code: Depending on the size of a project, the Senior Developer may be responsible for a large portion of coding or may have the work distributed between multiple developers.
- Review Code: The Senior Developer will be responsible for reviewing all code work for accuracy and functionality.
- Optimize Code: The Senior Developer will be responsible for optimizing existing code. Optimizations may be related to speed or performance.
- Design and Implement Software: The Software Developer will participate in the design phase of software projects. They will assist the Software Architect in planning and creating standards for the project. The implementation of the project is also a responsibility of the Senior Developer and will usually require coding and testing.
- Analyze Data: The Senior Developer may be asked to analyze coding segments. Analysis is ongoing work that is performed throughout the entirety of a project.
- Document Projects: Documentation is a very important part of the Senior Developer’s job.These documents will serve as references for new employees and for future maintenance on the system. Senior Developers must be able to communicate well through writing and be able to create flowcharts and diagrams.
- Coaching and Mentoring: The Senior Developer is expected share their skills and expertise with other members of the team as well as set a positive example for them. They need to be able to encourage team members to think creatively and keep them motivated.
- Broad and extensive knowledge of the software development process and its technologies
- Strong background in coding and coding standards
- Strong knowledge of user interfaces
- Strong knowledge of cross-platform frameworks and web frameworks
- Experience with database creation and maintenance
- Experience in core C++ development within a service oriented architecture
- Comfortable with threading, interprocess communication, XML-based messaging
- Experience with cross-platform development, primarily Windows and MAC
- Solid understanding of Object Oriented concepts.
- Experience building SDK and API interfaces
- Knowledge of design patterns (MVC, Strategy, Factory, Singleton) and general design considerations
- Experience with code coverage, unit testing, and integration tests.
- Experience in Agile/Scrum methodology and tools such as JIRA, Version One, or Rally.
- Experience with version control software such as GIT.
- Understanding of Agile methodologies, Git workflows and DevOps automation
- Familiar with relational databases and SQL
- Nice to have: Experience developing computer vision or computer imaging applications
* Experience with QT or other cross-platform frameworks * Experience in computer vision