The Senior Software Engineer role seeks an individual with over 10 years of experience in software engineering, demonstrating proficiency in XQuery, XSLT, JavaScript, Java, Spring Framework, Angular, and Python. The position involves making significant contributions to the development of new software solutions, as well as optimizing, maintaining, and enhancing existing ones. Responsibilities also include active participation in groundbreaking projects focused on data processing, analytics, machine learning, authentication, and integrations.
The selected candidate will primarily be responsible for designing and developing applications using MarkLogic technologies, including data modeling, application architecture, and implementation using XQuery and JavaScript. This includes managing databases, developing code artifacts for data manipulation, implementing search capabilities, and ensuring secure application development. Additionally, the role involves designing and maintaining high-quality software solutions using Java, Spring Framework, and Angular, collaborating with cross-functional teams, and integrating analytics tools into the software stack. Utilizing AWS services for building scalable solutions and contributing to exploratory projects focusing on machine learning and generative AI are part of the responsibilities. The candidate will be expected to work independently, meet deadlines, and demonstrate flexibility in balancing priorities effectively. The candidate must showcase continual learning and adopt evolving technology and application development standards, deployment practices and processes, and help APA stay innovative and current.
- Education: Bachelor's Degree in Computer Science or related discipline. Advanced degree desirable.
- Minimum of 10 years of professional experience in software engineering.
- Proven track record of successful and timely delivery of software development projects with high-quality outcomes.
- Experience in various stages of the software development life cycle, from concept to deployment.
- Demonstrated ability to lead and mentor junior developers.
- Experience in software integration, automated software testing, data management/governance, and business process analysis.
- Excellent analytic problem-solving, anticipation, and critical-thinking skills, with ability to define and solve complex problems.
- Experience and strong background in Agile development methodology and SDLC, DevOps and Lean methodologies.
- Demonstrated on-the-job experience with managing priorities across multiple projects.
- Strong verbal and written communication skills, and ability to communicate key concepts effectively with technical teams and managerial staff.
- Proficient in MarkLogic technologies:
- Strong experience in XQuery, and expertise in XSLT for transforming XML documents into other formats like HTML, PDF, or plain text.
- Strong data modeling skills, including the ability to design and manage XML and JSON data structures, are crucial.
- Solid understanding of triples and views, as well as optics and SPARQL for working with semantic data.
- Proficiency in using MLCP (MarkLogic Content Pump) for bulk loading and exporting data is important.
- Strong experience on MarkLogic's search and indexing capabilities, including text and structured search, indexing options, and relevance ranking, is essential.
- Familiarity with Gradle is necessary for building and managing MarkLogic projects efficiently.
- Experience in developing and consuming REST APIs using MarkLogic's built-in REST capabilities.
- Proficient in Java programming language:
- Strong understanding of core Java concepts and best practices.
- Experience with multithreading, performance optimization, and memory management.
- Familiarity with the latest Java features and updates.
- Experience with Spring framework desired.
- Hands-on database related experience with SQL Server, AWS Aurora, MySQL, and/or ElastiCache (Redis).
- Understanding of database indexing, query optimization, and transaction management.
- Experience with JavaScript, Python and Angular will be desired.
- Experience using modern build and deployment tools such as Jenkins, Docker, etc. Experience in software build/release, continuous integration, and continuous deployment, as well in software automation techniques and tools.
- Experience with Automated unit tests (JUnit, Mockito).
- Experience with DevOps tools and Version Control including experience with Atlassian tools, Jira, Confluence, BitBucket, Git, Subversion.
- Knowledge of AWS cloud computing platform and AWS services such as ECS, EC2, ECR, Fargate, CodeDeploy, Lambda, S3, CloudFront, CloudWatch, and Parameter Store.
- Desired knowledge and understanding of Artificial Intelligence (AI) and Machine learning skills.
- Design and develop MarkLogic applications, including data modeling, application architecture, and implementation using XQuery, JavaScript, and other MarkLogic technologies.
- Create and manage MarkLogic databases, including configuring forests, indexes, and other database components for optimal performance and scalability.
- Develop and maintain XQuery modules, XSLT stylesheets, and other code artifacts for data manipulation, transformation, and querying.
- Implement MarkLogic's search capabilities, including configuring indexes, developing search applications, and optimizing relevance ranking.
- Design and implement secure MarkLogic applications, including role-based access control, document permissions, and secure content delivery.
- Develop and expose MarkLogic functionality through REST APIs, following best practices for API design and development.
- Design, develop, and maintain high-quality software solutions using Java, Spring Framework, and Angular:
- Collaborate with cross-functional teams to gather and analyze requirements.
- Design scalable and maintainable software architectures.
- Write clean, efficient, and well-documented code.
- Collaborate with cross-functional teams to design and implement solutions based on data processing and analytics:
- Utilize best practices for data storage, retrieval, and processing.
- Integrate analytics tools and frameworks into the software stack.
- Optimize data pipelines for performance and scalability.
- Utilize AWS services, including Lambda services(Node JS and Java) and API gateway.
- Provide frequent updates on tasks assigned and keep communication channels open.
- Work independently, take initiative and be constantly productive to meet deadlines.
- Demonstrate ability to complete a large quantity of work in a short time, and balance priorities with time used.
The American Psychological Association (APA) represents 146,000+ psychologists, students, and affiliates, primarily in the U.S. and Canada but also in other countries around the world. APA is a scientific and professional organization with about 500 employees and is categorized as a 501(c)(3) along with its 501(c)(6) companion organization, APA Services, Inc.
APA jobs may be considered for remote work eligibility as defined in APA's Flexible Work Policy and are subject to approval. Remote work employees may not work from the following states or U.S. territories: Alaska, California, Colorado, Guam, Hawaii, Iowa, Louisiana, Montana, Nebraska, New York, North Dakota, Ohio, Puerto Rico, Rhode Island, U.S. Virgin Islands, Washington, Wyoming.
Qualified candidates must apply online through APA's applicant system and attach a resume and cover letter specifying your salary expectations. Applications that are submitted without both documents are considered incomplete and will not be reviewed for consideration.
The American Psychological Association is an Equal Employment Opportunity/Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, color, age, religion, sex, national origin, disability, protected Veteran status, sexual orientation, gender identity, or any other protected categories covered under local law.
#LIREmote
Equal Opportunity Employer/Protected Veterans/Individuals with Disabilities
The contractor will not discharge or in any other manner discriminate against employees or applicants because they have inquired about, discussed, or disclosed their own pay or the pay of another employee or applicant. However, employees who have access to the compensation information of other employees or applicants as a part of their essential job functions cannot disclose the pay of other employees or applicants to individuals who do not otherwise have access to compensation information, unless the disclosure is (a) in response to a formal complaint or charge, (b) in furtherance of an investigation, proceeding, hearing, or action, including an investigation conducted by the employer, or (c) consistent with the contractor's legal duty to furnish information. 41 CFR 60-1.35(c)
What We Do
The American Psychological Association, in Washington, D.C., is the largest scientific and professional organization representing psychology in the United States and is the world's largest association of psychologists. APA's membership includes more than 121,00 researchers, educators, clinicians, consultants and students. Through its divisions in 54 subfields of psychology and affiliations with 60 state, territorial and Canadian provincial associations, APA works to advance psychology as a science, as a profession and as a means of promoting human welfare.
The mission of the APA is to advance the creation, communication and application of psychological knowledge to benefit society and improve people’s lives.