Software Developer - LabVIEW

 (2+ years exp)
₹7.5L – ₹15L • No equity
Published: 1 month ago
Avatar for CynLr

CynLr

Robots with Visual Object Intelligence

Job Location

Job Type

Full Time

Visa Sponsorship

Available

Relocation

Allowed

Skills

Programming
LabView
Dataflow Programming
NI LabVIEW
Certified LabVIEW Developer (CLD)

The Role

About the Role:

Click here For a Visually Rich Job Description:

Apply here @ https://talent.cynlr.com/jobs/software-developer-labview-rxV

Product Design begins as a hypothetical concept. Transforming that Concept into a functional Product is a highly creative and experimental process with nuanced understanding (expertise) of fundamentals & principles. Often, experiments give unknown outcomes and our concept changes as wildly as the output of the experiment. Coding is the centre piece in this immense amount of “experimental / Algorithm research”. When experiments change, code changes and the design team “distracted” by the burden of ‘bugs’ that come out of code modification and caught in the tool/language ‘Expertise’ needed to fix it. We need to be “enabled” to react and modify the code with least effort, so that the design team can focus on the evolution of concept by rapidly changing and performing the experiments without losing the thought chain –*** Minimize Context Switching for the Algo/Design team.***

Except, we are a heavy HW product company and every code developed is highly HW oriented code. And what other programming language is better to do this than in LabVIEW? Our experiment is as flexible as the code allows us to be. As explorative as the scalability of the code is. And such code cannot be built without adhering to a thorough architecture, a completely dynamic and application agnostic design pattern with thorough Coding Practice and strong expertise of the tool – in this case LabVIEW.
You will be part of a 2 member LabVIEW development team, supported by the Founder on the architecture front and will work closely with the Design\Algo & C++ Development team. They are your internal customers.

Your primary contribution will be towards:

Skillset Map:

  1. Supporting CynLr’s Product Design and Algorithm Team in all LabVIEW Code development activities –Develop code and execute Experiments for algorithms, kinematics, and solutions that the design team comes up with. a. Translating the concepts that Design and algo teams comes up with into LabVIEW codes and experiments, adhering to the architecture and SW development life cycle. b. Performance coding and performance optimization of the code written – timing and memory. c. Build data visualizations to the needs of the Design and algo team d. Make more readily usable application UI for Lab Experiments to accelerate the Algo and design teams experiments.
  2. Code Refactoring: Owing to the rich experience in Architecting LabVIEW Development that the founders carry from their NI work experience, there is a strong Architecture, Design Pattern and coding guidelines put -in place. Understand the design pattern – STQ, Document, and translate the existing ‘spaghetti’ code bases and the new mock-up code of Design and Algo team to the coding standards with design pattern established by the founding team.
  3. Translate the development practices into the SW development lifecycle by proper Source Control, version control and Integration of the .dll Libraries developed by the C++ SW development team as the versions evolve, without breaking the existing code base.
  4. V&V: Coming up with test cases for the experiments and the code developed by the C++ Development team and interface the libraries and test for functionality and performance of the Algorithms developed. Executing the tests and validating the algorithms with HW-in-loop.
  5. Interface with the customer and support customer with application implementation and delivery.
  6. Be the LabVIEW knowledge base and support system for the Algorithm/Design engineers and freshers who join the organization.

Minimum Qualification: CLD

Job Requirements

Programming Fundamentals:

  • Excellent understanding of Data Flow paradigm and understand parallel programming.
  • Experienced with dynamic spawning of threads, services and thread management.
  • Excellent understanding of “Re-entrancy” (this beckons basic understanding of Compiler working).
  • Experienced with handling Race conditions, reference leaks, memory leaks and memory profiling.
  • Excellent hands-on experience with debugging, Error Handling and profiling. (If you are experienced, its obvious that we never get the solution in the first short. We arrive at the solution by correcting the mistakes from our first attempt. If we are not equipped well with debugging, we cannot ‘know’ what to correct!!)
  • Fundamentals of Testing, types of testing and Test Development. Testand Experience is a plus.

SW Design & Development:

  • Must have excellent understanding and strong tendency to develop - Modular, Scalable and Maintainable code. We are ‘fixated’ with “Functional” output the code that we develop that, we forget about the “user” of the code – Code may work functionally but

    o how easy is the code to integrate with other code?
    o How easy is to test it?
    o How easy is to develop further?
    o How easy is to update or modify the code?
    o How minimal a number of bugs happen or modifications I have to do to use this code with other code?

    Also, the Code often uses another code/library to build – e.g.: VISA, Vision Development Module, Mathscript module, etc. Unfortunately, contrary to our wish and belief that you have built bug-proof perfectly working code, the actual bugs will come out only when someone else uses them!! - This is SW Development lifecycle.

  • Must have had experience with being a part of SW Development lifecycle and Distributed Development – Source Control, Version Control, GIT and source distribution.

  • Excellent with State Machine and must have at least been exposed to other design patterns and must have implemented at least a few times.

  • Must have a strong understanding of OOPs and API architecture. Experience in developing an API library is a plus.

  • Excellent with understanding the SW architecture and Design pattern established and building code adhering to them.

UI/UX fundamentals:

  • Excellent proficiency with Graphing and Data Visualization and building custom Controls and UI elements. Xcontrols is a plus.
  • Excellent with Subpanels, Resolution Reflow and Splitter management.

LabVIEW IDE:

  • Must have strong understanding of VI server (Methods and Attributes of LV Environment). VI scripting is a plus.
  • Excellent with LabVIEW project settings, Environment settings – FP customization, function palette, dependency settings, all Debugging options, VI properties and LV productivity features.
  • Adept with LVpointers/DVR, Queues and VI/ Application references.
  • Experienced with making Project templates and distributing Project templates.
  • Experienced with Quick drop app creation.
  • Code cleanup: Clean, well document code development practice.
  • Hands -on experience with Application builder :

    o Compilation settings
    o Folder settings for compiled output
    o .exe creation
    o Installer creation
    o Lvlibp, LvLib, dll & llb creation
    o Code distribution

Connectivity, Interface & HW Control:

  • .dll library interface and C++ library/header interface. Experience with registry coding is a plus.
  • Strong work experience with File handling – create, open, write, read & close sequences. Understanding of different file types & parsing data -

    o config files -.ini, .json, etc;
    o Data file formats: .xlsx, .csv, TDMS, etc;
    o Images files - .png, bmp, etc ;
    o Report generation and Report generation Toolkit.

  • Strong work experience with implementing communication protocols – Ethernet (UDP, TCP), RS232/485, Industrial communication protocols like Modbus, CAN, etc.

  • Good with Sensors, IO programming, PLC Automation, Cabling. Robot Ecosystem is a plus.

  • Basic Programming skill with at least one Language - Python / C++.

Behavioural Tendency:
Critical Thinking, Available, Responsible, Versatile, Resourceful, Thorough, Attention to Details & “Humble”.

Evaluation Criteria:

a. Critical Thinking: Access to Information is not any more a challenge. Knowing which amongst the ocean of information is relevant to the problem at hand is the biggest challenge that we face. Its only made harder, as we are constantly immersed in opinions and biases of brands masquerading as facts, often assuming the “trust” of authority that the brand holds on a subject. Yet we can’t ignore them either. That can be tag names like Google, Research of MIT, that Journal and this Scientist, etc. and the worst of all - ourselves. We tend to put too much of “trust” on our own first thoughts and perceptions. Problems don’t come announcing and we realize a problem only through our first perception and we build from there, which is often a bundle of assumptions. Yet we are more likely to be sure of what we “feel” and mistake them as our thoughts. So much so that, we use logic to justify our perceptions rather than to validate our perceptions.
Critical Thinking is the fundamental thought culture that we seek in every role that we play at CynLr. To know our assumptions is Critical Thinking.

b. System Thinking: Something is identified as a problem if an outcome of an action isn’t as desired. But any outcome is a result of some system, except that system is not always clearly identifiable from its environment. Moreover, a system need not be a single identifiable physical entity but could simply be an overlap between several entities delivering a certain kind of output across time. Therefore, identifying the right system that corresponds to the problem, is the first step and demands the strongest domain understanding. Ability to patiently study and carve the System Of Interest out of the problem and translate the requirement by thoroughly breaking down the problem into parts/processes, understanding the lapses or clarity in the requirements along with ambiguities, elaborating and thinking on the corner cases and making a methodical coverage of all requirements will be evaluated. Key ability is to successfully grasp the system models and translate them into appropriate design.

c. Design Thinking: (Since this is hard to objectively evaluate it will be a relative evaluation both with the other submissions and with the self across consecutive submissions) Purpose of every design is to minimize human effort towards solving a problem. Which beckons us to see how all this demand for human effort manifests itself. It begins with human inabilities and limitations - Fatigue, sensory limitations, sensory Deception leading to Confusion (eg: people banging on to a transparent glass door), human misconceptions, misinterpretation, misperceptions, misuse, misapplication – all put in one bracket as Human Error. Adding to it is the innate human desire to minimize effort, which easily distracts them to be bored – lack of foresight, or worse- urge to tinker. All these are a common factor for the person who devices the solution and for the person who uses the solution. A design must factor all the above and must try to minimize and cover as much as possible for various possible scenarios.

How will your Career Progress?

CynLr is at its genesis as a start-up and as an organization. This role being the first to have been opened, it is the foundation of what would eventually be a for all the Code development fundamentals, Applications and Solutions for CynLr’s lab and customers.

The problem that we solve is multi-disciplinary, which interfaces with stakeholders from almost every Engineering Industry and every variety of strata in it. While this can be an immensely challenging scenario demanding constant learning and adaptation, if looked at it as an opportunity, it allows for a deep exposure to a rich variety of management and operational problems and opens door for plenty of alternate career options.

Needless to say, the exciting yet demanding part of a start-up - every passing day, the Company grows and the needs change, expansively.

In this context, beyond Specializing in the current Role as a LabVIEW Architect & LabVIEW development, which will grow as the organization expands, it also serves as a steppingstone into core technology design and development roles like C++ Code development, Gripper Design, Machine Learning Algorithm Design & Dev, Object Training and Task Model Specialist, Kinematics, Robot Design, Sensor Interface, Verification & Validation, etc. From the customer facing side, it can evolve as an alternative to tech into Robot Integration, Application Support, Solution engineering, Business Development, Vendor & Supply chain Management, Sales, etc.

If rightly used, this role presents you an opportunity to Build a unique Role of Your Own.

More about CynLr

Funding

AMOUNT RAISED
$775K
FUNDED OVER
1 round
Round
S
$775,000
Seed Aug 2019
image

Founders

Gokul N A
Founder • 3 years
image
Nikhil Ramaswamy
Founder • 3 years
Bengaluru
image
Go to team image

Similar Jobs

Tonbo Imaging Pvt.Ltd company logo
Tonbo Imaging Pvt.Ltd
Imaging and Sensor Systems for Defence, Homeland Security and Complex Environments
Bert Labs company logo
Bert Labs
Building new technology at the intersection of software and hardware
Ambientellizense Systems company logo
Ambientellizense Systems
Global investor for Ambient Intelligent Systems and IoT
SwitchOn company logo
SwitchOn
SwitchOn helps manufacturing plants eliminate defects on their line! Any Product, Zero Downtime!
Brokerage Free company logo
Brokerage Free
Technology to simplify financial services
Fueladream Online Ventures company logo
Fueladream Online Ventures
Crowdfunding new Innovations and social fundraising
3E Software Solutions company logo
3E Software Solutions
Enabling Global Business On OpenSource