- Working Experience in
· C and/or C++ programming
o Should have Project working experience in C or C++
o Should have done feature enhancement and/or Bug fixing using C/C++.
· System Programming knowledge in
o Muti-threaded programming, Process contexts/forks/execs and system calls
o IPCs (like Socket programming, Message Queues, semaphores)
o Linux Operating system
o File access calls, like file descriptor handled operations.
· Enterprise Security domain and SaaS
o IPSec, SSL VPN tunnelling
About EnterpriseMinds
Enterprise Minds, with core focus on engineering products, automation and intelligence, partners customers on the trajectory towards increasing outcomes, relevance and growth.
Harnessing the power of Data and the forces that define AI, Machine Learning and Data Science, we believe in institutionalising go-to-market models and not just explore possibilities.
We believe in a customer-centric ethic without and people-centric paradigm within. With a strong sense of community, ownership and collaboration our people work in a spirit of co-creation, co-innovation and co-development to engineer next-generation software products with the help of accelerators.
Through Communities we connect and attract talent that shares skills and expertise. Through Innovation Labs and global design studios we deliver creative solutions.
We create vertical isolated pods which has narrow but deep focus. We also create horizontal pods to collaborate and deliver sustainable outcomes.
We follow Agile methodologies to fail fast and deliver scalable and modular solutions. We constantly self-asses and realign to work with each customer in the most impactful manner.
Similar jobs
About Monarch:
At Monarch, we’re leading the digital transformation of farming. Monarch Tractor augments both muscle and mind with fully loaded hardware, software, and service machinery that will spur future generations of farming technologies.
With our farmer-first mentality, we are building a smart tractor that will enhance (not replace) the existing farm ecosystem, alleviate labor availability, and cost issues, and provide an avenue for competitive organic and beyond farming by providing mechanical solutions to replace harmful chemical solutions. Despite all the cutting-edge technology we will incorporate, our tractor will still plow, till, and haul better than any other tractor in its class. We have all the necessary ingredients to develop, build and scale the Monarch Tractor and digitally transform farming around the world.
Description:
We are looking for engineers to work on applied research problems related to control in autonomous driving of electric tractors. The team works on path planning and control to deploy on resource constrained hardware.
Technical Skills:
- Necessary Skills: C++, Eigen, Boost, ROS.
- Solid theoretical knowledge in Linear Algebra and Differential Equations, Control systems, Model Predictive Control, Robotics.
- Knowledge of some numerical algorithms or libraries among: IPOPT (cppAD), HPIPM would be a plus.
- Experienced candidates in ROS & C++ projects with no prior control experience willing to apply their knowledge to vision problems are also encouraged to apply.
- Experience in simulation frameworks such as Gazebo would be a plus.
Responsibilities:
- Ability to formulate math for a given problem statement/approach and prototype in C++.
- Work in conjunction with other sub-systems for integration.
- Testing/tuning the controller in simulation and on real-world hardware.
- Communicate and collaborate with team members in India and abroad for the fulfillment of your duties and organizational objectives.
- Thrive in a fast-paced environment and can complete the assigned sub-task.
What you will get:
At Monarch Tractor, you’ll play a key role on a capable, dedicated, high-performing team. Our compensation package includes a competitive salary, excellent health, benefits commensurate with the role you’ll play in our success.
Talented C++ Developer who has experience in design, development, debugging of multi-threaded large scale application with good understanding in data structures on Linux packaging, functional testing and deployment automation very good with problem solving.
Key responsibilities :
- Understand fundamental design principles and best practices for developing backend servers and web applications
- Gather requirements, scope functionality, estimate and translate those requirements into solutions
- Implement and integrate software features as per requirements
- Deliver across the entire app life cycle
- Work in a product creation project and/or technology project with implementation or integration responsibilities
- Improve an existing code base, if required, and ability to read source code to understand data flow and origin
- Design effective data storage for the task at hand and know how to optimize query performance along the way
- Follow an agile methodology of development and delivery
- Strictly adhere to coding standards and internal practices; must be able to conduct review code
- Mentor and possibly lead junior developers
- Contribute towards innovation
- Performance optimization of apps
- Explain technologies and solutions to technical and non-technical stakeholders
- Diagnose bugs and other issues in products
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Must have / Good to have:
- 5-7years' experience with C++ development and relevant 3+yrs in modern version 11/14/17 would be a plus.
- Design and implementation of high-availability, and performance applications on Linux environment
- Advanced knowledge of C/C++, Object Oriented Design, STL
- Good with multithreading and data structures
- Develop back-end components to improve responsiveness and overall performance
- Familiarity with database design, integration with applications and python packaging.
- Familiarity with front-end technologies (like JavaScript and HTML5), REST API, security considerations
- Familiarity with functional testing and deployment automation frameworks
- Experience in development for 3-4 production ready application using C++ as programming language
- Experience in writing unit test cases including positive and negative test cases
- Experience of CI/CD pipeline code deployment (Git, SVN, Jenkins or Teamcity)
- Experience with Agile and DevOps methodology
- Very good problem-solving skills
- Experience with Web technologies is a plus.
Read less
We are searching for a talented embedded developer to join our team. You will be working along-side with other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
The candidate should be proficient in C and C++ and possess detailed knowledge of microcontroller protocols. The candidate would be responsible for,
-
Design and implement software of embedded devices and systems from requirements to production and commercial deployment.
-
Design, develop, code, test and debug system software
-
Review code and design
-
Analyze and enhance efficiency, stability and scalability of system resources
-
Integrate and validate new product designs
-
Support software QA and optimize I/O performance
Mandatory Skills:
-
Experience in C++ based applications development for embedded system applications
-
Solid understanding of OOPs, SOLID Principles, Design Patterns.
-
Drivers/BSP development on peripherals like ADC, SPI, I2C, UART etc
-
Firmware development experience on ARM Series of microcontrollers
-
Strong knowledge of hardware architecture such as ARM, MIPS, and x86.
-
Familiarity with hardware protocols including USB, UART, I2C, and SPI.
-
Familiarity with OS platforms such as Linux, Unix, and RTOS.
-
Knowledge on different communication protocol like Wi-Fi, Zigbee, Bluetooth and sub–GHz.
-
Basic Hardware knowledge and debugging skills
-
Strong analytical and problem-solving abilities.
-
Strong organizational and project management skills.
-
Strong knowledge of SDLC, test cycle and logical thinking on various complex use case call scenarios.
-
The ability to keep abreast with the latest advancements in technology and techniques.
Desired Skills:
-
Knowledge on IoT based systems
-
Preferably worked on a Linux based project.
-
Ability to lead the team & handle the project and own all technical aspects of design and development of systems from scratch.
-
Meticulous and very organized.
-
You will not hesitate to ask questions and call upon the knowledge of your coworkers to make sure you produce the best possible documentation for our customers.
-
Worked on 3-5 project from starting of project to delivery of project (Depending on experience)
Job Description
-
Able to design and architect product solutions.
- Sound knowledge in OOPS concepts and OOAD
-
Knowledge on C++ 11/14, STL and BOOST libraries usage is added advantage
-
Implementation of automated testing & unit test framework
-
Know how on profiling tools & debugger
-
Developed software with interfaces to low level system and hardware resources
-
Excellent communication skills, written and verbal
-
Team player & high review aspects with CPP Core guidelines
-
Requirements Engineering and Bug Tracking tools
-
Thorough knowledge in Build and Release. Good exposure on GIT, Gerrit, SVN and Jenkins
-
Should be a quick learner and can take on things independently
-
Autosar / Automotive Domain knowledge would be a plus
Qualifications
BE/ BTech. in CS/IT/ENC/EEE
Additional Information
Having 4 to 8 years of experience
-
Perform analysis, design and implementation of assigned projects using sound engineering principles and adhering to business standards, practices, processes, and product / program requirements
-
Engage with global teams to effectively translate customer requirements to software requirements and identify potential solutions that are optimized to operate with in constraints of the product
-
Troubleshoot variety of complex software problems
-
Provide timely status updates and proactive communications on issues to the stakeholders.
-
Able to interface with internal and external stake holders regarding software issues.
-
Contribute as part of teams put together to meet overall organization initiatives/objectives
-
As a technical lead,
-
Guide team efforts towards successful deliverables.
-
Provide technical leadership to teammates through coaching and mentorship.
-
Able to effectively manage escalations and operate under crisis
-
Have the ability and willingness to acquire in-depth understanding of domain and existing products (beyond software) and apply that knowledge to develop new products and to deliver enhancements/ fixes for customer requirements.
-
Background in Industrial Automation
-
Prior experience in supervisory control systems software
-
Bachelor of Engineering degree in Computer Science/Information Science/Electronics/Electrical/Instrumentation with strong back ground in Industrial automation software
-
Strong C, C+ programming on variety of Windows platforms using Microsoft technologies
-
Sound knowledge of Computer Science fundamentals data structures, algorithms, operating system concepts
-
Excellent analytical skills, methodical problem-solving skills and troubleshooting skills
-
Prior experience of working in global teams and interfacing with multiple stake holders
-
Excellent communication skills (verbal and written) and the ability to interact with extended teams spread across the globe.
Software development for video streaming solutions. The position is for a developer role who will translate functionality building blocks and components into to software code, integrate the functional components in the architectural framework. The position will be responsible for complete software development including requirements analysis, design, implementation, unit test, integration. Expert in C++, C#, Network protocols like TCP/UDP, design patterns and principles. Hands on with network protocols in C#. Understand cloud technology.
Strong debugging skills. Video streaming hands is preferred. Video Management solutions (VMS) hands on is big plus. It requires closely working with SMEs/ domain experts. Responsible for algorithm development, programming, unit testing, implementation, documentation, maintenance and support of systems software’s in adherence with Industry standards, processes and best practices. Develop high quality, secure, scalable software solutions based on technical requirements specifications and design artifacts within expected time and budget. Assist team members in the development of applications, components, system to system interfaces and complete software solutions. Collaborate with cross-functional teams to determine functional and non-functional requirements for new software or applications Collaborate with SMEs, domain experts, quality assurance and end users to produce cutting-edge robust software solutions Develop product specifications with attention to safety criticality, robustness & reliability, extendibility & flexibility Evaluate existing software solutions to identify areas for improvement, modularization Design and documentation of evolving architecture in terms of UML diagrams, architectural diagrams, state-machines, flow-charts etc. Code implementation, debugging and unit testing
Work with project team to meet scheduled due dates, while maintaining the software quality. Assistance in testing activities as per standard V&V practices and Quality Assurance Maintain thorough documentation of software artefacts as per software development guidelines for moderately-complex projects. Actively look for opportunities to enhance standards and improve process efficiency.
Skills
- Minimum 5+ years of proven experience as software engineer.
- Strong in Network protocols, OOPS concepts and data structures.
- Familiarity with application software development as well as embedded software development
- Experience in software development and coding in various languages (C, C++, C#)
- Excellent knowledge of software and application design, architectural styles and design patterns, architecture tradeoff analysis
- Proficient understanding of any one of code versioning tools (Git, SVN, and Mercurial)
- Familiarity with formal change control and support processes (JIRA, BitBucket, Scrum etc.)
- Understanding of V&V approaches and software quality assurance principles
- Experience with service-oriented architecture (SOA), and cloud technologies would be an added advantage
- A technical mindset with great attention to details, innovation
- Good analytical, communication and presentation skills
Key Shared Accountabilities
Customers: Competence to build and effectively manage interpersonal relationships at all levels with different clients and vendors.
Business Team: Work Closely with business team to understand the needs and deliver by maintaining harmonious relationship.
Desired Behavioural Values
- Commitment to common purpose and goals
- Seating respect on the table
- Displaying Integrity and Ethic
- Taking initiative and ownership
- Being passionate about making a difference
- Constant networking with thought leaders, analyst & special interest groups.
- Collaborate with SMEs, domain experts and quality assurance to produce cutting-edge robust software solutions.
- Dreamer, Creative, Passionate & self-motivated & self-starter
- Actively listen to others and demonstrate understanding of other points of view.
- Showcase likeliness to adjust to changing conditions or priorities.
- Take the initiative to identify, work on problems proactively and lead by example.
- Consistently provide ideas, opinions, or information in a professional way.
- Understand IP & trademark policies and actively promote safe practices in projects.
- Work directly with the other Software/Firmware Engineers and Electrical/RF/Systems Test Engineers to write needed software
- Design and implement software platform for firmware on embedded CPUs with multiple OS such as Windows, Linux, FreeRTOS, TI-RTOS and embedded Linux
- Use compliers, debuggers revision control and automated build systems.
- Design/develop components of software platform for use by other developers to extend its capabilities and build custom applications/behavior on top
- Develop build methodologies, debugging tools/utilities
- Develop and release Software using Agile methodology
- Write unit tests and support continuous integration and automated test methodology
- Brainstorm for new ideas and ways to improvement product and processes
- Consult with peers for feedback during debug/testing stages
- Document and maintain design processes
- Develop embedded Linux Applications
- Work with a worldwide team to integrate the product to meet the requirement
Required Qualifications:
- Degree in Computer Science from a top-tier institution
- Relevant full-time work experience of 4+years
- Strong foundation in computer science, Object-Oriented software, unit testing & test automation with scripts
- Ability to self-teach.
Mandatory Technical Skills:
- Expert level programming in C/C++
- Linux systems programming, data structures & algorithms
- Networked applications
Desirable Technical Skills:
- Linux Board Bring up, device drivers would be an advantage
MINIMUM QUALIFICATIONS, Roles and responsibilties:
- BS/MS in Computer Engineering or related technology field
- 10+ Years of Experience in Software Development
- Experience in writing code for embedded systems, Proficient in C/C++ coding and intel DPDK
- Understanding of network interface drivers
- Experience with VMware, AWS, MSAzure, Google Cloud Platform.
- Knowledge of micro services and containerization
- Experience in building Networking Security Products
- Knowledge of Networking, TCP/IP Protocol Suite
- Design, code embedded features/solutions for the ShieldX Product
- Design write, extend and troubleshoot datapath code for switching, routing, NAT, TCP and TLS
- Work closely with other development , Product and Test Teams
- BS/MS in Computer Engineering or related technology field
- Excellent communication and Team player skills
- Should be a self-starter and be able to adopt to dynamic fast-paced environment.
- Able to work 40 hours a week