Job Description
Do you take a keen interest in modern cloud technologies, applying the latest design patterns and achieving robust implementations? Do you have a passion for getting things done? Would you love to create novel experiences that involve both hardware and software? Then we would like to hear from you!
As a cloud software engineer you will develop critical software components, expose core services, and enable new and sophisticated end user experiences that will make a difference for end users of an integrated solution that invoices mobile apps, cloud software and IoT devices.
Key Responsibilities:
· Design, develop and deploy cloud services, including new APIs, back-end services and interfaces to mobile and IoT devices, hosted in Cloud environments
· Perform end-to-end integration of mobile apps and cloud services
· Actively participate in a collaborative team that applies principles of Agile, DevOps and CI/CD methodologies
· Work with product owners, UX designers and other stakeholders to understand requirements, and translate these into pragmatic and effective technical solutions
· Create technical designs and contribute to system architecture
· Write APIs and service interfaces used by other developers, including web and mobile application developers
· Collaborate with teams to integrate user-facing elements with server-side logic
· Ensure code quality through writing unit tests, automation and performing code reviews
· Contribute ideas to finding the best solutions for algorithms, technologies and products/tools to be adopted
Required Skills:
· Strong experience with Java
· Experience with Google Cloud Platform (GCP, preferred), or Amazon AWS or Microsoft Azure
· Experience with REST/ XML/JSON
· Demonstrated recent experience with hands-on coding and software design
· Solid software design knowledge – you should know how to create software that is extensible, reusable and meets desired architectural objectives
· Great communication skills, both oral and written
· 5+ years in professional software development
· Bachelor’s degree in Software/Computer Engineering, Computer Science or related field, or comparable relevant experience
Preferred (Optional) Skills:
· Solid practitioner of the Agile/Scrum development process, ideally with test-driven development, DevOps and continuous integration/deployment (CI/CD)
· Experience with collecting, storing and consolidating analytics data
· Familiarity with web front-end development (e.g. HTML, JavaScript and CSS)
· Experience in developing Microservices or Business Services or APIs
· Understanding of Service Discovery, Inter-Service Communication, Service Deployment and Service Orchestration frameworks
· Good knowledge and experience with Kubernetes, Docker, Jenkins, API Connect, Kafka in a cloud environment
· QA skills in testing, scripting and test automation
· Willingness to learn new technologies and approaches
· Readiness to work in a global team with contributors from different backgrounds, skills and locations