Provide technological leadership and expertise in all facets of the software development lifecycle for the purposes of the development, maintenance, and support of software products and systems.
Design, develop, document, test, and debug new and existing software systems and/or applications for market sale or large-scale proprietary software for internal use.
Lead as the technical expert on development projects across the full development life cycle:
Analyze business requirements and estimate level of effort
Write technical specifications based on conceptual design and stated business requirements.
Perform Unit and Integration testing.
Lead design and code review meetings.
Write Release Notes for QA and End Users.
Deploy software and systems to production.
Troubleshoot & resolve production issues.
Analyze code to find causes of errors and revise programs as needed.
Drive the execution of multiple, medium scale, complex, cross functional projects to ensure their successful and on-time completion.
Define and manage the system, technical, and application architectures for major areas of development.
Identify and communicate the impacts of business initiatives and objectives on the infrastructure and architecture.
Collaborate with Product Management, R&D, and Architecture to address important customer issues and find innovative solutions to difficult problems.
Remain aware of technological trends and advancements and recommend strategic product enhancements to ensure product relevancy and support revenue growth.
Supports and develops software engineers by providing advice, coaching and educational opportunities.
Updates job knowledge by studying development tools, programming techniques, and computing equipment; reading professional publications; participating in professional organizations.
Knowledge, Skills, and Abilities:
Expert knowledge of programming languages and software development practices.
Subject matter expert on developing n-tier, scalable applications using web-service architectures.
Skills in data structures, algorithms, and formal test techniques.
Project Management skills.
Ability to work on highly complex issues without supervision.
Self-starter with excellent communications skills
Demonstrated ability for self-directed learning
Ability to discuss tradeoffs in design choices and how they affect the properties and behavior of the system as a whole.
Ability to take total ownership of assigned projects.
Ability to multi-task and stay organized in a dynamic environment.
Ability to work with a diverse team.
Ability and willingness to select, learn, and teach new technologies.
Ability to communicate the code styles, structures, and organizations that facilitate reuse, understanding, and testability.
Ability to interact with all levels of the organization.
Knowledge of probabilistic modeling
A Bachelor Degree in Computer Science or equivalent.
10-14 years of development experience
Excellent problem-solving and troubleshooting skills.
Experience in leading a small technical group with excellent technical writing and communications skills.
JSON RESTful Web Services
Load balancers, caching solutions, and other moving parts of a high-performance application infrastructure
Experience developing voice and/or speech recognition software
Knowledge and experience with signal processing
Experience with UDP/TCP networking protocols
Experience working with telephone systems
Standing, sitting, walking, speaking, listening, bending, reaching, pushing, pulling, lifting, grasping and manipulating tools, typing, using peripheral computer tools. May be required to lift up to 25 pounds.
It is the Company's policy to provide equal employment opportunity to all individuals. Securus will not discriminate against any associate or qualified job applicant with respect to any terms, privileges, or conditions of employment because of that person's race, color, religion, sex, national origin, age, disability, veteran status, or any other characteristic or status protected under local, state or federal law, ordinance or regulation.