Senior Software Engineer
SoloSegment delivers marketing technology that gets our customers noticed. Their business grows. Our business grows. The common thread across all SoloSegment’s products is increasing the findability of content that connects seekers to their goals. It doesn’t matter whether someone is typing in a search box or clicking on a link. We figure out their intent and connect them to the content they need to see.
At its core, the Senior Software Engineer is an engineering role. As part of an agile development team they design, develop, and deliver new products and features, as well as modify and maintain our existing products. But we expect more of our senior engineers.
To be successful as a Senior Software Engineer, you should be able to drive the software change and release management processes, assist with the overall maturity of the software development lifecycle, and recruit, develop and retain software engineering talent. As a top-notch Senior Software Engineer, you will ensure that software deliverables comply with quality standards and that every update adds value to the stack. Your ability to direct the architectural decisions of the entire team is especially valuable, to free product managers to focus on what the software does, rather than how it does it. The role requires both technical hands-on design and development skills and softer skills for working with the business team and developing more junior engineers on the development team.
The Senior Software Engineer will engage with the product manager, development teams, account managers, and vendors to ensure the successful design, development, and delivery of commercial software products.
- Technical Leadership. Contribute to and guide the efforts of development teams, including internal and external team members in the ongoing evolution of our products and services.
- Design, develop, modify, implement, and support software components anywhere in the Software stack. Determine the root cause for the most complex software issues and develop practical, efficient, and permanent technical solutions.
- Technical trend visionary. Stay current on new technologies and available vendor packages; evaluate and make recommendations on best technological fit.
- Planning and Process. Assist in task planning, estimation, scheduling, and staffing to support iterative development cycles. Determine process improvements, best practices, and develop new processes.
- Team Mentor. Contribute to the skill/knowledge development of our more junior staff through advice, coaching, and training opportunities.
The following requirements are required:
- Experience working with two or more from the following: web application development, Unix/Linux environments, mobile application development, distributed and parallel systems, machine learning, information retrieval, natural language processing, networking, developing large software systems, and/or security software development
- Working proficiency and communication skills in verbal and written English
- Excellent analytical and problem-solving skills
- Ability to stay organized and manage time
The following qualifications are not required but are very advantageous:
- Interest and ability to learn other coding languages as needed
- Familiarity with cloud-based operations in Amazon Web Services, Google Cloud
- Platform, or both, including containerization
- Architectural experience with REST or GraphQL APIs and microservices
- Familiarity with the Elasticsearch-Kibana-Logstash (ELK) stack and Apache Airflow