Back-End Java Engineer
As a Back-End Software Engineer you will work with technical and non-technical stakeholders to design and implement the best possible solutions for our clients.
The exact nature of the work will vary from project to project. Sometimes you will need to write code andlead a development team from within, and at other times you will need to provide an advisory role to various technical and non-technical resources, design a solution, and communicate that technical vision to a development team without taking on ahands onrole.
You will enable modern application transformation while being surrounded by people who are passionate about building modern applications that demonstrate leading technologies.
You will learn our client’s business, organization, systems, challenges and goals, and utilize that knowledge on a team to deliver outstanding results.
Day to Day You will
Gather and analyze requirements from technical and business stakeholders
Provide technical design recommendations and oversight to create or modify systems, applications, or software components
Create technical documentation
Build and automate the features and services that model complex business problems and power enterprise-scale systems
Implement APIs and Microservices, integrating with external systems, including database design andback end business logic
Develop scalable cloud-based solutions, considering security and performance
Harness modern development and DevOps practices including CI / CD, containerization, and automated testing
Support the design, development, modification, maintenance and evaluation of applications
Recommend changes in development, maintenance, and system standards
Lead multi-functional product development teams to design, develop, and improve software assets that meet or exceed internal and external (customer) expectations, and meet requirements for product functionality, cost, and delivery schedules
Apply knowledge to build an environment that fosters accountability, quality, commitment, growth, innovation, and supporting sales processes as needed
Experience designing and architecting software solutions using modern design patterns
Ability to effectively communicate a technical vision
Programming : Core Java
Service Development : RESTful APIs, Microservices
Java Libraries : Spring, Kafka, Apache, Hibernate, or similar modern libraries from the Java ecosystem
Microsoft Azure : Compute, Storage and PaaS services (Web Apps, Cognitive Services, App Services, Logic Apps, Azure Functions, Service Bus)or similar Cloud experience
Data : Understanding of SQL and NoSQL Databases
Containers : Docker, Kubernetes
DevOps : Git, Azure DevOps, Maven, Gradle, Jenkins
You are a hardworking software engineer who is able to communicate complex concepts with clarity to non-technical audiences.
While passionate about technology, you have a strong business sensibility and an ability to connect well with clients
You can see the bigger picture for the client and project, and can balance between recommending the right way to do things, following their way of doing things, and trying to bring those two closer together whenever possible
You are comfortable analyzing, designing, developing, implementing and maintaining application code in a variety of contexts
You are comfortable developing cloud and / or on-premise web-based software solutions with complex application development and testing
You have a proven ability to connect with external clients
Required Education :
Bachelor's Degree in Computer Science, Computer or Electrical Engineering, Management Information Systems, or related field isrequired