Technical Lead – Software Engineer
Ultimate Software is looking to hire a Technical Lead Senior Software Engineer to join our extremely talented Product Development team! As one of our Technical Leads, you will be part of our continued improvement and growth of our UCloud Platform as a Service Solution.
The Technical Lead Senior Software Engineer position requires excellent technical team leadership, programming and architecture skills and passionate about learning new technologies as new architectural patterns and solutions emerge. The Technical Lead will be involved in leading a team of highly skilled Software Engineers in the deployment of our Platform as a Service (PaaS) solution.
We are looking for a technical leader who truly enjoys getting their hands dirty with code and at the same time, lead a team of developers in solving complex enterprise software problems. The technical leader is not a specialist in one specific technology platform (i.e. Python or .NET or Java). The technical leader is a programmer that has proven that they can learn any technology or platform and has been able to solve all technical problems an enterprise cloud-aware application using the right technology for the right task.
Software engineering at Ultimate Software: http://youtu.be/fy5l8lWJbqQ
Take a look at our company culture: http://bit.ly/1nYvenD
Check out how we give our employees the chance to work on whatever project they want for 48 hours! http://bit.ly/1AumZp2
Ultimate is ranked #1 on FORTUNE's "Best Places to Work in Technology" for 2017 and #7 for "100 Best Places to Work For" in 2017. Ultimate is also ranked #5 on the inaugural list of "100 Best Workplaces for Millennials," #5 on Fortune's "50 Best Workplaces for Diversity," and #8 on Forbes magazine's 2016 list of "Most Innovative Growth Companies."
Primary Responsibilities: (other duties may be assigned)
- Create, develop, and manage the technical architecture for Platform as a Service components in a microservices model, including stack configuration, algorithm design, API development, and deployment
- Develop cutting edge solutions to maximize the performance, scalability, and distributed processing capabilities of the system
- Research, evaluate, suggest technologies to extend, complement, replace components of our PaaS solution
- Use open source tools and technologies to extend and improve the functionality of the platform
- Lead a team of software engineers in developing RESTful API's and following best practices
- Lead team in solving tough integration solutions, potentially via the use of middle-tier solutions that leverage the message broker, event processing, file transfer, ETL, etc.
- Lead the team towards the design, development and implementation of platform components that enable highly available, scalable & reliable customer experiences for consumers of our private cloud
- Lead in the design and implementation of deployment pipelines that ensure the products are delivered in a continuous delivery model
- Lead team in clarifying requirements and overcoming obstacles to meet the team goals
- Lead team in troubleshooting and performing root cause analysis for production issues that are escalated to the team
- Create and integrate features for our platform using the latest open source technologies, such as PHP, Python, Golang, Chef/Ruby, Java, Openstack, Git, Apache Software Foundation, etc.
- Ensure development team is working in an agile manner as it relates to software deployment, including domain-driven design, test driven development, automated unit testing and test fixtures, and pair programming
- Accountable for the general management and technical ownership of one or many solution areas owned by a team
- Accountable for solution strategies which support productivity, maintainability, interoperability, and product growth
- Backlog management and prioritization of engineering technical tasks and technical debt
- Lead the collaboration with Business Analysts and Platform Managers to identify the business 'technical needs' from specifications and requirements
- Negotiate concrete implementation strategy with Business Analysts, Platform Managers, and Architects
- Prevent decision process from stalling by ensuring solution level issues are addressed promptly
- Conduct, manage, and enforce code reviews.
- Conduct technical and feature risks assessments and communicate to the architecture and product management groups
- Educate and enforce clean, beautiful code that follows the main object oriented programming principles
- Enforce Proper Unit, Integration, System, Performance level Tests, Code Coverage, and Static/Dynamic Code Quality Metrics
- Work with Enterprise Architects to ensure proper solution based on the established architectural principles and patterns
- Collaborate with Product team Technical Leads to ensure proper use of PaaS components and best practices are followed
- Educate and enforce proper and efficient API/framework documentation
- Mentor and guide technical resources within team
- Guide and participate in recruiting best technical talent for the team
- Contribute to the definition, guidance, and governance of the company's enterprise architecture strategy
- Assess new cross-cutting product needs and propose architecture solutions that add value to the overall enterprise product architecture.
- 5 or more years' experience as a technical lead senior engineer or solutions architect on enterprise projects
- Experience with SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service) solutions
- Experience building cloud-aware application with enterprise or open source Platform as a Service (PaaS) solutions
- Experience building Platform as a Service (PaaS) solutions such as "Managed Services" for application management (deployment and delivery) and cross-cutting services (Identity-as-a-Service, Database-as-a-Service, Messaging-as-a-Service)
- Experience with configuration management solutions such as chef, puppet, ansible, saltstack
- Experience with deployment and provisioning tools and/or API
- Experience developing cloud-aware applications using open source technologies in a microservices environment following the fallacies of computing
- Experience architecting large scale web solutions in the cloud
- Software development experience including but not limited to: OOP, functional programming, concurrency programming, design patterns, RESTful API development, Service Oriented Architecture, Test-Driven Development, Acceptance Testing, relational and non-relational database technologies
- Experience creating tools to automate the deployment of an enterprise software solution to the cloud
- Strong object-oriented design and development experience
- Knowledge of design patterns and their implementation
- Multi-tier application design and development
- Multi-threaded design and development
- Excellent problem solving skills
- Any Agile or Lean Software Development experience such as Kanban or Scrum as well as agile practices such as Test-Driven / Test-First Development, Pair Programming, and/or Extreme Programming methodologies
- Experience helping others to design, write, conduct, and direct the development of tests
- Positive team player attitude with excellent verbal and written communication skills
- Self-motivated and willing to "do what it takes" to get the job done
- High degree of organizational skills
- Strong written and verbal communication skills
- High degree of self-motivation to learn new methodologies that will enhance job performance
- Passionate about leveraging technology as a medium for innovation
- Doesn't reinvent the wheel (build vs buy) where applicable
- Leading projects that deliver "Managed services" in a Platform-as-a-Service model (X-as-a-Service)
- Leading projects that deliver Cloud Resource Management solutions, including but not limited to container, VM, and bare metal resource management.
- Leading projects leveraging non-relational persistence stores, such as key-value, column-oriented, and aggregate/document-oriented databases
- Leading projects that deal with Complex Event Processing and event-driven integrated systems
- Leading projects that leverage Big Data solutions in order to provide near real-time Business Intelligence and Analytics
- Knowledge of Identity and Access management systems and protocols such as Open ID Connect
- Knowledge of Logging and Monitoring systems
Travel Requirement: Limited travel upon request
This job description has been written to include the general nature of work performed. It is not designed to contain a comprehensive detailed inventory of all duties, responsibilities and qualifications required of employees assigned to this job.
Meet Some of Ultimate Software's Employees
Team Lead, Time Clock Team
As Team Lead, Markese takes care of the time clock needs, whether it’s related to hardware, software, or networking, ensuring customers can utilize the time clock functions without disruption.
Back to top