Senior Software Engineer
Job DescriptionJob Description
Job Overview
The Senior Software Engineer will use best practices to develop software. You will also assist other software engineers in the creation, design, and maintenance of our growing suite of products. You must be able to work in an agile development environment which will mean many revisions during the software development lifecycle. Also, you will need to work in a team environment which means that you will collaborate with other members and respect their input and roles. In this position, you will use the mindset that you are a full-stack software developer even though we have other resources including Quality Assurance, etc. More specifically, you will test your software intensely before sending it to QA.
Responsibilities and Duties
· Serve as a technical lead contributing to and directing the efforts of development teams, including internal and external team members.
· Design, develop, and implement applications that support day-to-day operations.
· Provide innovative solutions to complex business problems.
· Plan, develop, and implement large-scale projects from conception to completion.
· Develop and architect the lifecycle of projects working on different technologies and platforms.
· Interface with clients and gather business requirements and objectives.
· Translate clients’ business requirements and objectives into technical applications and solutions.
· Understand and evaluate complex data models.
· Design, develop, and implement new integration.
· Execute system development and maintenance activities.
· Develop solutions to improve performance and scalability of systems.
Expectations
· Embody and exemplify Public Safety Brands’s core values
· Winning mindset - Hungry, driven, passionate, execution focused, committed, urgency
· Coachable change agents – Fail quick and learn, continuous improvement, critical thinkers – question why, innovative
· Servant leaders – When no one is looking, we do the right thing; teamwork, collaboration, not siloed, customer-centric
· Teamwork: Build consensus and use active listening skills.
· Customer Service: Provide prompt, high-quality service to members, staff, vendors and internal/external customers.
· Communication: Create effective working relationships by sharing information.
· Achievement: Demonstrate ability and willingness to achieve organizational and individual goals by seizing opportunities and learning from experience.
· Flexibility/Innovation: Initiate new ideas, exhibit creative thinking and grasp new concepts.
· Technical Excellence: Apply and develop enhanced technical and role specific skills and organizational knowledge.
· Design software from a user’s perspective understanding their processes of entering data.
· Uses Agile and Scrum methodologies.
· Stays current with industry trends and techniques sharing this information with the team.
· Working towards any required industry certifications
· Understands the software development life cycle. AKA SDLC.
· Stays on task and completes tasks.
· Superior troubleshooting skills.
· Thinks “outside the box”.
Must Have Skills
· Strong Front-End Development Skills: Typescript, React, Redux, Unit Testing (Vitest)
· Backend: Golang (C# / Java would be suitable alternatives)
· Databases: Mongo and MySQL (Postgres, Oracle, or SQL Server would be suitable alternatives)
· General Skills: Web-sockets, CI/CD Pipelines, Scripting
· Development Skills: Refactoring legacy applications
· Software Development Lifecycle: Scrum/Agile, Git, Jira, Document Story/Bugs for action by team
· Cloud Hosting: AWS (Azurea acceptable alternative) – Bonus for Government Cloud variants
Bonus Skills
· Experience in Public Safety or SaaS
· : C#, Python, Node
· UI: Material UI
· GIS – ESRI libraries and API integration
· Frameworks: legacy AngularJS
· Authentication: AuthBoss
· Testing: Cypress
Qualifications
· Bachelor's degree in computer science or related field or equivalent experience.
· Minimum 5 years of programming experience.
· Broad experience designing, programming, and implementing large information systems.
· Ability to provide in-depth evaluation and analysis of unique complex technological issues.
· Excellent analytical and problem-solving skills.
· Excellent organization and time management skills.
· Excellent written and verbal communication skills.
· Demonstrated ability to lead others.
· Ability to exercise discretion and independent judgment in the performance of duties.
Note
This job description in no way states or implies that these are the only duties to be performed by the employee(s) incumbent in this position. Employees will be required to follow any other job-related instructions and perform any other job-related duties requested by anyone authorized to give instructions or assignments. All duties and responsibilities are essential functions and requirements and are subject to possible modification to reasonably accommodate individuals with disabilities. To perform this job successfully, the incumbents will possess the skills, aptitudes, and abilities to perform each duty proficiently. Some requirements may exclude individuals who pose a direct threat or significant risk to their health or safety or that of others. The requirements listed in this document are the minimum levels of knowledge, skills, or abilities. This document does not create an employment contract, implied or otherwise, other than an “at-will” relationship.