
What will be expected of you-
Expertise you will bring-
Logistics& Requirements-
Deep expertise in Java and proficient knowledge of programming languages (JavaScript, XML, JSON, HTML, CSS etc. Python a bonus)
Understanding of object-oriented design principles (ex: SOLID) to create maintainable, extensible code and knowledge of design patterns, inheritance hierarchies, polymorphism, composition over inheritance, effective interface design, encapsulation and immutability as well as experience with modern Java features like generics, streams and lambdas.
Comprehensive knowledge of Spring Boot's core fundamentals, including auto-configuration, starter dependencies, and its opinionated approach to application setup thateliminatesmuch of the boilerplate configurationrequiredin traditional Spring applications. Understanding of dependency injection, the IoC container, bean lifecycle management as well as proficiencyin using annotations like @Component, @Service, @Repository, and @Autowired.
Expertisein building RESTful APIs with Spring Boot, including knowledge of @RestController, @RequestMapping, request/response handling, content negotiation, and exception handling.
Understand data access patterns using Spring Data JPA, including repository interfaces, custom queries, and declarative / programmatic transaction management.
Experience using JUnit 5+ to write integration and unit tests and use its lifecycle interfaces and annotations to handle related setup and teardown tasks.
Experience with a build automation tool / project management tool like Apache Maven or Gradle to handle tasks such as compilation, dependency management, testing,packagingand deployment.
Proficient knowledge of operating systems (Linux, Unix, Windows)
Proficient knowledge of database development (SQL, Oracle, DB2)
Ideally, you’ll have experience with AWS services, and integrating them into an application
Ideally you’ll have experience with leading edge Cloud technologies, such as Kafka, in-memory and NoSQL databases, messaging platforms, memcache etc).
Demonstrates independent thinking and decision-making abilities
Demonstrates excellent written and oral communication abilities
Proficient knowledge of cloud security for application development and delivery
Advanced knowledge of object-oriented programming
Ideally, Infrastructure as Code (IAC); Terraform
Nice to Have-
Experience with API Development and consumption and microservices architecture
Proficient in unit testing with JUnit, Mockito and AssertJ as well as integration testing with @SpringBootTest.
Understanding of how to use JUnit's extension and lifecycle annotations and interfaces to create tools that enhance its default functionality andmonitortest plan execution results.
Knowledge of Apache Maven's build lifecycles phases, experience with custom plugin development and how to map a custom plugin's goals to Maven lifecycle phases
Familiarity with database migration tools like Flyway or Liquibase.
Experience using Spring Security to handle security concerns in Spring Boot apps.
Understanding Spring Boot’s various application properties configurations (profiles, YAML vs properties files) and externalized configuration management.
Knowledge of monitoring and observability through Spring Boot Actuator, including custom health checks and metrics.
Proficiency working with XML Schema Definition (XSD) schemas and XSLT (Extensible Stylesheet Language Transformations) templates, including XML schema design principles, validation techniques, Java-XML binding via JAXB, namespace management, XSLT processing models, template creation, XPath expressions, and transformation patterns for converting XML to various output formats.
Experience as an Agile product owner with a strong technical background, capable of creating detailed feature specifications and user stories that junior to mid-level developers can implement with minimal clarification as well as the ability to set up and facilitate collaborative planning sessions, coordinate story mapping across iterations and manage daily stand-up meetings.
Proficient with unit testing, integration testing between system components, performance testing toidentifybottlenecks, soak testing for long-term stability verification and API testing.
Experience with agile development methodology
Knowledge of technology project and secure coding standards
Strong interpersonal, teamwork and negotiation skills
Strong customer service skills
Strong problem solving and critical thinking skills
Familiarity with usability techniques and best practices
Infrastructure as Code (IAC); Terraform
Salary
The salary range for this position is $173,400.00 - $216,700.00 - $260,000.00. The Boston Fed believes in salary transparency. The final salary and offer will be determined by the applicant’s background, skills, internal equity, and alignment with market data. Whether you’re developing into the job or are a more seasoned candidate, we aim to pay competitively. The position and job description posted is for a Principal Software Engineer however, candidates will be placed in an appropriate level within the Software Engineer job family based on the extent of their experience. If you reside outside of the 1st District, you may be hired by your local Federal Reserve District and compensation will follow hiring District's range and policy.
The Federal Reserve Bank of Boston is committed to provide equal employment opportunities to all persons without regard to race, color, religion, national origin, sex, sexual orientation, gender identity, age, genetic information, disability, or military service.
All employees assigned to this position will be subject to FBI fingerprint/ criminal background and Patriot Act/ Office of Foreign Assets Control (OFAC) watch list checks at least once every five years.
For this job, any offer of employment is contingent upon successfully passing a two-phase security screening. The first phase consists of the satisfactory completion of a physical examination (including a drug screening), reference checks, and a security investigation consisting of credit and criminal history checks.
The second phase, which might not be complete until after you begin working at the Reserve Bank, is an additional risk-based security screening determined by the risk rating of the position. Depending upon the sensitivity of the position, this phase may include, and is not limited to, work and residency eligibility verification, and personal interviews with the candidate, references, and prior employers.
All applicants must have resided in the United States for at least three (3) years
The Federal Reserve Banks are committed to equal employment opportunity for employees and job applicants in compliance with applicable law and to an environment where employees are valued for their differences.
Always verify and apply to jobs on Federal Reserve System Careers (https://rb.wd5.myworkdayjobs.com/FRS) or through verified Federal Reserve Bank social media channels.