Senior Software Engineer
This position performs complex research, design, and software development assignments within a software functional area or product line, and provides direct input to project plans, schedules, and methodology in the development of cross-functional software products. This position performs software design — typically across multiple systems; mentors more-junior members of the team; and talks to users/customers and translates their requests into solutions.
Essential Skills and Experience
• 3+ Experience developing and deploying ECL
• 3+ Years working with HPCC Thor
• 5+ years of Software Engineering experience
• Strong proficiency with data manipulation language including optimization techniques.
• Strong understanding of data modeling principles.
• Strong knowledge of nosql or non-relational database principles.
• Strong research skills.
• Strong knowledge in industry best practices in development.
• Ability to interface competently with other technical personnel or team members to finalize requirements.
• Ability to work well with internal and external technology resources.
• Knowledge of test-driven development.
• Ability to write and review portions of detailed specifications for the development of complex system components.
• Ability to complete complex bug fixes.
• Good oral and written communications skills.
• Proven work within the Telematics industry
• Exposure and/or knowledge of HPCC Roxie development practices
• Java development
• Use of GIT for source control and management
• Interface with other technical personnel or team members to finalize requirements.
• Write and review portions of detailed specifications for the development of complex system components.
• Complete complex bug fixes.
• Work closely with other development team members to understand complex product requirements and translate them into software designs.
• Successfully implement development processes, coding best practices, and code reviews.
• Operate in various development environments (Agile, Waterfall, etc.) while collaborating with key stakeholders.
• Resolve complex technical issues as necessary.
• Train entry-level software engineers as directed by department management, ensuring they are knowledgeable in critical aspects of their roles.
• Keep abreast of new technology developments.
• Design and work with complex data models.
• Mentor less-senior software developers on development methodologies and optimization techniques.
• BS Engineering/Computer Science or equivalent experience required