We are looking for a Senior Lead Programmer to take our company to the next level of growth!
Responsibilities
- Project implementation – upgrade all systems from Asterisk 11, including transitioning our redundant C and PHP AMI event readers that synchronize database representations of peers with a mysql database, so that they handle changes with asterisks events that occurred after Asterisk 11, transitioning drivers from chan_sip to pjsip, weighing the benefit of and potentially update to using ARI instead of, or in addition to AMI, and managing the rollout/testing process.
- Outage management – you are experienced in our back-end technologies to a degree that enables you to locate (research) and manage resolution of any software-based outage, including determining the right people to assign to the resolution team, and managing the team through resolution.
- Project leadership – we will assign you platform-level projects to take ownership of, to the degree of having it completed with little oversight. You will break down the project, determine what additional resources are necessary (team members), manage timelines and expectations, and the output will consistently meet with our quality expectations, and the project requirements.
- Back-end infrastructure and technology stack knowledge - including server automation (Linux), back-end product platform (PHP/MySQL), VOIP (Asterisk, PHP), and front-end platform (custom UI framework & module loading/sandboxing systems).
Required Education and Experience:
- Nine years combined work/educational/personal/open source experience within the full LAMP stack, with a focus on application development rather than website design or development
- 2 Years of experience leading a team
- Expert at interacting with recent versions of Asterisk PBX directly through AMI and/or ARI
- Experience with modifying Asterisks' source code, as well as having written patches that have been submitted back to the Asterisk community – or significant, proven aptitude in C.
- SIP protocol - message format, order, headers, debugging packet captures
- MySQL: (1) developing abstract object-oriented representations of database objects in PHP (2) building efficient indexing and server-side architecture, including efficient use of composite indexes, covering indexes, sharding and partitioning (3) query optimization and building highly optimized dynamic queries representing datasets that change per customer-instance (i.e. building dynamic queries in PHP or another non-database language)
- Expert at JavaScript, including knowledge of EMCAScript 6/7 and HTML5 JavaScript API improvements – to the point of knowing, at least, what exists, so that your knowledge of development patterns is tuned to know when utilizing a new extension to JavaScript that you may not have worked with before, would provide a benefit.
- Client and Server Websocket components (i.e. developing a client/server protocol of a Websocket messaging interface, as well as developing the server itself, as well as developing the client interface in JavaScript or another language) - OR - Significant experience interacting with any custom websocket event server on the client level, combined with TCP/IP server development experience in an unrelated protocol
by via developer jobs - Stack Overflow
No comments:
Post a Comment