RARARR Technologies
Senior Software Engineer
Bangalore ₹5-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++