With nearly 20,000 organizational customers and millions of student users, Blackboard is the world's leading education technology company. Blackboard is shaping the future of education with big ideas that challenge conventional thinking and advance new models of learning. Every day we’re inspiring people to find new ways to learn, connect and drive change in the way education is delivered and experienced. Through technology and services we bring people closer to the knowledge they seek and to ways they can change their own education and the world for the better.
Blackboard is a leading provider of Internet software and services dedicated to enriching the e-learning experience for educators and students. We achieve this distinction because our people are creative and energetic, thriving on innovation, and passionate about making a difference in the evolution of education.
Blackboard Learn represents the next generation of e-learning solutions that use Software as a Service to extend the capabilities of Blackboard Learn and other learning platforms.
As a member of the Blackboard Learn team, you will have a unique opportunity to join a development group at Blackboard responsible for creating a new set of SaaS products. We deliver learning tools for instructors and students, content authoring and sharing tools for curriculum designers, and integrations to commercial publishers of e-learning resources.
We have an immediate need for a Java Software Engineer to work with a team designing and building the next generation social services for education. For this particular position, we are seeking individuals with exceptional backend engineering capabilities including Java REST implementation methodologies and unit/integration/rest test creation using frameworks such as PowerMockito, Mockito, and Junit.
This position is a software engineer role with the followingresponsibilities:
- Apply object-oriented design principles, industry best practices (e.g. design patterns) and company policies and procedures to design and implement new features and changes for web-based applications.
- Learn quickly and develop creative solutions, encompassing software integration, performance, reliability, manageability and security.
- Work with the Development Manager, Product Manager, Lead Engineer, Designers and other engineers on assignments related to system research, design, development, and defect resolution.
- Interact with otherengineering personnel as well as with Product Management, Project Management, Quality Assurance, Technical Support and Customer Support personnel to complete the job responsibilities.
- Be willing to respond to the unique challenges of delivering and maintaining cloud-based software. This includes troubleshooting live production environments, minimizing downtime, and responding to client-reported issues.
- Work with otherengineering personnel to ensure consistency among products.
- Thrive in the face of hard problems.
The successful candidate will have a strong background in cloud software development and a passion for technology. They should have a solid foundation in software development, problem solving, analytical thinking, technical design and strong written & verbal communication skills.
- 4+ years of experience designing and developing software solutions
- Experience with both SQL and non-SQL databases
- Excellent Object-Oriented design and coding skills
- Excellent HTML5, CSS3 and Sass skills
- Proven ability developing web applications with frameworks such as Struts, Spring MVC, Angular, and React.
Highly Valued Additional Skills for This Position
- Experience with MongoDB, Redis, Titan and/or Elasticsearch
- Hands-on development experience using Service-Oriented Architecture (SOA), and web services
- Experience in responsive web design and mobile web development
- Extra-curricular web app projects or open source contributions that you’ve developed on your own