logo for Iron Mountain
this is a spacing image
this is a spacing image
careers heading image

Lead Software Engineer

this is a spacing image

Job responsibilities:

This engineer will be responsible for leading, designing and implementing major components of an IRM Digital product.  The position requires a strong developer with demonstrated ability to lead the design and implementation efforts of a large software project.  The candidate must have demonstrated technical leadership skills; software design skills; the ability to write clean and elegant code; excellent problem solving skills, the ability to lead and collaborate with other senior and junior developers; a strong sense of ownership; solid communication skills and a passion for building robust, testable, rock-solid and usable software.

This position is in the Server software team.  The Server team is responsible for creating and extending very large scale, highly available and secure systems. These systems store and organize data collected from and distributed to a variety of remote agents, web services and other reader and writer applications.

Specific duties include:

  • Owning and leading the design of complex component/system-level features
  • Promoting and ensuring that designs and implementations are consistent with the requirements of very large scale, highly available, very secure and extensible distributed systems.  
  • Execution of the architectural roadmap
  • Leading the design activity of the team
  • Set standards and best practices around the design for robustness, scalability, performance, extensibility, interoperability and reuse
  • Work with Product Management to adjust and refine business and functional requirements and schedules
  • Representing the technology and team within the greater Iron Mountain community
  • Lead and participate in rigorous review of designs and code implementation
  • Implementation of significant functionality with supporting unit tests
  • Analyze, debug, troubleshoot and resolve complex system-level problems
  • Lead and establish the consistent practice of engineering processes including unit-testing, integration testing, functional testing and code reviews
  • Creation of schedules, detailed task breakdowns and effort estimations
  • Mentor and guide junior members of the team

Required Skills & Qualifications:

  • 4+ year experience and proven expertise with large scale, highly available, storage centric, client/server systems
  • 6-9 years of strong C++ development utilizing advanced language features including templates and implementing design patterns on the Windows System platform
  • 3+ years of technical leadership experience
  • 2+ years experience in performance analysis and tuning techniques
  • Expertise in OO design and programming skills
  • Experience implementing above systems using RDBMS technology (SQL Server specific experience is a plus)
  • Strong analytic, problem-solving and mentoring skills
  • Proven ability to deliver and deploy products on schedule
  • Experience with modern product development lifecycle processes
  • Solid technical writing and verbal communication skills 
  • B.S. Computer Science or equivalent

Additional skills and experiences that would be a plus:

  • Understanding of encryption technology
  • Detailed knowledge of Microsoft Windows operating system functionality such as NTFS is a strong plus
  • Expertise with Linux, Mac O/S and kernel development
  • Experience with Web Services architecture and implementations
  • Experience with Java and/or C#/.NET is a plus
  • Experience with various software development methodologies including agile.
  • M.S. in Computer Science would be a plus

Applications to be sent to connectedcareers@stratify.com