Full Stack Developer

IBM ,
London, Greater London

Overview

Job Description

**Introduction** We are a part of IBMs global Chief Information Office responsible for building applications and solving problems for IBM's 210,000 Business Partners and the IBMers who support them. Our vision is to become a world class delivery organisation and deliver business value at speed. To support this vision, we recently moved into a new purpose built facility designed to encourage collaboration and creativity, housed within the world's largest WeWork site next to London Waterloo. **Your Role and Responsibilities** As a Full Stack Developer, you'll be using the latest tools and technologies available to deliver state-of-the-art software and web applications. You'll have an opportunity to drive the choice of technologies used as we transform our applications and experiment with the best new tools for the job based on upcoming industry trends. You'll be responsible for ensuring that components are expertly architected, tested, debugged, verified, and delivered into various contexts across the IBM Enterprise, creating a productive environment for IBMers and our Business Partners. The ideal candidate would have experience in MicroServices, API Architecture and/or TypeScript, as we need more great skills in these areas to enrich us. **Some of our existing projects are:** + An opportunity management application, used by all of our Business Partners, with a sophisticated DevOps pipeline in place. This is hosted on IBM Public Cloud & is currently being rewritten in React / Carbon on RedHat OpenShift. + An interactive analytics dashboard, showcasing live, worldwide data about how our Business Partners are working Like so many, we're working remotely at present. We're all looking forward to the new normal, when we can meet again face-to-face. A typical day still begins with the team's daily stand-up. Then it's head-down coding time for a couple of hours. Next could be attending a virtual lunch and learn session by one of your colleagues. You may have signed up to one of IBMs over 20,000 free online courses for a refresher on a particular topic before you get back to coding for a few more hours. Perhaps you're hosting an architecture session where you decide as a team how to solve a specific problem for your product. You complete it, to find someone had submitted code for your review - which you can do easily because you have been working with them for some time and have coached them to write better code. At IBM we embrace diversity and value what individuals add to our culture. We believe highly empowered teams create the best products - so we take a group of designers, developers, and business analysts, and give them free reign on how to address problems, in a "We give you a problem, you decide how to solve it" environment. Above all, we value curiosity, teamwork, and a desire to learn. We are confident that if you possess the right attitude, work ethic, and skill set that you could succeed in the role, even if you do not have all of the required skills. **Required Skills:** + Meaningful development experience in modern frontend JavaScript frameworks, such as Angular, React, Vue.js or equivalent + Experience building restful APIs and Web services in NodeJS, and similar technologies. + Experience with Microservices and API design + Experience of modern testing frameworks (like Jest or Mocha) for both frontend and backend testing + Experience with Typescript and common tooling used in JavaScript stacks + Understanding of/experience with Object Oriented Programming + Experience working with relational databases + Experience with cloud-hosting solutions and CI/CD pipeline tools such as Jenkins and Travis. + Understanding of/experience with IBM Cloud or a similar service + Comfortable multi-tasking and working as part of a global team, as well as working independently and taking ownership **Preferred Skills:** + Experience in enterprise transformation of monolithic application architectures to microservices + Experience with Design thinking methods to understand personas and develop great user design + Demonstrated ability to operate within short release cycles + Experience using modern collaboration tools in a highly-responsive environment + Great planning and organisational skills, good time management, with the ability to manage and prioritise own workload and to deal with urgent deadlines and changes to requirements + Close teamworking and collaboration across both global and local team environments + The ability to communicate across organisational boundaries and manage stakeholders + A passion for creative solutions to real user needs and business problems + Driven to achieve high levels of customer satisfaction, addressing the underlying problem and questioning any assumptions + Logical approach to problem solving + Meticulous attention to detail + Highly motivated and productive, an entrepreneurial self-starter + Demonstrable experience coaching junior members of your teams + Excellent written and verbal