Principal Software Engineer in New York, NY

$150K - $200K(Ladders Estimates)

Namely   •  

New York, NY 10001

Industry: Enterprise Technology

  •  

11 - 15 years

Posted 59 days ago

This job is no longer available.

Whether you're looking to focus on front-end or back-end, or enjoy working across all levels of the software stack, you'll have an opportunity to be hands-on as part of an agile development team. Our hiring process is language agnostic, we use a diverse set of tools and languages such as Go, Python, .NET Core, Kubernetes, Istio, Spinnaker, Kafka and more. We work with React and SPA's in the front-end, and are moving towards an API driven architecture, powered by gRPC-based services.

We've built a strong engineering team to date, but have a lot of work ahead of us, including:

  • Migrating from a monolith to a microservice architecture, including a complete overhaul and rewrite of our Payroll Processing and Benefits Configuration
  • Defining domain boundaries and implementing robust APIs for internal and public consumption of our Human Capital Management (HCM) services
  • Leveling up our platform, including enhancing our test coverage, observability, alerting, and performance

Help us scale our business to meet the needs of our growing customer base and develop new products on the Namely platform. You'll be a critical part of our growing company, working on a cross-functional team to implement best practices in technology, architecture, and process. You'll have the chance to work in an open and collaborative environment, receive and give hands-on mentorship and have opportunities to grow and accelerate your career.

Responsibilities:

  • Lead the way by staying up to date with tools, trends, technologies and best practices and then sharing that knowledge in a meaningful way to advance the overall state of technology for the entire organization.
  • Own key areas within our platform by envisioning, designing, creating, building and supporting. This infrastructure needs to operate with a high degree of operational excellence.
  • Support our developers by being the go-to-person for questions but never be a bottleneck, see around the corner and anticipate developers' needs, knowledge-transfer sessions and generally evangelize the platform.
  • Be responsible for software architecture including determination of current limitations and compatibilities between subsystems, selection of new concepts and methodology, and development of major components.
  • Lead by example and produce high-quality code that establishes coding standards and best practices for the team.
  • Create technical requirements, software design specifications and other forms of architectural documentation.
  • Perform code reviews and have your code reviewed by peers.
  • Investigate and resolve application issues, bottlenecks, and inefficiencies.
  • Be responsible for mentoring a highly skilled set of software engineers at all levels.
  • Exert technical influence over multiple teams, increasing their productivity and effectiveness by sharing your deep knowledge and experience.
  • Effectively communicate technical and business risks to stakeholders to ensure that the most informed decisions are being made.
  • Play a critical role in planning, working closely with senior leaders to develop plans, resource requirements, and influence our long-term technical and business strategy.

Desired Experience:

  • Solid CS fundamentals with experience across a range of disciplines, with more than one area of deep knowledge and experience.
  • 10+ years of software engineering experience, with a proven track record of leading large-scale, high availability and fault tolerant SaaS or consumer applications.
  • Proven track record of senior technical leadership at a company with a strong engineering culture.
  • Extensive experience with service oriented architectures, design patterns, web services, and web applications development.
  • Deep understanding of system performance trade-offs, load balancing, and engineering for high availability.
  • Extensive experience with database design, queueing, caching, containers, APIs, security and the operational aspects of running large systems.
  • Excellent planning/execution skills including estimating and scheduling.
  • Excited by building reliable, self-healing services with robust error handling.
  • Extensive experience designing, building and owning large scale distributed systems.
  • Capable of driving and delivering thin slices of end-to-end functionality on a regular cadence with data-driven feedback loops.
  • Strong problem-solving skills; adaptable, proactive and willing to take ownership and deal with ambiguity.
  • Strong verbal and written communication skills. You'll need to create consensus among passionate stakeholders in a dynamic, fast-paced environment.

Nice-to-Have's:

  • Experience in with any of the following is a bonus (but not required): Ruby, Rails, C#, Go, Docker, Kubernetes, Javascript, React, ES6, Python.


Valid Through: 2019-9-16