Our client is a company that uses artificial intelligence and machine-learning techniques to build software systems that can “think,” adapt, and interact with people. This role works interacts heavily with clients while owning the technical delivery of the solution.
- Collaborate with peers on software design, work estimation and implementation of new features including interfaces, contracts with storage system, data transformation and handoff to client technical team.
- Keep on top of task and defect management system for assigned issues for each iteration as well as estimate and assess work priority.
- Participate in creating SOWs (Statement of Work) and Document final solutions for customers
- Plan by understanding the details (effort, risk, priority) of remaining work committed for a release
- Plan and execute an incremental and iterative software development process
- Perform peer code reviews as part of everyday workflow
- Contribute ideas to continually improve the team’s productivity, job enjoyment, and code quality
- Make a fun environment working with a great team and create cutting edge software
Required Skills & Qualifications
- 5+ years experience in Object Oriented Design and Programming or Functional Programing
- Ability to travel to customer sites to plan, integrate, and deliver solutions. 10-15%
- STRONG ability to design, code and debug applications in various software languages.
- Experience working on large software systems, particularly distributed systems and microservices architectures
- Experience architecting large software systems and enterprise integrations
- Solid grasp and fluent in common design patterns
- Experience working with large transactional data streams and combining transactional data with web, social and mobile data streams
- Demonstrated ability to effectively establish and maintain working relationships with all levels of the organization
- Keen business judgment, focus, and ability to see the "big picture" and prioritize
- Excellent communication and presentation skills with the ability to present and translate complex information to both internal and external teams in relevant business terms
- Some experience with performance tuning, improvement, balancing, usability, automation especially in distributed and cloud environments
- Support, maintain and document software functionality and software design and architecture
- Bachelor’s Degree or higher. Computer Science, Math, or Engineering major is preferable.