Engineer II - Python Developer

Semtech

  • Hyderabad, Telangana
  • Permanent
  • Full-time
  • 14 days ago
Responsibilities:Develop, test and maintain intuitive, interactive, and modern Python-based evaluation or demonstration user interfaces (50%)Develop, test and maintain automated validation benches of embedded software developments (30%)Contribute to the continuous improvement of the development process, tools, and methodologies (10%)Generate technical documentation, presentations, and training materials to facilitate LoRa technology adoption and design-in (10%)Minimum Qualifications:Bachelor’s degree in computer science, Software Engineering, or a related field5+ years of professional Python development experienceExpert-level knowledge of Python 3.x with deep understanding of object-oriented programming, design patterns, data structures, algorithms, and advanced Python concepts.Extensive experience with multiple Python GUI frameworks including PyQt, and PySide.Proven knowledge of user interface (UI) and user experience (UX) design principles and a willingness to learn more about creating intuitive and visually appealing user interfacesProficient in tools such as Git, JIRA, Jenkins etc. Familiarity with CI/CD process, and with software packaging and distribution.Excellent communication and teamwork skills.Knowledge in web development and/or machine learning concepts is a plus.Desired QualificationsPython ExpertiseDemonstrated ability to write clean, maintainable, and scalable Python code following PEP 8 standards and best practicesExperience in design and implementation of modular, extensible Python applications using architectural patterns, plugin architectures, configuration management, and in creating reusable Python packagesProficiency with IDEs (PyCharm, VS Code), debugging tools, and code analysis tools (pylint, flake8, black).Experience with documentation generation (Sphinx), logging frameworks, and configuration management librariesGUI DevelopmentProficiency in creating responsive, multi-threaded GUI applications with complex layouts, custom widgets, signal/slot mechanisms, and real-time data visualization.Expertise in Python packaging (setuptools, pip, conda), virtual environments, and dependency management.Experience with creating distributable Python applications using tools like PyInstaller, cx_Freeze, or similar.Experience with GUI testing frameworks and automated UI testing methodologiesKnowledge of Python package deployment strategies for customer environmentsTesting and Quality AssuranceComprehensive experience with Python testing frameworks including pytest, unittest, and mockPractice in test-driven development (TDD), continuous integration, and automated testing pipelines.

Semtech