Primary Objective: The Senior Software Engineer is passionate about the Spectrio products and mission while focused on managing complexity through thoughtful software design and on new technology initiatives.
Work with the small team that supports and maintains our backend infrastructure, to keep our digital signage network running and customers happy
Design and develop new features and improvements within our collection of Python, Kotlin, and Go-based services to offer new functionality to our customers
Contribute to the design and development effort required to make it possible for us to migrate our platform from our datacenter to AWS.
Help us integrate our platform with other hardware devices and software systems
Develops software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
Documents and demonstrates solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments, and clear code.
Prepares and installs solutions by determining and designing system specifications, standards, and programming.
Improves operations by conducting systems analysis; recommending changes in policies and procedures.
Updates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
Protects operations by keeping information confidential.
Provides information by collecting, analyzing, and summarizing development and service issues.
Accomplishes engineering and organization mission by completing related results as needed.
Supports and develops software engineers by providing advice, coaching, and educational opportunities.
All other duties as assigned
Bachelor's Degree in Computer Science or related field.
QA experience and a strong understanding of testing methodologies preferred.
Ability to write Test cases and Test Plans from Engineering documentation.
Able to support the Engineering team with triage, debugging, and validation of software issues.
Comfortable in working with cross-functional teams to drive efficient resolution.
Broad experience designing, programming, and implementing large information systems.
Ability to provide in-depth evaluation and analysis of unique complex technological issues.
Excellent analytical and problem-solving skills.
Experience designing, creating and maintaining back-end services.
Proficiency with one or more of the following languages; C/C++, Java, Python, Go, Kotlin
Understanding of microservices-based architecture, it’s benefits, and trade-offs.
Strong knowledge of AWS. AWS certifications are a definite plus
Strong knowledge of Linux and related tooling, including understanding of chroot, boot process, file system structure, system-level programming, and configuration.
Strong knowledge of Docker
Solid understanding of web service architecture, systems and how they fit together such as HTTP clients, DNS, load balancers, reverse proxies, CDNs, application servers, databases, and caches
Possessing other skills not specifically enumerated or being proficient in front-end development is always a plus
Demonstrated ability to lead others
Ability to exercise discretion and independent judgment in the performance of duties
Ability to work independently and be proactive in task completion
Highly professional with the ability to deliver solid work on tight schedules
Excellent communication skills, both oral and written
Excellent organizational skills.
Analytical and detail-oriented with decisive judgment skills
Cloud hosting services, specifically Amazon AWS
Mobile development (Android, iPhone)
Container services, e.g. Docker
Continuous Integration and deployment, e.g. Jenkins, Travis, Circle CI
Infrastructure automation with Terraform
Linux experience a plus
Physical Demands: The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
While performing the duties of this job, the employee is regularly required to stand; walk; use hands to handle or feel; reach with hands and arms; talk or hear; and smell. The employee is required to sit the majority of the day. The employee must regularly lift and/or move up to 10 pounds, frequently lift and/or move up to 25 pounds, and occasionally lift and/or move up to 50 pounds. Specific vision abilities required by this job include close vision, distance vision, color vision, peripheral vision, depth perception, and ability to adjust focus.
Work Environment: The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
The work is performed in a typical office environment.
Disclaimer: The above statements are intended to describe the general nature and level of work being performed by people assigned to this classification. They are not intended as an exhaustive list of all responsibilities, duties and skills required of personnel so classified.