Job DescriptionDo you want to be a decision maker? Would you like to have a large impact on a small team? Do you like working with others to solve complex problems? CENIC's Senior Software Engineer designs, builds, and implements robust software solutions to support CENIC’s organizational goals and objectives, incorporating emerging technologies into the support of the CENIC network. The position involves software design, tools development, and systems integration. The Senior Software Engineer will engage with stakeholders including CENIC network engineers, systems administrators, vendor technical support staff, and CENIC Associate sites to develop applications that help pave the way next generation networks. Responsibilities Oversee complex systems analysis, design and development programs. Work with stakeholders to define requirements, develop and implement software used to instrument, manage and troubleshoot large-scale diverse networks. Review the architecture and design of legacy applications. Work with stakeholders to deliver an improved and modern environment by rearchitecting and upgrading existing legacy applications to use up-to-date standards and technologies, and writing technical documentation outlining feasible replacement migration plans. Identify, troubleshoot, and resolve problems in live applications, and coordinate the process of resolving end user issues and software defects. Play an active role as a leader, consultant and individual contributor on various projects. Provide leadership, guidance, and mentoring to less experienced software engineers. Key Success Factors Foundational knowledge of technologies used in distributed application development (REST, WebSockets, JMS, XML, etc.) used to facilitate data exchange and functional integration across multiple application components. Proficiency with pattern design, automated testing and fault-tolerant systems. Experience working with both SQL and NoSQL (document or graph) databases. Excellent written and verbal communication skills. Ability to multi-task and stay organized in a dynamic work environment. Preferred Qualifications Master's degree in computer science Experience with one or more general purpose programming languages including but not limited to: Java, Python, C/C++, or C#. Interest and ability to learn other coding languages as needed. Experience in the design, deployment, tuning, and troubleshooting of application server clusters using Tomcat, JBoss, etc. Applicants must be currently authorized to work in the United States on a full-time basis. SALARY: The salary is commensurate with qualifications and experience. CENIC offers a generous benefits package, including health, dental, vision, and life insurance, liberal vacation, holiday, and sick leave, and employer contribution to retirement. LOCATION: CENIC has two California offices, the home office in La Mirada and a smaller office in Berkeley. This position will work out of the La Mirada office.