Responsible for programming and software development using various programming languages and related tools and frameworks, reviewing code written by other programmers, requirement gathering, bug fixing, testing, documenting and implementing software systems. Experienced programmers are also responsible for interpreting architecture and design, code reviews, mentoring, guiding and monitoring programmers, ensuring adherence to programming and documentation policies, software development, testing and release.
Required Skills and Experience:
Write software programs using specific programming languages/platforms such as Java or MS .NET, and related tools, platform and environment. Write, update, and maintain computer programs or software packages to handle specific jobs, such as tracking inventory, storing or retrieving data, or controlling other equipment. Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes. Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements. Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic. Write or contribute to instructions or manuals to guide end users. Correct errors by making appropriate changes and then rechecking the program to ensure that the desired results are produced. Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct. Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program. Investigate whether networks, workstations, the central processing unit of the system, and/or peripheral equipment are responding to a program's instructions. Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language. Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer. Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs. Perform unit testing Assist in system and user testing Fix errors and bugs that are identified in the course of testing.
• Qualifications\: 3-7 years (2 years min relevant experience in the role) experience; Bachelor’s degree
• Should be proficient in Software Engineering Techniques, Software Engineering Architecture, Software Engineering Lifecycle and Data Management.
• Should have progressing skills on Business Analysis, Business Knowledge, Software Engineering Leadership, Architecture Knowledge and Technical Solution Design.
Snowflake Data Engineer
• Strong Snowflake Developer with 6+ years of experience in SQL Development and Data Analysis required to develop new complex data pipelines/warehouse
• At least 2 full years of recent Snowflake experience (Snowflake atop AWS)
• In-depth knowledge of Cloud services
• Experience in Databases like Oracle / AWS RDS etc.
• Hands-on experience with Snowflake utilities; SnowSQL, SnowPipe,
• Able to administer and monitor Snowflake computing platform
• Handling large and complex sets of XML, JSON, and CSV from various sources and databases
• Solid grasp of database engineering and design
• Experience with any scripting languages, preferably Python – usually as wrapper/housekeeping
• Leveraged frameworks & orchestration like Airflow as required for ETL pipeline
• Identify bottlenecks and bugs in the system and develop scalable solutions
• Responsible for analyzing and building Snowflake SQLs
• Unit Test & Document deliverables
Required Technical Skills:
• Snowflake atop AWS (Azure as secondary)
• Strong SQL
• Other SQL based databases, like Oracle, SQL Server, etc.
• AWS Cloud knowledge - Overarching AWS Services Skills across the AWS services set
o Specifically\: S3 partitioning, SparkSQL processing, Kafka, Streaming Patterns, Pipelining, etc.
o Acquiring data from internal and external sources, prepping it with minimal ETL in SparkSQL, landing it in Amazon S3 and loading it into a Snowflake database.
o AWS Database Expertise\: Snowflake is preferred, Redshift, Vertica and Netezza are nice to have
Nice to have:
• Python
• AWS/Glue
• Experience in creation and modification of user accounts and security groups per request
• Create AWS services like Lambda, AWS Glue, Step function, etc.
• SnowPro Certification
• Experience with an ETL tool, like Infomatica, Talend, Matillion, etc.
Candidates should be flexible / willing to work across this delivery landscape which includes and not limited to Agile Applications Development, Support and Deployment.
Applicants for employment in the US must have valid work authorization that does not now and/or will not in the future require sponsorship of a visa for employment authorization in the US by Capgemini.