Senior Full Stack Developer
Austin, Texas or Remote
About System Surveyor:
System Surveyor is an Austin “A-List” company with a big future. The company offers a Business to Business (B2B) Software-as-a-Service (SaaS) solution to professionals in the electronic security, IT, Audio-Visual and Building Automation industries and more. Based in Southwest Austin, the company is poised for rapid growth in 2021 – and we need some dedicated and ambitious “A-players”.
In this development role you will work with our local and remote agile team to design, implement, and debug industry leading solutions for IoT design and management. Develops software by completing coding tasks to create user interfaces, algorithms, applications, tools, and associated technologies in accordance with System Surveyor’s code quality guidelines. Applies fundamentals of software engineering to assist in the creation of new software technologies. Participates in relevant aspects of application design with other software engineers. Mentors junior developers, reviews code and contributes to system architecture. This position typically works under general supervision and will report directly to the CTO. Incumbents of this position will exercise some discretionary decision-making authority.
Core duties and responsibilities include the following:
- Participate in configuration, build and release management, and testing of software with software engineers.
- Participate in the analysis, design, development, test, modification and integration of software systems or subsystems for designated products and/or customer applications.
- Participate in agile processes including sprint planning, revise and update documentation, including reviewing schedules and milestones.
- Contribute on technical design and architecture discussions.
- Implement, debug, and document sections of code and systems, develop software requirements, related designs, and code.
- Participate in code reviews, software development, and engineering processes.
- Recommend value added changes to existing coding practices, standards and tools.
- Define and executes software test methods and procedures.
- Assess severity of problems, determine corrective action, resolve technical problems, perform fault isolation and implement solutions.
- Participate in interviews.
Minimum Job Requirements
Bachelors degree or higher in Computer Science, Engineering, or related field plus four years professional computer programming experience OR six years professional computer programming experience.
Demonstrable ability in two or more basic software engineering skills including: knowledge of requirements, analysis and design, implementation, debugging, testing, documentation, and DevOps.
Demonstrable ability with several of the following technologies: Git, GitHub, Node.js, Python, Java, PHP, Relational Databases, NoSQL Databases, RESTful APIs, Front-End frameworks/libraries such as React, React Native, Angular, Ember, HTML5, Sass or LESS. CI such as GitHub Actions, CircleCI, Jenkins. Automated Testing Tools such as Mocha, Selenium, Jasmine and Protractor. IT automation tools such as Terraform, Ansible, Salt, Chef, Puppet. Infrastructure management including Docker, Serverless, Kubernetes, Linux and AWS Services such as API Gateway, Lambda, Kinesis, ElastiCache (redis), RDS, SNS, SQS, DynamoDB, Cloudwatch, ECS, EKS.
Must have demonstrable ability in both verbal and written communication. Must have strong analytical and problem-solving skills. Must have good interpersonal and team-oriented skills. Must have demonstrable knowledge of software engineering processes. Experience as a team member on one or more full software life cycles is required. Must have demonstrable ability to understand and keep pace with external software engineering best practice changes and industry advancements.
Experience with mobile development is a plus