Principal Engineer at Mocana
San Francisco, CA, US



Plan and direct architectural/engineering projects and work closely with Quality Assurance to coordinate and manage the delivery of high quality, enterprise grade software. Direct and lead the technical team to coordinate technical project activities associated with the completion of software life cycle: from concept through structure, partitioning, development tracking, integration, release, and post-release issue tracking. Direct research and development of Mocana's technology for the Internet of Things (IoT) devices and services; quantify the benefits of Mocana's technology. Design security protocol stacks and develop code in C based on industry standard RFCs and functional specification documents for network security protocols. Analyze open-source and third-party security protocol stacks from both the protocol engine and cryptography engine capabilities. Test interoperability of the security protocol stack with open-source and third-party protocol stacks. Participate in ongoing product sustenance and code reviews. Modify existing software to resolve defects, port it to other target operating environments (OS, processor, secure element) based on customer requirements, and improve real time performance. Lead the technical team through the complete software life cycle. Confer with other engineers, analysts, programmers, etc. to design the solution and to obtain information on project limitations and capabilities, performance benchmarks requirements and high-level application interfaces. Analyze customer needs and software requirements to determine feasibility of design within time and cost constraints for the project. Consult with customers about software system design and maintenance. Supervise the work of peers, programmers, technologists and technicians and other engineering and scientific personnel. Obtain and evaluate information on factors such as event and log reporting formats required, costs, and security needs to determine hardware configuration.



Masters Degree (US or FDE) in Computer Science, Computer Engineering, Electrical Engineering or related field plus 6 months of experience in the job offered or a related position involving implementation of Transport Protocols (IPsec) and authentication Protocols (IKE, EAP, WPA2); Device Discovery with Beacons/Heartbeats for machine to machine communications; Network protocols (DNS, ICMP; Data plane acceleration; Develop services on multi-threaded multi-core systems; Advanced programing in C, Java and Python; Integrated Development Environment (IDE); Linux and Android platforms; Version Control Systems (Git, SVN); and Developer Tools (VIM, Eclipse/IDE, JIRA, GDB, Codenomicon, IXIA Developer, Wireshark, Klocwork, Valgrind).