Paylocity is a cloud-based software company that creates customized HR solutions for small to mid-sized organizations. Our workplace enhances communication and enables employees to connect, collaborate, and create from anywhere. Our award-winning culture ensures everyone has a voice and feels truly welcome. Join Paylocity as we shape the future of technology and the workplace! We give our employees what they need to succeed, including great benefits and perks! We offer medical, dental, vision, life, disability, and a 401(k) match, as well as perks that support you, your family, and your finances. And if it’s career development you desire, we provide that, too! At Paylocity, people matter most and have always been at the heart of our business. Help Paylocity enhance communication and enable employees to connect, collaborate, and create from anywhere with a position in Product & Technology! Want to develop the strategies and principles needed to deliver compelling software? Join our team and help us enhance our all-in-one software platform, elevate our one-of-a-kind technology, and improve the employee experience. Take your career to the next level at one of G2’s Top 100 Software Companies. Explore our Product & Technology positions to see where you fit! As a Staff Software Engineer, you’ll have the opportunity to lead design and development within a collaborative team environment. Your role is key in providing technical design & direction on initiatives, driving collaborative discussion amongst the group on the most technically sound approach forward, contributing to our SDLC to deliver new capabilities, and coaching & mentoring team members. You’ll work side-by-side with Product Owners, Software Test Engineers, and Business Stakeholders and be actively involved in an agile software development environment. Within our team, you’ll have the opportunity to be involved in our path towards product modernization, delivering exciting new product capabilities, and working to solve key architectural challenges that will enable future growth and scale.
Responsibilities
- Work with the Engineering Manager to lead activities of the team towards the execution of projects/goals that are often beyond the scope of the immediate team
- Understand customer needs and business goals.
- Act as a technical lead for features or epics and complete features or epics where the approach is loosely defined and requires technical & design discovery before implementation
- Ensure code is flexible, reusable, extensible, performant, and high quality through feedback on code reviews
- Decompose outcomes into solutions composed of multiple software components interacting with each other
- Understand and consider technical dependencies
- Find innovative ways to increase the quality and velocity of your work
- Demonstrate a passion for writing quality software
- Demonstrate software quality through unit and integration test automation
- Analyze and spearhead improvements to the systems and software that are important to your team
- Manage risks, escalate priorities, and help resolve issues that could impact production quality
- Optimize beyond just the team by driving cross-team initiatives
- Play a key role in mediating team-level technical discussions, driving toward a unified decision forward
- Design software with multiple components interacting across systems
- Provide feedback on team designs by asking probing, insightful questions that solidify choices
- Solicit and provide feedback via decision-making frameworks for proposed changes from across the organization
- Own the overall health and engineering quality of a team by ensuring appropriate testing, monitoring, observability, and accountability are in place
- Establish and gain team alignment for best practices and a healthy balance of tech debt versus delivery
- Strengthen your team by sharing your knowledge and interests with others
- Actively mentor/coach less-experienced team members
- Push the team to improve their knowledge, technical skills, and velocity continuously
- Be a strong leader for a team and participate in driving cross-team collaboration
Required Experience
- 5+ years’ hands-on experience preferred with full-stack web development, with experience in Client-Side Programming
- Experience with Domain Driven Design, cloud-based solutions, leading large-scale delivery, and modernization of software systems
- Solid understanding of modern RESTful API design standards, concepts, and development
- Experience with MongoDB, DynamoDB, or a NoSQL database alternative
- Strong knowledge of relational databases
- A firm grasp of object-oriented analysis and design
- Experience developing highly interactive applications
- Experience with APM tools such as DataDog to ensure mission-critical applications are running optimally
- Passion for writing great, simple, clean, efficient code
- Must be well-versed with Systems Architecture and developer tools
- Experience with unit testing and integration test automation
- Fluent written and verbal communication skills that enable collaboration with technical or business-centric peers
- Must be able to work effectively in an agile and team environment
Preferred Experience
- Bachelor’s degree or higher in Computer Science or a similar technical field
- Expert mastery with .NET
- Experience with AWS
- Experience with product migration from data-center to cloud
- Experience with managing a large-scale SaaS production environment for availability, reliability, and resiliency
- Proven experience with Client Side Technologies (React, Redux, Typescript, others)
- Experience with CI/CD tools (TeamCity, Octopus, others)
- Experience with load testing and runtime performance analysis