- Work independently including asking questions to understand the requirements, estimating the level of effort for your development, and managing development to a timeline.
- Learn quickly and apply knowledge to ones work to deliver solutions quickly.
- Lead projects, as necessary, for special systems and application development in areas of complex problems.
- Design and develop features in both the cloud and on premise that enable radically simplified automation.
- Innovate new tools that allow our organization to deliver our services more quickly: self service provisioning, deprovisioning and management of services at scale.
- Improve scalability, service reliability, capacity, and performance.
- Propose, conceptualize, design, implement, and develop solutions for difficult and complex applications independently.
- Leverage third party APIs to build integrations with other systems.
- Possess expert programming and troubleshooting skills in order to resolve highly complex problems where the analysis and resolution requires extensive knowledge of the many diverse system components, such as: authentication, networking, firewalls, databases, operating systems, storage, and server hardware.
- Participate in meetings with senior level staff and possess professional services level soft skills.
- Oversee testing, debugging, change control, and documentation for projects.
- Improve the physical design of existing systems to optimize performance.
Education & Experience:
Bachelor's degree and eight years of relevant experience, or a combination of education and relevant experience.
Knowledge, Skills and Abilities:
- Domain experience with building solutions or applications on premise or in the cloud.
- Experience with building web services using REST.
- Proficient understanding of code versioning tools, such as Git.
- Experience with continuous integration.
- Demonstrated experience leading activities on structured team development projects.
- Ability to learn quickly and adapt to new technologies and programming tools.
- Able to understand and often predict the emergent behavior of complex systems.
- Demonstrated experience in designing, developing, testing, and deploying applications.
- Demonstrated experience leveraging third party APIs to build integrations.
- Strong understanding of data design, architecture, relational databases, and data modeling.
- Must have extensive understanding of networking protocols (TCP/IP, HTTP, SSL, DNS, FTP, etc) and extensive knowledge of complex firewall topologies.
- Must have extensive experience in Web Services (REST, SOAP), XML and data persistence layer framework design and development.
- Thorough understanding of all aspects of software development life cycle and quality control practices.
- Must have a deep understanding and good working experience in application servers like Apache, Tomcat etc.
- Bonus points if you have experience with telephony APIs: Avaya API, Cisco Call Manager API, Level 3 API.
- Strong communication skills with both technical and non-technical clients.