RA

Senior Software Engineer

RARR Technologies
Bangalore5-10 LPA Posted 14 May 2025
FULL TIME
Microservices
React
Pyqt
C++
Python

Job Description

  • MTech/BE/BTech in Engineering, Computer Science, or another technical-related field
  • 5-10 years of experience with software development in one or more programming languages, and with data structures/algorithms
  • Experience in testing, maintaining, or launching software products
  • 4-8 years of experience with software design and architecture
  • Expert proficiency in Pyton and PyQt or similar frameworks for desktop application development
  • Strong understanding of design patterns and principles (SOLID, GoF patterns)
  • Deep knowledge of object-oriented programming and architecture
  • Strong proficiency in Web Technologies React, JavaScript, Node.js, and MongoDB
  • Experience implementing complex UI applications with MVC/MVVM patterns
  • Experience of distributed application development and microservices .

Preferred qualifications:

  • Good command of data structures, problem-solving, and optimized algorithms development
  • Advanced understanding of object-oriented design principles and their practical application
  • Experience in software development with Python and C++
  • Development experience with both Windows and Unix/Linux
  • Strong background in implementing design patterns (Factory, Singleton, Observer, etc.)
  • Experience with state management and reactive programming
  • Ability to document designs (UML a plus)
  • Demonstrated ability to share knowledge via understanding and reviewing code, understanding design documents, providing technical solutions, etc.

Additional Qualifications:

  • Experience with TypeScript and modern JavaScript frameworks
  • Knowledge of containerization technologies like Docker and Kubernetes
  • Experience with GUI testing frameworks and automated UI testing
  • Knowledge of JavaScript/React for potential web integration components
  • Experience using build systems and package deployment for desktop applications
  • Working knowledge of one or more Continuous Integration and Continuous Delivery tools
  • Experience with application performance optimization
  • Knowledge of multi-threading and concurrent programming in desktop applications
  • Experience with data visualization libraries and components
  • Experience with cloud infrastructure

Responsibilities:

  • Design, develop, test, deploy, maintain, and improve desktop applications using PyQt
  • Help in framework evaluation and benchmarking of performance and other quality attributes
  • Lead the architectural design of object-oriented systems with emphasis on reusability and maintainability
  • Implement and enforce design patterns appropriate for complex application requirements
  • Manage individual priorities, deadlines, and deliverables
  • Create modular, well-structured object-oriented code following SOLID principles
  • Design efficient class hierarchies and component relationships
  • Build reusable UI components and frameworks for desktop applications
  • Contribute to engineering efforts from planning and organization to execution and delivery
  • Conduct code reviews with focus on design patterns, object-oriented principles, and best practices
  • Refactor existing code to improve design and apply appropriate patterns
  • Create technical documentation including UML diagrams, design specifications, and API documentation
  • Triage product or system issues and debug/track/resolve by analyzing root causes
  • Mentor team members on object-oriented design and application architecture
  • Ensure code quality through unit testing and test-driven development approaches

Python, C++

Join WhatsApp Channel