Description:
We are looking to hire a self-motivated & passionate Agile Technical Coach to work with application development teams and Technology Directors in providing coaching and training on the following:
- Lean design modeling for agile development (Activity, Communication, Class diagrams)
- Advanced object-oriented design and patterns (GoF, MVW, Enterprise Integration)
- Design and development principles (SOLID, FIRST, GRASP, DRY, etc.)
- Test driven development (Acceptance, unit, and legacy code)
- Professional software development behavior (pair programming, continuous integration, clean code, and refactoring)
- XP Practices and Behaviors - Offer training and customized hands-on demos and workshops on Pair/Mob programming, TDD, ATDD, CI, collective code ownership
- Legacy Code Refactoring - Coach teams to safely refactor dirty code.
- Agile Architecture Documentation workshops - Coach and teach how to retrospectively document the existing system and its architecture
- Continuous Delivery & DevOps
Qualifications:
- 8+ years of software development experience including, but not limited to, mature design, coding, testing and debugging skills
- 6+ years of proven experience with designing and developing application using Java EE platforms
- Strong architecture and design experience with building applications with 12 Design Factor principles
- Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management, etc.)
- Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
- Experience in the Spring Framework
- Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC, AngularJS)
- Experience with Java 8 (threading, lambdas, streaming, etc.)
- Experience with GIT/Stash, SVN and build tools Hudson/Jenkins
- Experience in Red Hat Linux environment and shell scripting
- Hands-on experience practicing UTDD (unit test-driven development) and ATDD (acceptance test-driven development) behaviors, utilizing tools like Fitnesse or Cucumber, Selenuim and jUnit
- Expert understanding of object-oriented analysis and design using common design patterns
- Hands on experience with continuous delivery and infrastructure configuration automation tools such as Puppet and Chef
- Hands on experience with developing, deploying and managing cloud applications
Ability to:
- Think creatively and solving problems simply, not always through technology
- Work with people of different skill sets in a cross-functional team, across locations
- Be a self-starter, driven and able to take initiative and work with minimal supervision
- Build real and lasting relationships with your team and extended partners
- Share knowledge and learning from others
Knowledge of Agile Development:
- Using Scrum, XP, Kanban, Lean or a related agile discipline/practice
- Focus on working with end users to deliver business value early
- Iterative and incremental delivery
- Emergent design and architecture
- Automated unit, integration, and acceptance testing
- Continuous integration, continuous build and automated deployment
Expected soft skills:
- A personal enthusiasm for technology and a drive to implement innovative and novel solutions to business problems
- Self-motivation and tenacity to push new ideas and changes through
- Good written and verbal communication skills in both technical and business domains
- Experience in a management/lead capacity
- Sharing knowledge and learning from others
- Adapting to change and working through ambiguity
- Strong facilitation and coaching skills
Additional Preferred Skills:
- Sound understanding of Cloud technology, benefits and disadvantages
- Hands on experience with building Cloud Native applications and deploying them on various cloud models (Public, Private and Hybrid cloud)
- Experience in migrating applications from in-house data centers to Cloud environments
- Experience with Microservices Architecture
- Experience in Interface first design principles and adopting 12 Factor Design for Cloud
- Experience in API management in Cloud