Python Developer

Engineering · Contract · Piedmont, Italy

Job description

General Description

A Software Engineer is an expert in building products and systems that has the ability to influence developers and team members, providing leadership and demonstrating technology domain expertise to achieve business impact.

Is capable of identifying and executing on significant engineering/company-wide opportunities by understanding how technical capabilities meet customer needs. Proactive work with customers to help them understand these new capabilities and work with them to build the right roadmap for the business.

Roles and responsibilities

  • Participate as senior engineering representative in product development teams for development strategies of new products and services.

  • Implement best practices and coding standards on the project.

  • Working on identifying the project risk and planning mitigation action with the PM at project level.

  • Participate in the full life cycle of development, from specification and design through implementation, testing, and support.

  • Must be proactive to propose effective solutions to unexpected events and must have an explanation for them.

  • Must collaborate to set priorities and evaluate the options accurately.

  • Research technical issues and propose technical solutions.

  • Must work on constantly increasing the productivity of the team and reducing the waste on the other end.

  • Positively influence team members, a Leader who is considered by all members.

  • Share the success and failures with the team.

Education

  • Bachelor’s degree in Computer Science or an equivalent combination of education and expertise.

  • 3+ years of solid programming experience as a Senior.

  • 3+ years of experience in Python development solutions as a Senior.

  • B2+Level of written and spoken English

Skills

Soft Skills

  • Ability to explain complex ideas

  • Deep analytical skills

  • Work collaboratively

  • Comprehensive Listening and good speaker

  • Problem Solving

Technical Skills

  • Expert in Python, with knowledge of at least one Python web framework

  • Familiarity with some ORM (Object Relational Mapper) libraries

  • Understanding of the threading limitations of Python, and multi-process architecture

  • Familiarity with event-driven programming in Python

  • Understanding of fundamental design principles behind a scalable application

  • Understanding of accessibility and security compliance

  • Understanding of fundamental design principles behind a scalable application

  • Understanding of the differences between multiple delivery platforms, such as mobile vs desktop, and optimizing output to match the specific platform

  • Strong unit test and debugging skills

  • Understanding of OOP patterns, OO languages or functional programming.

  • Proficiency with web-related protocols and architectures like MVC, MVVM, REST APIs HTTP, GraphQL.

  • Web Technologies (CSS, Sass, Stylus, TypeScript, HTML, Modern JavaScript, etc.)

  • Understanding Design Patterns, Design Principles, Algorithm Analysis.

  • Experience with clean code principles

  • Experience with CLI

  • Databases Knowledge (Relational Databases and/or Non-Relational Databases)

  • Experience in Source control Management and Tools (Git, Source Tree, Git Kraken, GitHub, etc.)

  • Knowledge on mobile platforms (iOS Native and/or Android Native)

  • Experience working on an Agile environment (scrum, kanban, etc)

  • Excellent troubleshooting skills.

  • Excellent knowledge of general software engineering principles.

Desirable

  • Cloud Certification
  • Software Development Certification
  • Agile Certification
  • Low Code certification
  • Knowledge about microservices and/or Serverless is a plus
  • Knowledge about e-Commerce and Tools

Org chart

Peers

View in org chart

Open roles at Cognits

Two candidates
The Org
helps you hire
great candidates
It takes less than ten minutes to set up your company page.
It’s free to use - try it out today.