Principal Software Engineer - Java, Angular at Blackbaud
About the role:
As a Principal Software Engineer you will be joining one of our software development teams dedicated to creating/enhancing web-based applications while working with some of the latest technologies in user interfaces, server architecture and cloud based computing. Our relaxed work environment promotes open seating, paired programming, cross team/office collaboration, efficient communication, Scrum methodologies and TDD principles.
Engineers at Blackbaud are thought leaders in our department and local development community. Duties include solving complex issues, learning/teaching new technologies, promoting growth and assuring your team delivers on its commitments.
What you’ll be doing:
- Implement important elements of the application software architecture and application infrastructure.
- Design and develop software applications, project prototypes, proofs of concept & client demos
- Champion TDD and Agile best practices for your product team
- Evaluate performance of critical application components and optimize them to assure maximum performance and scalability
- Perform, design and code reviews for all key application functional components
- Contribute to requirement definitions for project design and code reviews
- Mentor and stimulate growth for other software engineers
- Participate in performance reviews of team members and in the interview process of new candidates
- Assist in driving the development effort for End-to-End on-time delivery of high quality solutions that conform to feature requirements
- Provide critical thinking, technical innovation and attention to detail when serving as a trusted advisor on your team.
- Work closely with the product management, program management, and other team members to coordinate schedules, identify task assignments and provide progress updates at daily standup meetings
What we’ll want you to have:
- B.S. in Computer Science, Engineering or possess equivalent work experience
- 5+ years of utilizing Java to build robust scalable applications
- 3+ years of utilizing Angular to build web-based applications
- 3+ years of experience building software applications in the cloud (Azure/AWS/GCP)
- 2+ years of experience working in a professional DevOps environment
- 2+ years of experience contributing in a TDD & Agile work environment
- Experience with design and implementation of object structures in relational databases
- Experience working with SOAP, REST APIs, and asynchronous messaging technologies (e.g. Azure Service Bus, Event Hubs, or Apache Kafka)
- Proven history of self-direction and possess the ability to carry out assignments from beginning to end
- Ability to work on complex issues where analysis of situations or data requires an in-depth evaluation of variable factors. An ability to exercise judgment in selecting methods, techniques and evaluation criteria for obtaining results
- Track record of challenging conventional wisdom by suggesting alternatives and being an influencer within scum team. When participating with a team, moves the team forward by encouraging it to take risks and experiment with new ideas
- Comfortable with teaching others the structure, purpose, dynamics of team effectiveness. Helps resolve conflicts within a team or between teams.
- Networks with key contacts outside own area of expertise
- Open minded, creative thinker with the ability to balance client requirements, competitive pressures, and technical resource limitations across product families
- Professional demeanor, adaptable to change and possessing a can-do attitude!