Senior Python Developer
YOUR RESPONSIBILITIES
- Development and unit testing of web applications including back-end (microservices), maintenance & level 3 support of the same
- Assist Project Managers, Business Analysts, and Tech Lead in project planning (provide estimates, risk analysis, requirements analysis, technical options)
- Software Architecture
- Involvement in full life cycle of projects (including requirement analysis and system design, development and support if required)
- Support and work collaboratively with teams across areas of design, development, quality assurance and operations
- Commit your knowledge and experience into team success
- A small amount of travel (when needed) to work with other offices
- Attend meetings to discuss and demonstrate solutions at both technical and business level
REQUIRED SKILLS AND EXPERIENCE
- 5+ years web application development experience
- 3+ years developing with Python
- 3+ years developing with C# and .NET Framework 4.x
- Experience with ASP.NET MVC, ASP.NET WebAPI 2, LINQ, and WCF
- Dependency Injection and other common ASP.NET MVC design patterns
- Experience with API design and development using REST
- Experience with performance optimization
- Experience integrating security best practices into the SDLC
- Experience with object-oriented programming (OOP) and OOP patterns
- Experience with Git
- 1+ years of Agile development experience
- Experience manipulating and working with data in a variety of forms: csv, xml, json, structured and unstructured
- Experience with SQL database schema design and querying. Microsoft SQL Server and PostGreSQL are used and preferred.
DESIRABLE SKILLS AND EXPERIENCE
- Knowledge of JIRA, Bamboo, Confluence, or BitBucket is a plus.
- Experience with a JavaScript MVVM library such as Web Components, knockout.js, Angular, React, etc. is a plus (Web Components and knockout.js are used and preferred)
- Experience with HTML5/CSS3/JavaScript/ and AJAX is a plus
- SPA (Single Page Application) design and implementation is a plus
- Experience with any ORM such as Entity Framework or NHibernate is a plus (NHibernate is preferred)
- Experience with TypeScript is a plus
- Experience with MS Build is a plus
- Experience with CI/CD is a plus
- Experience with Object Mapping Frameworks (AutoMapper, etc) is a plus
- Understanding of OOD, DDD and TDD is a plus
- AWS-based development is a plus
- Knowledge of Flask is a plus.
PERSONAL SKILLS
- Clever personality
- Strong spirit skills set: conflict resistant, self -motivated, result-oriented, responsible, honest, “open”, courageous
About A leading Media Data and Analytics Firm
Similar jobs
Responsibilities:
- Ensure the quality of architecture and design of systems.
- Functionally decompose complex problems into simple, straight-forward solutions.
- Analyze and improve data quality and metrics.
- Fully and completely understand system interdependencies and limitations.
- Leverage knowledge of internal and industry in design decisions.
- Assist in the career development of others, mentoring on advanced technical issues and helping managers guide the career growth of their team members.
- Exert technical influence over multiple teams, increasing their productivity and effectiveness by sharing your deep knowledge and experience.
- Skilled in translating high level abstract business requirements into software design, designing systems specifications, standards, and programming
- Contribute to Architectural blueprints and Design for the software solutions
- Mentor team on engineering best practices such as writing clean code, designing scalable, reliable and performant software solutions, set and ensure compliance to software quality standards etc.
- Be a role model for the team with innovative thinking, passion for continuous learning and contributions to the project.
Qualifications, Skills & Experiences
- BE / B.Tech /M.Tech in Computer Science or a related field
- Minimum 7+/5+ years of experience building large scalable systems
- Minimum 2+ years of recent experience in building products on cloud is a plus
- Knowledge of asynchronous programming and WebAPI development is required
- Knowledge and awareness of cloud/ application security is must (OWASP at the minimum)
- Strong knowledge in OOPS with C#, .Net(or Java) with SQL Server or any RDBMS
- Strong experience in architecting and building multi-threaded, distributed systems.
- Strong knowledge of data structures, algorithms, and designing for performance.
- Ability to achieve stretch goals in a highly innovative and fast paced environment.
- Extensive experience of mentoring junior engineers to success.
- Experience with Microservices Architecture is a plus
- Working knowledge of CI/CD pipelines and AWS/Azure cloud services is plus
- Hands on experience of building products for unix systems in addition to windows is a plus
- Excellent Communication
- B.E in computer science or related fields.
- Hand-on development experience with web & database technologies (MS SQL).
- Excellent programming & communication skills Strong problem solving, judgmental, and decision-making skills.
- Ability to work at the tactical and strategic levels of IT initiatives.
- Impressive hands-on experience in .Net technologies. Impressive hands-on experience and knowledge with C#, SQL, JSON, XML, Win Forms & MVC, Angular, JavaScript, jQuery , HTML/CSS.
- Self-Motivated, flexible & Innovative.
Enterprise Minds, with core focus on engineering products, automation and intelligence, partners customers on the trajectory towards increasing outcomes, relevance, and growth.
Harnessing the power of Data and the forces that define AI, Machine Learning and Data Science, we believe in institutionalizing go-to-market models and not just explore possibilities.
We believe in a customer-centric ethic without and people-centric paradigm within. With a strong sense of community, ownership, and collaboration our people work in a spirit of co-creation, co-innovation, and co-development to engineer next-generation software products with the help of accelerators.
Through Communities we connect and attract talent that shares skills and expertise. Through Innovation Labs and global design studios we deliver creative solutions.
We create vertical isolated pods which has narrow but deep focus. We also create horizontal pods to collaborate and deliver sustainable outcomes.
We follow Agile methodologies to fail fast and deliver scalable and modular solutions. We are constantly self-asses and realign to work with each customer in the most impactful manner.
Pre-requisites for the Role
- Job ID-EMPY0120MS
- Primary skill: Python Developer, Django, Problem solving.
- Secondary skill: Rest, API
- Years of Experience: 4-7 Years
- Location: Remote
Budget- Open
NP- Immediate
PYTHON DEVELOPER
- Design, build, and maintain efficient, reusable, and reliable Python code
- Design and implement software platform with Microservices Architecture, based on AWS Lambda and Event sourced data
- Integration of data storage solutions {may include databases, key-value stores, notification queues, etc.}
- Integration with various backend monitoring tools
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization and automatization
- Participate in early product demonstrations to customersExperience required:
- Bachelor's or Masters in Computer Science or a related discipline
- 2-6 years of relevant professional experience
- Delivery of quality results within aggressive timelines
- Knowledge of software development processesSkills Required:
- Experience with Python, along with other common libraries/framework such as Flask, Celery, Django etc.,
- Good understanding with usage of Lambda in Python.
- Good understanding in testing frameworks like PyTest.
- Ability to work with IDEs like Visual Studio Code.
- Basic understanding in developing private PIP packages.
- Solid understanding of object-oriented programming.
- Familiarity with concepts of MVC, Mocking, ORM, and RESTful.
- A knack for writing clean, readable Python code.
- Ability to integrate multiple data sources and databases into one system.
- Ability to understand monitoring metrics, such as CPU, Memory, Disk Space, Network latency, and telemetry services.
- Understanding of fundamental design principles behind a scalable application.
- Understanding the fundamentals of RDBMS databases.
- Ability to work with PostgreSQL is a plus.
- Ability to work with AWS services like Lambda, Kinesis, SQS, SNS etc., is a plus.
- Proficient understanding of Git.
- Familiarity with continuous integration and continuous deployment.
- Effective verbal and written communication skills.
- Degree in Computer Science (BS/MS), related technical field or equivalent practical experience
- 8+ years of industry experience in product development
- Experience in coaching and mentoring team members
- Must own a specific component of the product. Gathering requirements by working with product management. Working closely with development managers in defining external product interfaces
- Must have excellent written and verbal communication skills. Must articulate various design approaches and design decisions clearly - within the team and across the teams.
- Must work with QA engineers to devise proper test constructs - unit testing and integration tests.
- Maintaining the central databases, ensuring high performance, and responding to requests from the front-end.
- Creating a secure API for our mobile applications.
- Optimizing the application for maximum speed and scalability.
- Implementing security and data protection.
- Designing and implementing data storage solutions.
- Compiling and analyzing data, processes, and codes to troubleshoot problems and identify areas for improvement.
- Recording data and reporting it to respective parties
- Participating in all phases of the development life cycle
- Developing additional server level functionality and tools using a .NET language (C# preferred).
- Troubleshooting and fixing bugs/ flaws to ensure servers are running optimally.
- Managing Integration of user-facing elements developed by front-end developers with server side logic
Desired Candidate Profile
What you need to have:- 3 years + Experience and exposure to working on problems of scale.
- .Net Fullstack Developer with Angular(Must) and MS SQL
- Must have mobile based app development experience.
- Familiarity with the challenges involved in scaling applications from a single machine to a large deployment.
- Experience with cloud environments like Amazon's AWS is a plus.
- Experience with in working with gaming servers like SmartFox multiplayer server is a plus.
- Added advantage to those who have worked on C#, Web API , WCF, MVC, MS SQL and Angular JS in business env.
- Collaborating with the front-end developers and other team members to establish objectives and design more functional, cohesive codes to enhance the user experience.
Job Description
- Design & implement backend APIs
- Mentor junior developers technically.
- Actively work to reduce tech debt in the backend
- Work towards more stability & scalability of the backend
- Tech stack - Java, AWS, Aurora etc.
Eligibility
- 4-8 years of product company experience
- OOP implementation experience. Programming language does not matter. We use Java internally but have hired folks from non Java background.
- Hands on experience in SQL, Dynamo DB, Postgres etc preferred.
- Prior experience building REST APIs
- Advanced understanding of AWS stack
- Prior knowledge of solving problems at scale.
- Work experience as Python developer
- Should have experience in developing and working on consumer facing web/app products on in Django framework
- Should have experience working with react js front end design.
- Thorough knowledge of data stores, MyScore AWS services and should have experience with EC2, ELB, AutoScaling, CloudFront, S3
- Experience in Frontend codebases using HTML, CSS and Javascript
- Good understanding of Data Structures, Algorithms and Operating Systems
- Good experience of developing and integrating APIs
- Knowledge of object-relational mapping (ORM)
- Able to integrate multiple data sources and databases into one system (mysql)
- Understanding of front-end technologies, such as JavaScript, HTML5, and CSS3
- Proficient understanding of code versioning tool (git)
- Good problem-solving skills
• Should have 5+ years of work experience in design, develop, Code and Unit Test web and desktop-based applications written in .Net framework starting from 4.x and above.
• Strong analytical skills to understand a given requirement and provide work estimates.
• Strong Object-Oriented Programming knowledge.
• Strong experience with Static Code Analyzers like Fortify.
• Should have good understanding of web servers such as IIS and Front-end such as HTML’s and Razor based engines.
• Strong debugging skills using .net front end and backend.
• Strong coding experience and thorough understanding of programming languages such as C#, VB.NET, ASP.Net, ADO.Net, JQuery, JavaScript, Traditional Web Services, WCF, Web API and other Scripting languages such as pythons.
• Strong working knowledge on various design patterns such as MVC, MVVM, DDD, Repository Pattern and any custom/hybrid framework as designed by the Architects.
• Should have a strong working knowledge of Azure DevOps.
• Strong knowledge and understanding of data sharing medium using JSON, XML and other media types.
• Strong knowledge on Entity Framework (6 and above) and other ORM such as Dapper.
• Strong knowledge and programming skills in Database such SQL SERVER, Oracle, My SQL and SQL Express. Additionally, nice to know-how knowledge in MS ACCESS.
• Strong knowledge and coding experience in REST based web services and service-oriented design patterns using WCF and other API’s.
• Should have used IDE such as Visual Studio and Visual Studio Code for Front-end development.
• 1+ years of building SPA web solutions using Angular 6/7/8 , BackBone, Bootstrap
• 5+ years building HTML5 complaint pages
• 3+ years of experience using TypeScript
• 3+ years of writing automated testing using Jamine or others
Day to Day job Duties: (what this person will do on a daily/weekly basis)
• Co-ordinate/mentor other Junior developers on a day to day basis.
• Understand the use cases/User Story, code and develop on a designed platform/pattern.
• Strict adherence to coding standards.
• Participate self-code review/peer reviews and correct errors wherever applicable before checking in the final code into the Branch/code repo.
• Create code documentations wherever applicable and as set guidelines by the team.
• Create and perform Unit Tests wherever applicable as set guidelines by the team.
• Provide feedback and assist in estimation planning.
• Merge code branches as and when required.
• Create and publish release documentations and application deployments as and when requested.
• Report out statuses to the leads onshore daily during the Stand-up calls.
• Additionally, update efforts on a given work item on everyday basis.
• Provide true estimates on work assigned prior development. Also ask questions/provide comments on User Stories/work items assigned.
• Be a team player and flexible towards availability in case of any urgent issues that need immediate attention.
• Plan out vacations in advance (min. 2 weeks of adv. Notice).
Nice to have(not a must) experience, skills
• Good understanding of Service Workers.
• Prior coding experience using FORTRAN.
• Experience on 3rd party tools like Spire.Pdf, PDF.Js.
• Knowledge of Rapid application development framework like DevExpress, Code on Time, HighCharts.
• Knowledge of code clean up tools like CodeMaid.
• Knowledge of Power BI and O365 Suites of applications.
• knowledge of SQL Data tools like SSIS and SSRS.