Principal Software Engineer at Emproto Technologies Private Limited · Bengaluru (Bangalore) · 8 - 12 years · ₹15L - ₹25L / yr · Profitable · Posted 12 Sep 2019

- Proven record of designing and delivering complex networking products from inception to production delivery.
- Previous experience developing quality software for commercial products.
- Experience with communication systems involving wireless, radio, security and mesh networking technologies is a plus.
- Ability to work in a small team on fast paced projects that have tight deadlines
- Experience using Agile/Scrum methodologies.
- Seeking 10+ years software development experience
- Experience with Embedded real-time systems
- Must be an excellent SW developer. We expect experience developing software C/C++ in Linux. Python and other scripting languages is a plus.
- Target hardware includes Embedded CPU, DSP, and ARM environments
- Experience with Linux development infrastructure, tool chain and build environment.
- Experience developing both Linux device drivers and application software; installing Linux software and configuring embedded Linux systems
- Experience with OSI networking protocols and applications
- Experience and knowledge of Board Support package (BSP) development including board bring up, tool chain creation, and firmware/diagnostics support
- Experience with system development tools, including Source-Level Debuggers, Logic Analyzers, Oscilloscopes, Code Analysis tools, etc.

About Emproto Technologies Private Limited
About
Emproto is a young organization started by Tech enthusiasts who have worked as Product Managers and architects for organizations like Flipkart, Axis Bank, Synchronoss Technologies. Emproto is a Full stack mobile and web app development partner for organizations like Innoviti, Talisma, Savaari.com among others. It is a rapidly growing organization with about 60 problem solvers working on cutting edge technology stack.
https://emproto.com/our-work.php
Company video


Connect with the team
Similar jobs (10)
As a C++ developer working in front office electronic trading, your role involves developing and maintaining software solutions for trading systems used in financial markets. Here are some key aspects of your responsibilities:
C++ Programming: Mastery of the C++ programming language is essential, as most trading systems are built using C++ due to its performance and efficiency.
Electronic Trading Systems: You'll work with electronic trading systems that execute trades automatically based on predefined algorithms or user instructions. Understanding order execution, order management, and market data processing is crucial.
Multithreading: Multithreading is vital in electronic trading systems to handle concurrent tasks efficiently. You'll need to design, implement, and debug multithreaded applications to ensure optimal performance and reliability.
Low-Latency Systems: Electronic trading often requires low-latency systems to execute trades swiftly. You'll optimize code and algorithms to minimize latency and ensure timely order execution.
Algorithmic Trading: Knowledge of algorithmic trading strategies and implementing them in software is advantageous. This includes understanding mathematical models, statistical analysis, and risk management.
Networking: Understanding network protocols and communication is necessary for connecting trading systems to exchanges, brokers, and other financial institutions. This involves working with TCP/IP, UDP, and messaging protocols like FIX (Financial Information Exchange).
Risk Management: You'll implement risk controls and safeguards in trading systems to prevent erroneous trades or mitigate risks associated with market volatility.
Testing and Debugging: Thorough testing and debugging are crucial to ensure the reliability and stability of trading systems. You'll write automated tests, perform manual testing, and debug issues to maintain system integrity.
Performance Optimization: Continuously optimizing the performance of trading systems is essential to handle increasing trading volumes and maintain competitiveness. This involves profiling code, identifying bottlenecks, and applying optimizations.
Regulatory Compliance: Adhering to regulatory requirements and standards in the financial industry is critical. You'll ensure that trading systems comply with regulations such as MiFID II, Dodd-Frank, and others applicable to electronic trading.
Collaboration: Working closely with traders, quants, risk managers, and other stakeholders to understand requirements and implement solutions that meet business needs.
Documentation: Maintaining clear and comprehensive documentation for code, algorithms, and system architecture is important for knowledge sharing and compliance purposes.
Overall, being a C++ developer in front office electronic trading requires a strong technical foundation, attention to detail, and the ability to work effectively in a fast-paced and demanding environment.
Senior Software Engineer (Backend) – Credit Cards Platform
Experience required - 5+ years
Job Location - Hyderabad & Ahmedabad
What you'll do:
· Perform complex application programming activities with an emphasis on mobile development: Node.js, TypeScript, JavaScript, RESTful APIs and related backend frameworks
· Assist in the definition of system architecture and detailed solution design that are scalable and extensible
· Collaborate with Product Owners, Designers, and other engineers on different permutations to find the best solution possible
· Own the quality of code and do your own testing. Write unit test and improve test coverage.
· Deliver amazing solutions to production that knock everyone’s socks off
· Mentor junior developers on the team
What we’re looking for:
· Amazing technical instincts. You know how to evaluate and choose the right technology and approach for the job. You have stories you could share about what problem you thought you were solving at first, but through testing and iteration, came to solve a much bigger and better problem that resulted in positive outcomes all-around.
· A love for learning. Technology is continually evolving around us, and you want to keep up to date to ensure we are using the right tech at the right time.
· A love for working in ambiguity—and making sense of it. You can take in a lot of disparate information and find common themes, recommend clear paths forward and iterate along the way. You don’t form an opinion and sell it as if it’s gospel; this is all about being flexible, agile, dependable, and responsive in the face of many moving parts.
· Flexible and willing to accept change in priorities, as necessary
· Demonstrable passion for technology (e.g., personal projects, open-source involvement)
· Enthusiastic embrace of DevOps culture and collaborative software engineering
· Ability and desire to work in a dynamic, fast paced, and agile team environment
· Enthusiasm for cloud computing platforms such as AWS or Azure
· Excellent written and verbal communications skills
Preferred Qualifications:
· Experience with Apache Cordova framework
· Demonstrable knowledge of native coding background in iOS, Android
· Experience developing and deploying applications within Kubernetes based containers
· Experience in Agile and SCRUM development techniques
Role: Teamcenter Lead Developer
Experience: 6+yrs
Location: Bangalore/Hyderabad/Pune/Chennai
Notice Period: Immediate and 15 days only or max Upto 30 days
Key Responsibilities
- Core PLM Support & Expertise
- Manage and support key Teamcenter functionalities including:
- Parts & Components Management
- CAD Data Management & Integration
- BOM Management
- Change Management
- Supplier Collaboration
- Enterprise Data Integration
- Configuration & Customization
- Configure and customize Teamcenter modules to meet evolving business requirements
- Ensure alignment with PLM industry best practices and internal process standards
- Troubleshooting & End-User Support
- Investigate, diagnose, and resolve Teamcenter-related issues
- Deliver Tier 2/3 application support and guidance to end-users and business stakeholders
- Maintain system uptime and performance, ensuring minimal business disruption
- Code Implementation
- Develop and maintain clean, efficient code using Teamcenter-specific technologies such as:
- Java, C++, ITK (Integration Toolkit), SOA frameworks
- Support enhancements and new functionality development
- System Integration
- Collaborate with IT and engineering teams to integrate Teamcenter with ERP, CAD, and other enterprise platforms
- Enable seamless data flow and automation across interconnected systems
- Solution Development
- Design and deliver custom solutions within the Teamcenter platform, including:
- Workflows, UI modifications, reports, and extension modules
- Support ongoing innovation and platform optimization
Qualifications
- Bachelor’s degree in computer science, Engineering, or related technical field preferred
- 6+ years of experience supporting and developing within the Teamcenter PLM ecosystem
- Strong hands-on experience with Java, C++, ITK, and SOA for Teamcenter development
- Solid understanding of PLM best practices and enterprise system integration
- Proven problem-solving skills and the ability to manage technical escalations
Nice to Have
- Experience working in a global engineering or manufacturing environment
- Familiarity with Agile methodologies and DevOps principles
- Knowledge of enterprise systems like SAP, Oracle, or other major ERP platforms
Responsibilities :
- Develop server side applications in C++
- Contribute in analysis based on requirements. Analysis can be in the form of research and producing Proof of Concepts.
- Produce documents and specifications wherever required.
- Work collaboratively with other developers and QA engineers to deliver the solutions.
Responsibilities:
Collaborate with product managers and other stakeholders to understand business requirements and translate them into technical specifications.
Design, develop, and maintain high-quality software solutions, ensuring scalability, performance, and security.
Write clean and efficient code using best practices, and conduct code reviews to ensure code quality and adherence to coding standards.
Participate in architectural discussions and propose technical solutions that align with business objectives.
Collaborate with cross-functional teams to integrate software components and troubleshoot issues.
Conduct comprehensive testing of software applications, including unit testing, integration testing, and automated testing.
Identify and resolve technical issues, bugs, and performance bottlenecks.
Stay updated with the latest industry trends, technologies, and best practices, and share knowledge with the team.
Mentor and guide junior engineers, fostering a culture of continuous learning and growth.
Requirements:
Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
Minimum of 4 years of proven experience as a software engineer, with a focus on backend development.
Strong proficiency in programming languages such as Java, Python, or C++.
Extensive experience with web application development frameworks such as Spring, Django, or Flask.
Solid understanding of database systems (SQL and NoSQL) and proficiency in writing complex queries.
Experience with cloud platforms such as AWS, Azure, or Google Cloud.
Strong knowledge of software engineering principles, design patterns, and best practices.
Familiarity with Agile methodologies and experience working in an Agile/Scrum environment.
Excellent problem-solving skills and ability to work effectively in a fast-paced, collaborative environment.
Strong communication and interpersonal skills, with the ability to effectively communicate complex technical concepts.
Benefits:
Competitive salary and comprehensive benefits package.
Opportunities for professional growth and career advancement.
Collaborative and inclusive work environment.
Cutting-edge technology stack and access to the latest tools and resources.
Chance to work on impactful projects and shape the future of the lending industry.
upcred.ai is an equal-opportunity employer. We value diversity and encourage individuals from all backgrounds to apply.

Basic Qualifications
Candidates for this role must have:
- Bachelor’s degree in computer science or a related field
- At least three years of experience writing production code of increasing complexity
- Strong understanding of computer science fundamentals, including algorithms, complexity analysis, data structures, problem solving, and object-oriented analysis and design
- Proficiency in at least one of the following: Java, C, C++, C#, Ruby, Scala, Python
- Experience refactoring code and evolving architectures
- Experience crafting unit, integration, functional and regression tests
Preferred Qualifications
- Master’s degree in computer science or a related field
- Experience developing in a Linux environment
- Experience applying service-oriented architecture techniques to production use cases
- Experience in developing secure, multi-platform mobile applications
• Excellent programming skills in C, C++11
• Strong working experience in developing application on Linux.
• Experience of working with multithreading, IPC mechanism, queuing is must.
• Effective requirement analysis and effort estimation skills.
• In-depth knowledge of Object-Oriented Programming.
• In-depth understanding of docker-containers
• Understanding of container orchestration tools (e.g. Kubernetes, docker swarm)
• Experience using MQTT, SSL, boost, etc.
• Preliminary Python hands-on experience
• Unit Testing and Test-Driven Development
• Experience of working with Interfacing or implementing any protocol (BACnet, Modbus, etc.) will be an
added advantage
• Knowledge of developing applications for data collection, real time monitoring systems will be an added
advantage
• Experienced with all phases of project in development, testing and deployment and management of
enterprise solutions.
• Aware of Agile Methodologies, SCRUM, CI/CD methods
• Coordinate application implementations and follow-up on client problems









