Software Engineer
Sunnyvale, CA, United States
Job Title: Software Engineer V
Duration: 12 Months. + potential extension(s) and/or conversion
Location: Sunnyvale, CA ( Hybrid )
Summary:
The main function of a software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the software and systems that make computers work. A typical software engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Job Responsibilities:
• Review and approve the modification of existing databases and database management systems.
• Instruct staff to write and code logical and physical database descriptions and specify identifiers of database to management system.
• Direct database development and approve project scope and limitations.
• Review project requests describing database user needs to estimate time and cost required to accomplish project.
• Plan, coordinate, and implement security measures to safeguard information in computer files against accidental or unauthorized damage, modification or disclosure.
• Approve, schedule, plan and supervise the installation and testing of new products and improvements to computer systems.
• Develop standards and guidelines to guide the use and acquisition of software and to protect vulnerable information.
• Provide Lab support by creating tools to enable functional teams for Data Collection.
• Work with cross-functional teams to enable engineering labs.
Skills:
• Verbal and written communication skills, problem solving skills, customer service and interpersonal skills.
• Expert ability to work independently and manage one's time.
• Expert mentoring skills necessary to provide support and constructive performance feedback.
• Expert knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
• Expert ability to troubleshoot issues and make system changes as needed to resolve issue.
• Expert knowledge of computer hardware and software.
• Knowledge of computer development software as it relates to systems, such as SQL, VisualBasic, etc.
Education/Experience:
• Bachelor's degree in computer science, software engineering or relevant field required.
Main 3 skills:
Strong programming skills in Python, Swift, and Bash
Excellent knowledge and experience with test methodologies (unit testing, integration testing, performance testing, functional testing, etc).
Experience with developing test strategies, including writing test plans, test cases, custom tools, and testing architectures.
Nice to have skills :
In-depth understanding of OS X, Windows and/or Unix
Experience with laser cutting, rapid prototyping tools, SOLIDWORKS & AutoCAD
Document, maintain, and monitor testing progress reports and communicate status to team and management.
Design test beds, identify necessary equipment, build topology maps, and estimate test efforts providing software support from the lab perspective. Making sure our infrastructure it's up to date, getting new devices on-boarded to our lab networks, make sure the new devices are complaint, enable communication from our lab infrastructure racks for data collection with other Meta internal tools via lab net