Development Engineer (Java/Go/Spring)

Development Engineer (Java/Go/Spring)

28 Jan 2024
Tennessee, Nashville, 37201 Nashville USA

Development Engineer (Java/Go/Spring)

Vacancy expired!

Overview

Our Team

Technology Services Group (TSG) is the technology enabler for our firm. Our services provide a strong, resilient, and stable platform to host business processes while enabling innovation.

We are a global team that provides all infrastructure, end user computing and production support services. Our goal is to provide reliable, resilient, next-generation enterprise technology infrastructure and support that enables BNY Mellon employees to deliver client commitments and business solutions around the world.

Our

TSG Architecture Infrastructure and Middleware (AIM) team provides high level of automation and self-service across the firm-s technology footprint while developing products to deliver world class messaging, cloud, and security components to our firm. Our team-s focus is to engineer solutions to improve the technology infrastructure moving from a highly manual current state to a tightly controlled automated state. AIM is comprised of 7 core services - Messaging, Web Authentication, Platform Security, App Engine, Discovery Services, Storefront and Responsibility Management and Entitlements (RME).

The Role

We are seeking a seeking a

Development Engineer (Java/Go/Spring) to join our Application Runtime Platform team. We work on the BNYM Application Engine, a Platform as a Service that schedules and runs containerized and non-containerized applications on Linux and Windows across our data centers. Our systems power nearly a quarter of the global economy and we continue to invest in uplifting the technologies that underpin our private cloud and public clouds.

Our placement engine and container services platform enable developer and operational efficiencies in our datacenters and public cloud. Our team uses cutting edge technologies to enable innovation for our business, including but not limited to Docker, Nomad, Consul, Puppet, Salt, and VMWare. Our team's portfolio includes Developers, Devops, Systems Engineers and SREs.

As a diverse platform team, we know how software is built, configured and deployed. We write services, plugins and agents. We configure, automate and run many infrastructure and platform services - like Docker/Kubernetes clusters, centralized logging platform based on ELK, docker registries and Prometheus for monitoring. We understand middleware and infrastructure and provide the tools and services that allow developers to run their applications. Additionally, our on-boarding and engagement team helps developers understand and use the platform.

Because we are diverse, we are looking for a range of skillsets - from developer to Linux engineer - so please reach out if this space interests you and you are passionate about what you do.

Key Responsibilities:
  • Work closely with Linux and Cloud Native Technologies
  • Work extensively with open-source software. You may even modify or extend code maintained as part of an open-source project.
  • Develop PaaS solutions that can be extended to public cloud platforms like Microsoft Azure, Google Cloud Platform and AWS
  • Develop features in an agile environment where we quickly prototype and iterate on functionality.
  • Develop robust functionality in a complex, distributed systems code-base.
  • Deploy and scale critical services and features that are used by thousands of developers
  • Use innovative tools and frameworks such as Docker/Kubernetes, Nomad, Vault, Consul, Marathon, Puppet, Salt, etc.
  • POC on new frameworks, environments, and technologies


Uses existing and emerging technology platforms to design, develop and document technically detailed applications. S/he writes new complex systems (a grouping of programs involving multiple levels of table dimension and internal sorts that accomplishes a particular new function), designs and codes programs and creates test transactions. S/he also analyzes organizational needs and goals to develop and implement application systems. Provides application software development services or technical support in situations of moderate complexity. May also be responsible for requirements gathering and BRD/SRD preparation. Has thorough knowledge of the Software Development Life Cycle. Conducts reviews of the test Plan and test Data. Programming well-designed, testable, efficient code. Analyze, design and develop tests and test-automation suites. Develop flowcharts, layouts and documentation to satisfy requirements and solutions. Maintain software functionality and currency (technical debt and gain). Actively participate in code reviews. Integrate software components into a fully functional software system. Apply security and privacy principles. Execute full lifecycle software development. Develop software verification plans and quality assurance procedures. Troubleshoot, debug and upgrade existing systems. Ensure software is updated with latest features. Participate in deployment process following all change controls. Provide ongoing maintenance, support and enhancements in existing systems and platforms. Provide recommendations for continuous improvement. Active learning engagement. Complete all required mandatory training / policy awareness curricula on time. Use learning tools such as Pluralsight to complete both recommended and aspirational targets set in personal development plans. Demonstrate team work. Leverage existing products/functionality and promote reuse. Work alongside other engineers on the team to elevate technology and consistently apply best practices. Collaborate closely with all the other members of the team to take shared responsibility for the overall efforts that the team has committed to. Collaborate cross-functionally with data engineers, business users, project managers and other engineers to achieve elegant solutions. Utilize local meetups to gain and share knowledge. Compiles documentation written by more senior developers of all procedures used in system. Acts as mentor to junior level engineers. Experience in using a specific application development toolkit and knowkedge of front end and backend development coding languages such as C#, Java, HTML, NodeJS, CSS, JSON, Angular, JavaScript. Must also have knowledge in application frameworks and containerization. Team work and organization skills Contributes to the achievement of area objectives MODIFIED BASED UPON LOCAL REGULATIONS/REQUIREMENTS Bachelor's degree in computer science engineering or a related discipline, or equivalent work experience required 2-6 years of experience in software development required; experience in the securities or financial services industry is a plus; should have thorough knowledge of the software development cycle S/he must also have experience developing Front-End and Back-end. Job holder must be knowledgeable about cross-platform interoperability (multiple platforms i.e. NT, Intranet, etc.) , major tools in a toolkit for a specific platform and features of multiple toolkits. S/he must be experienced at resolving hardware, software, and communications malfunctions and understand the business impact of resolving complications.

Bachelor's degree in computer science engineering or a related discipline, or equivalent work experience required 2-6 years of experience in software development required; experience in the securities or financial services industry is a plus; should have thorough knowledge of the software development cycle S/he must also have experience developing Front-End and Back-end. Job holder must be knowledgeable about cross-platform interoperability (multiple platforms i.e. NT, Intranet, etc.) , major tools in a toolkit for a specific platform and features of multiple toolkits. S/he must be experienced at resolving hardware, software, and communications malfunctions and understand the business impact of resolving complications.
  • 3+ years of active software development (Go or Java, Spring)
  • 1+ year of web development skills (Angular, HTML, CSS, JS).
  • Good understanding of building, deploying, and maintaining microservices in a cloud-based environment.
  • Deep understanding of how to build fault tolerance and scalability into cloud-based systems.
  • Strong understanding of UI concepts and implementation
  • Grasp of software engineering skills in modular design, data structures, algorithms, and Unix systems development.
  • Ability to quickly learn and POC on new frameworks, environments, and technologies
  • Experience of SDLC and Agile Development tools (Jenkins/Teamcity, Maven, JIRA, Confluence)
  • Detail oriented with creative problem-solving and analytical skills
  • Excellent written and verbal communication skills
  • Ability to work in a fast-paced environment and to be an outstanding team playe

Preferred:
  • Experience with Python, Ruby, Perl, Bash
  • Experience with a configuration management system, such as Ansible, Salt, Chef, or Puppet
  • Experience with microservices and orchestration

Job Details

Jocancy Online Job Portal by jobSearchi.