Work collaboratively to architect, design, build, deliver and enhance highly available, scalable, real time systems.
Develop applications independently.
Participate in and/or direct major deliverables of projects through all aspects of the software development lifecycle including scope and work estimation, architecture and design, coding and unit testing.
Modify database tables, fields, etc., and makes database design decisions of moderate to high complexity.
Test hardware and/or software and/or develop testing algorithms for use by others.
Build moderately complex to complex deployment packages, use issue tracking software, use source code control and perform other supporting activities related to application development projects.
Required Skills
Familiarity with common software development technology stacks.
Knowledge of multiple front-end languages and libraries (e.g., HTML/ CSS, JavaScript).
Proficiency with MS Office Products (Word, Excel, Visio, & PowerPoint).
Knowledge of back-end languages (e.g. Python, C#) and JavaScript frameworks (e.g. React, Node.js).
Familiarity with databases (e.g. PostgreSQL, MongoDB), web servers (e.g. Nginx), cloud platforms (e.g., Kubernetes), and UI/UX design.
Familiarity with design patterns, application modeling (particularly using UML), QA practices and tools (NUnit, JUnit), automated configuration management, and GIS concepts.
Good problem solving and research skills.
Excellent written and verbal communication skills.
Required Experience
Experience with Kubernetes cluster environments, their setup, and administration activities.
Experience with DevOps frameworks.
Experience with an issue/problem tracking system (e.g., Jira).
Experience working with: JSON, XML, HTML, CSS, SASS, SVG.
Experience in cloud-based environments such as Amazon Web Services.
Experience working on an Agile (Scrum, Kanban, SAFe, etc) team.
Education Requirements
Bachelor’s Degree in Computer Science, Computer Engineering or a closely related field.