- This position can work from a GCI office in Anchorage, AK, Denver, CO, Seattle, WA or may be eligible for teleworking*
GCI's Senior Software Engineer will apply principles and techniques of computer science, engineering and mathematical analysis to design, develop, document, test, debug and support new and existing software systems and solutions which solve business problems and support the goals of the company.
Development and Design
Design, develop/build and test applications, integrations, scripts, automations and other software solutions that meet business objects and requirements, while adhering to the SDLC, security standards, development guidelines and best practices. Define system performance standards and KPI's.
Properly and accurately estimate, track and document all development efforts to all departmental and team standards and specification requirements. This might include, but is not limited to, detailed LOE estimates, technical specifications, flowcharts, architectural diagrams, administration instructions and end-user manuals,
Collaborate, as needed, with project managers, business analysts and other developers as well as other project resources during the scoping, requirements gathering and design phases of projects. Comply with all project plans throughout development process.
Provide exceptional customer, end-user and stakeholder support at all times.
Troubleshoot and debug solutions to resolve incidents and ongoing problems.
Monitor systems performance and identify areas of improvement.
Upgrade, reconfigure and improve solutions, as needed, to achieve high usability, reliability, availability, accuracy and performance and either reduce or eliminate technical debt.
Knowledge, Skills and Ability
Demonstrated ability to:
Apply Engineering principles and techniques of Computer Science, Engineering, and mathematical analysis.
Ability to work with other developers and inter-disciplinary teams collaboratively and professionally.
Follow and enforce established procedures.
Research new configuration tools and methodologies.
Research new software development tools and methodologies, evaluating opportunities for efficiency or quality gains.
Knowledge of and experience in:
Software languages and platforms particularly needed for troubleshooting modern development platforms and frameworks.
Enterprise level integration technologies, tools, and patterns including but not limited to: J2EE application servers, Webservers, RESTful web services, ActiveMQ, Camel, etc.
Applications and Service Monitoring and Telemetry such as Splunk, ELK (Elasticsearch / Logstash / Kibana), Prometheus, Grafana, Monit, etc.
Database solutions such as MySQL, MongoDB, Oracle, MS SQL, NoSQL, etc.
Operating systems such as Windows, UNIX, Linux, etc.
Configuration management, Agile processes, Continuous Integration, Continuous Delivery and build procedures, including source control and build tools such as SVN, Artifactory, GIT, Bamboo, Chef, Jenkins, etc.
TCP/IP and higher-level networking protocols such as HTTP, FTP.
Telecom and OSS concepts including order management, provisioning, service assurance, trouble management, billing and invoicing.
Enterprise software concepts such as transactional processing, clustering, high availability and redundancy.
Software functionality and performance testing.
Create clear and easily understood written documentation for a variety of audiences, including, business analysts and end users. Use a blend of written communication techniques, including software diagramming such as UML. Take initiative to communicate amongst teams, including remote team members.
People and Self-Management Skills:
Build and maintain effective working relationships with leadership, peers, customers and vendors. Work to resolve problem relationships directly. Take initiative and seek out opportunities. Assess and accept risks and learn from mistakes.
Customer Service Skills:
Provide a professional level of service to internal customers. Take ownership and accountability of problems and facilitate finding a solution, involving other groups as necessary.
Additional Purpose of Position:
At a senior engineer level, will be expected to perform highly complex and diverse design, plans, analysis, and implementation under deadlines and operating constraints. Receives clear direction on assignment objectives, complex features, and possible solutions; must be able to make independent decisions and provide technical direction and resolution. Supervisory assistance is provided on unusual problems. Will review and provide final engineering design specifications and service requirements. Ability to coordinate, direct, assists, provides technical direction, and mentor junior engineers and supporting technicians.
Additional Job Requirements:
Establishes standards for software "build" processes used to organize/document and produce artifacts for internal and 3rd party code.
Leads in developing and executing processes to automate the deployment of build artifacts to all appropriate environments.
Manage, develop, and provide guidance in the development of scripts to build and deploy internal and 3rd party code.
Work with stakeholders to develop and implement appropriate source code strategies.
Participate in, and oversee, environment maintenance activities.
Materially participates in the Company's adoption of continuous integration and development operations practices.
Ensure team adherence to Software Development Life Cycle.
Knowledge, Skills & Ability:
Demonstrated ability to Design and implement build and deployment pipelines.
Cloud computing platforms and concepts
Leads small teams including project planning and tracking, resource management, task estimation and quality assurance activities as part of a larger project. Practice the principles of project management to include: project planning, resource management, task assignment, risk mitigation, issues management, and quality assurance. Foster innovation and promote teamwork.
This position will have a UI and Full Stack focus:
UI and Full Stack Software Engineers are responsible for design, implementation, test and support of software development with focus on UI Web application development. Strong experience in such domain is required with emphasis on Angular v.7 and above. Familiarity and experience in telecommunications including the following OSS and BSS concepts: customer relationship management, order management, provisioning, logical and physical inventory management, trouble management, billing and invoicing.
Minimum ten years in a software development, configuration engineering or similar technical role required.
Experience with multiple OS scripting languages and Web based scripting technology is required.
Experience within a telecommunications industry preferred.
High school diploma or equivalent is required.
Bachelor's degree in Computer Science or related field required.
Or a combination of relevant work and/or education sufficient to perform the duties of the job may be substituted for the degree on a year for year basis.
Industry specific certifications highly valued and may contribute toward education
Ability to perform sedentary work. Physical effort may include stooping, kneeling, touching, feeling, reaching, standing, walking, pushing, pulling, lifting, fingering, grasping, talking, hearing, and repetitive motions Ability to lift and carry up to 20 lbs. Visual acuity necessary to utilize a computer monitor throughout the course of a normal workday. Must be able to perform repetitive keyboarding activities and operate general office equipment. Must be able to communicate verbally in person, over the telephone, and via videoconference.
Most activities conducted inside under pleasant climatic conditions. Work can be intense and stressful due to time/resource limitations when scheduling multiple tasks with inflexible deadlines. Working extended hours will be required as needed. Due to business needs employees may be contacted outside of the normal business hours to respond to the immediate emergency. You will be requested to provide an emergency after hours contact numbers. Travel for business and training purposes may be required.
The company and its subsidiaries operate in a 24/7 environment providing critical services to Alaskans and may need to respond to public health and safety matters or other business emergencies. Due to business needs employees may be contacted outside of the normal business hours to respond to the immediate emergency. As such, you will be required to provide emergency after hours contact numbers, to include your home and cell phone numbers if you have those services.
Driving Requirements (if applicable):
Must possess and maintain a valid driver's license, proof of insurance and a satisfactory driving record.
We are an equal opportunity employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability status, protected veteran status, or another characteristic protected by law.
The above information on this description has been designed to indicate the general nature and level of work performed by employees within this classification. It is not designed to contain or be interpreted as a comprehensive inventory of all duties, responsibilities, and qualifications required of employees assigned to this job.