Embedded Software Engineer/Sr. Software Engineer Location:San Diego, CA
100,000 - 200,000
Job Description:
Role:Embedded Software Engineer/Sr. Software Engineer
Location:San Diego, CA
Essential Functions:
- Perform software design based on input from clinical users, characteristics of the existing software base, consultation with other engineering staff, and system functional requirements
- Perform software implementation, following coding guidelines and taking into account system characteristics to produce optimal performance, reliability, and maintainability
- Conduct software evaluation and testing of own software, software from other engineering staff, and third-party software
- Provide a test plan for use by other engineering staff, quality assurance and support departments in validating a new implementation
- Provide technical documentation for the design, implementation and testing of the software
- Attend design review meetings as needed to adhere to the software development procedures
- Support the software by handling escalated service calls
- Document and repair errors related to software
- Enhance professional growth and development through participation in educational programs, current literature, in-service meetings and workshops
- Assist the engineering staff in clarifying requests for software changes and understand reported problems
- Responds to requests via CliniComp\'s engineering and support ticket systems in a timely manner
- Perform other special projects, duties or changed duties to accommodate customers or to meet schedules as needed or directed
Basic Qualifications:
- Bachelors degree in Science or Engineering. For example: Computer Science, Physics, Electrical Engineering, Cognitive Science or Mathematics. 5 years of relevant work experience will be considered in place of the degree.
- 5 - 7 years of relevant work experience to be considered for Software Engineer, Embedded.
- 8 or more years of relevant work experience to be considered for Sr. Software Engineer, Embedded.
- Ability to obtain ADP-II clearance
- Strong written and verbal communication skills. Can tailor communication for engineers or non-technical staff.
- Passion for software and hardware development
- Efficient worker who leverages the latest technology and tools to improve productivity
- Committed to constant self-improvement, stretches into new areas of technology, constantly learning
- Focused on product quality, user experience and customer service
- Follows software development process, requirements, review, verification and validation.
- Resilient personality, able to thrive in a challenging environment with aggressive goals.
- Resourceful, not afraid to ask questions. Uses books, internet resources, other employees and their professional network to proactively find answers.
- Good work ethic, completes tasks on time, meets commitments, accountable, takes responsibility, shows initiative.
AT TIME OF HIRE:
- C / C++ programming
- Working with Linux in a command line environment using the following utilities: bash, sed, awk, grep, find, vi, diff, strings
- Linux software development tool chain: gcc, make, ld, nm, ldd, ar, gdb
- Reads and correctly interprets specifications
- Can install, configure and maintain at least one major Linux distribution
- Understands TCP/IP network concepts: IP address, netmask, sliding window, UDP, MAC Address, arp, framing
- Computer science concepts: Queuing theory, data structures, processes/threads, inter process communication, file systems, matricies, Big O notation, sorting, searching
- SQL (especially SQLite)
- Android software development including NDK
- Eclipse IDE
- Reads and understands electronics schematics and board layouts
- HTTPD, SSL certificates, certificate databases
- Can install, configure and maintain RedHat Enterprise Linux 7
- Advanced network concepts: IP Helper, tcpdump, wireshark, netcat (nc), iptables, dhcp/bootp, tftp
- Can configure virtual machines including QEMU and VirtualBox
- Word, Visio, Excel, Outlook
- Web technologies including PHP, JSON, XML, Curl