Python Developer - Senior SW Engineer
- Full-time
- Legal Entity: Bosch Global Software Technologies Private Limited
Company Description
Bosch Global Software Technologies Private Limited is a 100% owned subsidiary of Robert Bosch GmbH, one of the world's leading global supplier of technology and services, offering end-to-end Engineering, IT and Business Solutions. With over 27,000+ associates, it’s the largest software development center of Bosch, outside Germany, indicating that it is the Technology Powerhouse of Bosch in India with a global footprint and presence in the US, Europe and the Asia Pacific region.
Job Description
Roles & Responsibilities :
We are looking for an experienced Python Developer with 6 to 8 years of hands-on development experience to design, build, maintain, and support scalable Python-based applications and services. The ideal candidate should possess strong fundamentals in Python programming, software engineering best practices, debugging, testing, and production support, along with working knowledge of modern deployment and DevOps practices.
This role requires proficiency in writing clean, maintainable, and testable code, solving production issues, and contributing across the software development lifecycle—from design and implementation to deployment and monitoring.
Key Responsibilities
Design, develop, enhance, and maintain robust Python applications, services, scripts, and automation solutions.
Write clean, efficient, modular, and reusable Python code following coding standards and best practices.
Work extensively with file handling, data processing, JSON parsing, and command-line utilities.
Implement and optimize data structures, algorithms, and application logic for performance and scalability.
Build reliable and maintainable systems using OOP principles, functional constructs, decorators, iterators, and generators.
Develop multithreaded, asynchronous, or multiprocessing-based solutions where required.
Create comprehensive unit tests and integration tests, and ensure adequate test coverage.
Troubleshoot application issues, debug complex problems, and support production deployments.
Collaborate with cross-functional teams including DevOps, QA, Product Management, and other engineering teams.
Participate in CI/CD processes, code reviews, release management, and deployment activities.
Contribute to technical documentation, coding guidelines, and engineering best practices.
Qualifications
Required Technical Skills
Core Python Expertise
The candidate must be proficient in the following Python topics:
File I/O
Reading/writing text, CSV, binary, and large files efficiently
File handling best practices
Working with file paths and context managers
String Operations
String manipulation, formatting, parsing, regex basics
Efficient string processing and validation techniques
Command Line Arguments Validation and Parsing
Parsing and validating command-line inputs
Building CLI tools/utilities using Python libraries
JSON File Handling
Reading, writing, parsing, validating, and transforming JSON data
Error handling for malformed JSON and schema awareness
Data Structures and Performance Characteristics
Strong understanding of list, dict, set, tuple
Knowledge of when to use each structure
Awareness of performance implications, lookup times, mutability, and memory considerations
Exception Handling and Custom Exceptions
Structured exception handling
Creating meaningful custom exceptions
Writing resilient and fault-tolerant code
Iterators, Generators, and Comprehensions
Building memory-efficient and pythonic solutions
Generator expressions, lazy evaluation, and iteration patterns
Functions, Decorators, and Context Managers
Advanced function usage, variable arguments, closures
Reusable decorators
Implementing and using context managers effectively
Modules, Packages, and Virtual Environments
Python packaging concepts
Code organization into modules/packages
Dependency management and use of virtual environments
Threading, Async, and Multiprocessing
Practical knowledge of concurrency models in Python
Understanding use cases, trade-offs, and limitations
Experience with asynchronous programming and process-based execution
Basics of OOP
Classes, objects, inheritance, encapsulation, abstraction, polymorphism
Applying object-oriented design appropriately
Logging and Debugging Techniques
Implementing structured logging
Debugging code efficiently using appropriate tools and techniques
Root cause analysis for application issues
Clean Code Principles and Code Maintainability
Writing readable, modular, extensible, and maintainable code
Code refactoring, separation of concerns, naming conventions, and documentation
Unit Testing, Integration Testing, and Code Coverage
Writing effective unit and integration tests
Familiarity with test frameworks and mocking
Understanding code coverage and quality gates
Docker (Knowledge)
Basic understanding of containerization
Ability to work with Dockerized applications and development environments
CI/CD Pipeline Knowledge
Understanding of build, test, and deployment pipelines
Exposure to automated testing and release workflows
Deploying to Production and Handling Production Issues (Knowledge)
Basic understanding of application deployment processes
Monitoring, troubleshooting, incident handling, and production support awareness
Additional Skills / Preferred Qualifications
Experience in developing backend services, automation tools, APIs, or data-processing applications using Python
Familiarity with Linux/Unix environments and shell scripting
Understanding of software design patterns and code review practices
Exposure to version control systems such as Git
Knowledge of application monitoring, observability, and logging ecosystems is a plus
Familiarity with cloud platforms or deployment environments is an advantage
Awareness of security, performance optimization, and scalability best practices
Experience & Qualifications
6–8 years of hands-on experience in Python development
Bachelor’s or Master’s degree in Computer Science, Information Technology, Electronics, or related field
Strong experience in designing and delivering production-quality software
Good understanding of software development lifecycle, testing, debugging, and deployment processes
Desired Candidate Profile
The ideal candidate should:
Have strong problem-solving and analytical skills
Be comfortable working independently as well as in collaborative agile teams
Demonstrate ownership in delivering high-quality software
Be proactive in identifying issues and proposing solutions
Have good communication skills and the ability to articulate technical concepts clearly
Be capable of handling production issues with a calm, structured, and root-cause-driven approach
Key Competencies
Python programming expertise
Code quality and maintainability
Debugging and troubleshooting
Testing discipline
Concurrency and performance awareness
Deployment and operational awareness
Collaboration and ownership mindset