Principal Python Developer

Duties & Responsibilities

  • Software Development Implementation Perform programming tasks according to the project plan and functional specifications
  • Perform unit testing of the tasks submitted by him
  • Integrating team output into the project solution and packages
  • Responsible for project configuration management and releases deployment
  • Finally smoke test for deployed releases
  • Gathering and preparing release notes
  • Team Leading and technical coaching
  • Coaching and guiding technical team for best practices, standards, & appropriate design patterns
  • Perform code reviews for development team (daily for new members & weekly for other members)
  • Ultimately responsible for project code quality
  • Guiding the team on adopting and using Agile approaching and practices
  • Breaking down backlog features into smaller tasks to be easier & more effective for team members
  • Divide tasks among team members with agreement with the PM based on priorities & deliverables
  • Updating the PM with project & team status and performance
  • Raising any project or task risks or impact of any impediments to the PM
  • Conducting technical research to gain technical knowledge and resolve technical difficulties
  • Estimations and Sizing
  • Provides the development effort estimation of new features & components with the development team for the project he is leading
  • Participate in estimating potential new projects modules & features and provide it to the PM
  • Highlight to the PM development potential risks and tasks dependencies
  • Architectural and Analysis
  • Participate in the analysis of new functional requirement and systems
  • Building solution architecture in collaboration with the team
  • Confirming solution architecture with PM before implementation kickoff
  • Providing the team, the design of project systems and component

Requirements

  • At least 6+ years of experience.
  • Proven experience implementing tasks using Python
  • Good knowledge in Pandas, NumPy, SciPy, Gensim
  • Good Knowledge in Matplotlib, Dash, PyDot
  • Good Knowledge Selenium
  • Excellent understanding of OOP, n-tier architecture and design patterns.
  • Good Knowledge in HTML/CSS/JavaScript
  • Familiarity with React & Angular
  • Familiarity with Beautifulsoup
  • Experience with Microsoft Azure Cloud development.
  • Good knowledge of containers and dockers
  • Experience with consuming REST APIs/JSON
  • Experience with web development frameworks like Flask or Django
  • Knowledge in queues, multi-threading, parallelization, and distributed caching servers is a plus.
  • Very good analytical and creative problem-solving skills.
  • Good work ethics, Team player, positive and self-motivated.
  • Strong Communication & Interpersonal skills.
  • Excellent command of English language is a plus.
  • Previous experience working with U.S clients is a plus.
  • Flexibility to travel when needed (mainly to U.S & Jordan and could be other destinations if required).

Benefits

  • Salary paid in USD
  • Six-month career advancing opportunities
  • Employee parking space
  • Supportive and friendly work environment
  • Premium medical insurance [employee +family]
  • English language development courses
  • Interest-free loans paid over 2.5 years
  • Technical development courses
  • Planned overtime program (POP)
  • Employment referral program
  • Premium location in Maadi
  • Social insurance
OUTSOURCED SOFTWARE DEVELOPMENT TEAMS. In a perfect world, Agile software development teams would work side-by-side. But in the real world, this is not always possible. Outsourcing is one way to quickly add new technical talent, but quality is often an issue. With Integrant, you no longer have to compromise on quality when you extend your team, because our focus is on providing quality service and a quality experience that leads to quality software. Our business philosophy and service model are based on quality; we hire good people, use proven processes, and focus on maintaining good communication; in all three of those areas, our services are customized to meet your specific needs. Our in-depth understanding of what it takes to build quality software, combined with our obsession with overcoming challenges, makes us the perfect extension of your in-house software engineering team. We realize the investment to ramp up an outsourced team is the same as hiring your own people, especially when the domain is complex, so we focus on the retention of knowledge and people to support our long-term, seamless partnership. You set the standard to which we adhere. Adapting our teams to work with you – mirroring your values, protocol, methodology, and standards – is an important part of our commitment to quality. We create a custom team and communications plan based on your needs.