Staff Software Developer

Vancouver, BC
Engineering /
Remote /
Hybrid
Improving is a 15+ year technology management and consulting services firm deeply rooted in our commitment to establishing trust. We live out our values of Excellence, Dedication, and Involvement by providing each of our 1500 members across 16 locations on two continents a variety of opportunities and programs to grow in a way that's befitting their unique talents and interests, while supporting each one's unique path in life.

Improving Vancouver’s data and cloud team has been building strong relationships and expert technical knowledge with clients such as start-ups and established multi-nationals since 2017. From architecture to infrastructure to low level connector, we innovate and build out the world's data ecosystems. We value kindness, engagement, a resourceful perspective, and fresh ideas. We thrive on crafting technical excellence.

A Staff Developer at Improving Vancouver is a go-to for a one or more technologies - not necessarily having all the answers as much as being able to navigate the ecosystems of their area(s) of specialty.  The interview approach we take for a Staff Developer addresses the technical mentor role you have played, but also the value you bring to the table as a specialist in one or more technologies.  You can look forward to rich discussion and the mutual sharing of technology Pro Tips and insights - your interviewers are smart and caring people who want to help you feature your valuable skills and abilities.  Furthermore we value your opinions, insights and questions and encourage you to share them both in anonymous surveys or within the direct discussions.

New members can expect an exceptional onboarding experience where you'll get to know everybody in the company, our various internal programs for learning and sharing new technologies among the team, and work with your manager to make sure you are supported in your way of work and in your career growth. Your learning, your growth are critically important to us and we look forward to growing together!

As a Staff Developer you'll be given autonomy and trust to:
• Scope and author designs for moderately complex features and drive to completion (spanning multiple months) including implementation, testing, and release.
• Collaborate and coordinate with the team, delegating to other team members, ensuring their success.
• Reach out to our external customers to discuss topics or answer questions.
• Actively mentor direct team members and others within the company.
• Be a subject matter expert for multiple areas within the company and proactively share that expertise with other teams and developers, thereby directly influencing them to achieve successful results.
• Support other developers across the company who may seek you out as a trusted source for your subject matter expertise.
• Drive one or more features within the team with minimal guidance.
• Independently come up with a vision to solve a complex problem and get buy-in with our stakeholders, including external customers and technical staff, to realize that vision.

Technical Acumen Responsibilities

    • Hands-on technical oversight of assigned client projects, including ownership for design, coding, reviews, testing and documentation. 
    • Expected to become educated on project technologies to provide technical guidance to both our team and customer.
    • Recognize and specify all areas where tests should be written and ensure they are completed for each project.
    • Own code quality. Actively participate in code reviews and be the champion for high code quality.
    • Write complete and correct tests for all development projects. Set up test frameworks, where appropriate.
    • Efficiently write clear and concise programs that are maintainable, readable, portable (where appropriate), testable, and documented.
    • Meet programming standards by following production, productivity, quality, and customer-service standards.

Delivery & Execution

    • Accountable to lead the team for assigned client projects to successful technical and deliverable outcomes.
    • Take ownership of projects that are assigned to them, prioritize and manage time effectively to meet schedules, including delegating tasks to other developers and asking for help from developers or management.
    • Ability to guide the team and operate independently to efficiently deliver results.
    • Gather specifications from clients on projects. Author scope of work documents that lay out deliverables, milestones and assumptions requiring time estimation, technical scope definition, and refinement with customers. Have input on progress tracking and resource assignment.
    • Foster highly productive collaboration within your team on assigned projects.
    • Use clear and timely communication to ensure the team and clients are well informed at all times.

Leadership

    • Provide active feedback to developers within the company ensuring continuous growth for them throughout development.
    • Be a subject matter expert in multiple areas for the company.
    • Follow and lead efforts in improving company best practices, knowledge base, policies and processes to ensure the company is best positioned to satisfy client requirements.
    • Lead by example in pursuing projects that require learning new technologies, and continually expand your skills by educating yourself in development skills in terms of both process, technology, and language.
    • Lead with proposals and solutions to challenges and issues.
    • Participate in the recruitment process to grow both the size and number of reporting teams.
    • Participate in the development of an inclusive, helpful, fun environment.

Qualifications

    • B. Sc. in Computer Science, Software Engineering, or equivalent relevant experience.
    • 4+ years experience in a technical leadership role within a team.
    • 7+ years of industry experience with object-oriented programming in C++ or Java , both a plus.
    • Development experience on Window and macOS, Linux a plus
    • Experience documenting software design.
    • Experience defining and estimating software development requirements.
    • Experience writing tests, both unit and integration.
    • Excellent communication skills, both written and verbal.
    • Hard working and passionate about technology.
    • Ability to work independently and provide leadership to the team.
    • Proven record of successful on-time delivery of projects with a high degree of predictability and quality.
    • Experience mentoring others in design, coding, reviews, test and software development best practices.
    • Experience with Big Data and/or NoSQL experience.
    • Experience in SQL, databases and database connectivity.
    • Experience creating cloud-hosted infrastructure on AWS, Azure, and/or GCP.
    • Ability to travel to the US.

Nice to Haves

    • Experience with remote customer stakeholders and development teams.
    • Ability to foster relationships in order to expand opportunities with our clients.
    • Flexible to adapt to various methodologies depending on the client's way of working.
    • Experience working with an IDE such as Visual Studio, Visual Studio Code, IntelliJ, and Eclipse.
    • Experience using C++ memory management and performance analysis tools.
    • Experience working with C#, JavaScript/Typescript, Node.js, and/or Python.
    • Exposure to authentication and access technologies such as SSO, OAuth, SAML, LDAP a plus.
Strong employee relationships are key to delivering to our partners as well as to creating a foundation for a truly welcoming and nurturing company culture.  We have worked together to shape our work environment from the ground up, and value the culture that has resulted from it. 

We are honoured to live and work on the traditional and unceded territories of the qiqéyt (Qayqayt) First Nation as well as all Coastal Salish Peoples including the ʷməθkʷəy̓əm (Musqueam) and sel̓íl̓witulh (Tsleil-Waututh).