Senior Software Engineer
Petaluma, CA, United States
Summary:
The Senior Software Engineer will be responsible for developing the cloud and edge applications for NSC’s data learning and services platform. This person will also be part of machine learning and data analytics applications across silos of data to build best in class analytics software. This person will architect and perform at a senior level to help build out our technology platform using modern frontend, backend and mobile application technology frameworks. Must be willing to collaborate and help others on the team as necessary and be a solid team player. Person will work with smart bunch of folks who are doing state of the art development work in areas of home automation, security and control. Person will be interacting with product management and customers on the bleeding edge of technology to understand detailed requirements and create brand-new products for the market.
Primary Responsibilities:
Advance the state of the art in building services products with React.js, Node.js, Java, PHP, Go and mobile (Android/iOS) frameworks.
Full stack development for desktop and mobile for a data learning and services application that’s streamlining user interfaces and workflow processes in an important industry.
Work with other top-notch engineers, product manager, program managers and QA
Gathering functional requirements, architecting framework, developing technical specifications, and project & test planning
Designing/developing web, software, mobile apps, prototypes, or proofs of concepts (POC’s)
Act in a technical leadership capacity: Mentoring junior engineers, new team members, perform code reviews and applying technical expertise to challenging programming and design problems
Resolve defects/bugs during QA testing, pre-production, production, and post-release patches
Experience with Agile Development, SCRUM, or Extreme Programming methodologies
Design and develop the front end for our customer-facing applications using MVC framework
Design and develop supporting components and services for the backend tiers focusing on fault-tolerance and scalability in a multi-tenant enterprise environment
Maintain and improve the functionality and performance of the existing web applications; refactor legacy codebase
Help shape and execute the technical roadmap to develop next generation features; integrate corporate- and product-level architecture principles and goals into the team’s project work through designs, implementation strategies, and project sequencing.
Drive a culture of quality, technical curiosity, continuous improvement, and evidence-based decision making in the organization.
Other Duties as assigned
Knowledge Skills and Abilities:
7+ years experience developing web, software, or mobile applications
BS/MS in computer science
Require full-stack development experience with technologies like React.js, Node.js, Java, PHP
Require experience with one of the major relational databases (MySQL, Oracle, Postgres) and noSQL databases (Cassandra, Dynamo DB or Mongo DB)
Require Git, SVN or similar distributed SCM tools experience
Required to have strong object oriented programming experience using C++, C# or Java
Require experience and Strong understanding of entire Software Development Life Cycle (SDLC), Software design/architecture process, CI/CD processes, unit testing & Test Driven Development (TDD)
Required experience with web services (consuming or creating) with REST, SOAP, Dockers and Containers.
Require expert skills in Javascript, HTML5, CSS, Json or Python
Require experience with Cloud technologies e.g. AWS and GCP
Require strong knowledge of SOA, object-oriented programming, design patterns, multi-threaded application development
Essential to have experience in reporting and analytics, queuing and real-time streaming systems
Essential to have experience developing, maintaining, and innovating large scale, consumer facing web or mobile applications
Always Be Learning: Experience with open source technologies (if no practical work experience w/ Big Data, or cutting edge front-end technology—you’re prototyping and/or researching the up and coming technology and solutions
Preferably have a Github account with self-authored projects is a plus
Preferably have experience in mobile (Android/iOS) frameworks
Prefer experience & knowledge of Hadoop, ElasticSearch, Hive, Pig, Kafka and Machine Learning
Working Conditions:
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
The noise level in the work environment is usually moderate
Sufficient clarity of speech and hearing or other communication capabilities, with or without reasonable accommodation, which permits the employee to communicate effectively on the telephone and in person;
Sufficient manual dexterity with or without reasonable accommodation, which permits the employee to frequently operate a personal computer (estimated 80%-100% of the typical workday) and other office equipment
Sufficient personal mobility and physical reflexes, with or without reasonable accommodation, which permits the employee to work in an office setting and at a computer workstation for an extended period of time, with the ability to move between office and working lab considered to be approximately 100% of the workday.
Disclaimer: The above statements reflect the general details considered necessary to decide the principal functions of the job identified, and shall not be construed as a detailed description of all work requirements that may be inherent in the job. Job incumbents are expected to perform other duties necessary for the effective operation of the position, department, or the business.
#J-18808-Ljbffr