Job Description :

Job Title: Senior Software Engineer

Duration: 12 Months

Location: Remote

Purpose:
Performs complex analysis, design, development, testing, and debugging of computer software ranging from operating system architecture integration and software design to selection of computer systems, language, and/or equipment. Designs, develops/codes, tests, and documents critical and complex application programs for computer systems. Works with appropriate stakeholders to define system scope and objectives and establish baselines. Establishes project standards and processes. Breaks down software requirements and creates highly complex systems.

Must Have:

Must have: Snowpark (Python and Java) + Snowflake work experience
Must have: development of scripts using Unix, Python, etc. for loading, extracting, and transforming data

Essential Functions:
10% Perform technical detail design, coding, testing of applications. Serves as subject matter expert for both customer and internal discussions related to maintaining and enhancing existing software systems. Develop and/or analyze interface design documentation. Comply with hardware and software systems standards and procedures. Deliver large systems for tens of thousands of users. Comply with code quality, migration and dev/ops standards and policies

10% Performs software analysis, including requirements and uses case development and design. Implements and documents source code to design specifications. Performs software testing including developing and running automated unit tests, drafting, and executing structured automated test cases. Compile, assess, and report data results from software testing and analysis.

70% Develops software solutions for enterprise environments and other technologies. Analyzes and implements functional and non-functional (e.g. performance, availability) requirements and designs, implements, and tests software. Performs operations & maintenance (O&M) of existing systems. Identifies areas for improvement and streamlining. Demonstrated experience with front-end and back-end programing and integration frameworks and tools. Assist in the estimation of development of application features

10% Provides direct technical support for high level, high visibility and critical trouble calls for supported applications. Works with cross functional teams to develop highly reliable software that runs at scale. Provides recommendations to infuse new technology. Extend open-source libraries and systems as necessary to meet the needs of the team. Play a crucial role in product scoping and roadmap / architecture discussions. Continually evaluate emerging technologies to identify opportunities, trends, and best practices. Mentoring of junior software engineers

Qualifications

  • Expertise of database technologies (e.g. cloud, SQL, Oracle PL/SQL, Snowpark, Snowflake, PostgreSQL).
  • Implementing ETL pipelines within and outside of a data warehouse using Python and Snowflakes Snow SQL.
  • Development of scripts using Unix, Python, etc. for loading, extracting, and transforming data.
  • Assist with production issues in Data Warehouses like reloading data, transformations, and translations.
  • Ability to communicate technical requirements to all levels of expertise.
  • Proficient in establishing and maintaining good working relationships.,
  • Knowledge and understanding of software development life cycle (SDLC).
  • Proficient with integrating complex and/or existing systems.
    Knowledge of programming languages (e.g. Python, Java).
  • Excellent communication skills both written and verbal.
  • Proficient knowledge of cloud technologies (AWS). 
  • Fundamental knowledge of software engineers’ best practices, agile methodologies, CI/CD pipelines.
  • Knowledge of test-first practices including Test-Driven Development (TDD) for unit tests and Behavior-Driven Development (BDD) for automated acceptance tests.
  • Knowledge of Code quality and promotion practices.
             

Similar Jobs you may be interested in ..