Principal Software Developer
Job Description Whitespace is an Information Technology Consultancy servicing a customer base primarily in the middle market with a relentless commitment to social good, technology and customer engagement. At Whitespace our goal is to provide an authentic human centered approach to delivering solutions aimed at moving our society forward. These solutions leverage technology to create new opportunities for our customers and the community that they serve. As a Principal Software Developer, you will have an opportunity to shape technical strategy, experiment with new and exciting technologies, as well as mentor various members of our team as they grow their careers. Our principal developers are the most senior members of our technical team and are responsible for crafting our technical strategy globally in collaboration with our larger technical team. Additionally our principals are well rounded with a strong familiarity with all dimensions of software delivery. This includes experience writing complex applications, working with configuration management tools to provision systems while leveraging high availability capabilities, as well as possessing strong negotiation skills to help deliver value to our customer's quickly while keeping a commitment to quality and reliability. Responsibilities: The primary focus of any role within Whitespace is the contribution to the overall success of the team. Software Developer should have experience with server or client technologies with an interest to expand their knowledge in both focus areas. Lead Agile technical delivery activities and provide peer level mentorship. Create technical artifacts and code to enable application functionality. Work with clients to elicit and clarify application requirements. Requirements: US Citizenship (does not include green card or work visa.) Native or business-level spoken English proficiency. Required Experience: Experience with Object Oriented or Functional Programming. Work in a JVM based language such as Java, Kotlin, or Scala. Familiar with Test Driven Development. Interested in Pair Programming. Experience working with Cloud Technologies (AWS, GCP, etc) Nice to have 10 years working with distributed systems. Experience working in cloud native systems. Experience implementing modern web applications. Experience leading teams of technologists of varying backgrounds and levels of experience. Experience managing end-to-end delivery, from UX design to production release. Fluent in Object oriented programming with a strong familiarity with Java or Python. Experience working with Configuration Management/Automation technologies such as Cloud Formation, Terraform, Ansible, etc. Experience working with container based technology such as Docker. Experience working within a Continuous Delivery Patterns and Practices. Experienced operationalizing, monitoring, and maintaining distributed systems.