About Open Signal
Open Signal envisions an anti-racist media future. Our staff are a diverse community of teachers, media artists, social activists and dynamic nonprofit professionals. Launched in 2017, we’re building upon the 35-year legacy of Portland Community Media to create a media arts resource unlike anything else in the Pacific Northwest. We currently partner with makers underrepresented in the mainstream media, offering dynamic education, a professional-quality equipment library, production studios and artist residencies. A people-powered alternative to corporate media, we broadcast five cable channels in the Portland/Metro area and an online network with locally produced, non-commercial content. This role has remote flexibility however it will require regular onsite collaboration and work sessions. We are ideally targeting local candidates from the Portland metro area.
Learn more at opensignalpdx.org.
The Back-End Developer role is a temporary position as part of the 12-month website / Community Media ERP project called Project Ficus. Project Ficus is an overhaul of our user facing community websites and ERP system which includes inventory, CRM, streaming CDNs and Drupal websites. This role will combine API and Back-end developer skill sets in order to work with cross functional team members in a CI/CD workflow on an overhaul of our existing internal ERP system and user-facing public websites. If you are passionate about creating functional data interfaces and microservice architectures for enterprise-level software applications, and want to make a difference in the tech non-profit sector, we encourage you to apply.
This is an API development role which will call on you to extend and adapt current data sets and automation workflows however it is not an architect role. It is a development role and you will be working with another developer who will be focusing on frontend interfaces. You will work closely with an internal team of developers, project managers, and stakeholders as well as developer partners to ensure the new system is optimized, migrated and meets the organization's business requirements. This is an open ended and exploratory initiative and we are looking for developers in this role to value learning experience, bring an open minded, self motivated attitude and consultative perspective to the strategy we are designing together as a team. We will be developing our game plan together so it’s important that individuals in this role can be flexible, contribute feedback and prioritize our end vision regardless of how it unfolds.
This is a one-year, full-time position with competitive salary and benefits, and the opportunity to work with a dynamic and committed team on a meaningful project. Open Signal is an equal opportunity employer and encourages candidates from diverse backgrounds to apply. This is a full-time position based in Portland, Oregon, with benefits such as health insurance, retirement plans, and paid time off. No recruiters please.
Essential Duties & Responsibilities:
90% Back End / API Development
- Follow the scope of Project Ficus, a web development project, that goes from the proposal stage to the technical work up;
- Work with project managers and stakeholders to define requirements, create technical specifications, and estimate timelines for project completion;
- Design and develop back-end components of the ERP system, including databases, APIs, and integrations with other systems;
- Write clean, efficient, and maintainable code using programming languages such as Python, Node.js, and databases such as MySQL, Postgres, and NoSQL;
- Inform testing strategy and participate in QA testing and debugging to ensure that the system is reliable, scalable, and secure;
- Continuously monitor and improve the performance of the ERP system, and optimize the code to improve the user experience;
- Collaborate with front-end developers to integrate the back-end components with the user interface;
- Work in an Agile development environment, using tools such as Gitlabs, Mantis, and Podman/Buildah;
- Contribute to documentation of the back-end codebase, including code structure, dependencies, and implementation details, to ensure maintainability and facilitate knowledge transfer;
- whether it be other developers or applications. This includes defining the endpoints, the data formats, and the methods available for use;
- API Development: Once the design is complete, this role is responsible for developing the API. This includes writing the code, testing it, and ensuring that it is stable and reliable;
- API Documentation: The developer should document the API to make it easy for other developers to understand how to use it. This includes writing clear and concise instructions, providing examples, and explaining how to handle errors;
- API Maintenance: After the API is released, this role must maintain it by fixing bugs, adding new features, and updating documentation. This ensures that the API remains useful and functional over time;
- API Security: This role must also ensure that the API is secure and protected against unauthorized access. This includes implementing authentication and authorization mechanisms, and enforcing data privacy and compliance with regulations;
- Providing support: this role should be available to provide support to other developers using the API, by answering questions, addressing issues, and providing guidance on best practices.
Other Duties & Responsibilities:
10% Other duties
- Participate in Open Signal committees, meetings, and training as needed;
- Other duties as assigned.
Minimum Qualifications and Experience
- 2-3 years of API / back-end development experience;
- Strong understanding of microservices architecture and design patterns;
- Expertise in Kubernetes, including deploying and scaling microservices on a Kubernetes cluster, creating and managing Kubernetes resources (pods, deployments, services, etc.), and configuring Kubernetes networking and security;
- Experience with containerization technologies such as Docker/Podman/Buildah, including building and deploying container images;
- Knowledge of on premise computing platforms, such as self-hosted Kubernetes or Rancher, and how to deploy microservices on them using Kubernetes tools;
- Familiarity with container orchestration and management tools, such as Helm and Istio;
- Proficiency in one or more programming languages commonly used for back-end development, such as Java, Python, Go, or Node.js;
- Experience with designing and developing RESTful APIs and using API gateways such as Kong or Istio;
- Understanding of database management systems and how to integrate microservices with databases, using technologies such as MongoDB, MySQL, or Postgres;
- Familiarity with CI/CD tools such as GitLab, and experience with writing automated tests and building pipelines for microservices;
- Strong problem-solving skills and ability to troubleshoot complex issues related to microservices deployment and orchestration using Kubernetes;
- Knowledge of Agile and CI/CD development methodologies and experience working in a collaborative, cross-functional team;
- Familiarity with version control: Some exposure to version control systems such as Git, and GitLab and should be able to work collaboratively with other developers to manage code changes;
- Expertise in Continuous Development/Continuous Deployment strategies;
- Strong initiative and independence, needing limited oversight;
- Understanding of database schema (SQL and NoSQL), microservices architecture, and API integration;
- Basic understanding of ADA compliance as they impact back-end systems;
- Strong communication and documentation skills to effectively communicate technical information to both technical and non-technical stakeholders;
- Problem-solving skills: This role should be able to analyze problems and develop creative solutions to overcome them. We value critical thinking, and need our developers to be comfortable with ambiguity, and to have a willingness to learn new skills and technologies;
- Communication skills: All members of our team should be able to communicate effectively with other team members, such as designers, developers, and project managers. They should be able to explain technical concepts in a way that is easy to understand for non-technical stakeholders;
- Ability to communicate effectively across differences in age, class, and ethnicity and the ability to code-switch as needed;
- Committed to creating a work environment that centers the voices of the communities we serve/prioritize, BIPOC, LGBTQIA2S+, veterans, ESL, members of the disability community and gender non-conforming.
Studies show that qualified candidates who do not meet 100% of qualifications are less likely to apply for positions, especially women, people of color and/or people living with disabilities. We encourage you to apply even if you do not meet all of the listed job qualifications committed to creating a work environment that centers the voices of the communities we serve/prioritize, encourage applicants from diverse backgrounds to apply including BIPOC, LGBTQIA2S+, veterans, members of the disability community and gender non-conforming, applicants.
Send in your resume and answers to the six questions in this application through Indeed.
Our Hiring Process and Timeline
- Applicants must submit a resume and answers to our six questions through Indeed. The job posting will remain open until April 5th. Application review will conclude between April 5th and April 7th, 2023.
- First round interviews will be conducted on a rolling basis and conclude between April 10th - April 12th. Finalists will be invited to a second-round one-hour interview that will take place between April 12th through April 14th. and we hope to make an offer April 14th, 2023.
Job Types: Full-time, Contract, Temporary
Pay: $100,000.00 per year
- Dental insurance
- Flexible schedule
- Health insurance
- Life insurance
- Paid time off
- 8 hour shift
- Monday to Friday
- Which languages, frameworks and tools do you have proficiency in?
- Post 3 links to projects you have worked on and in 3 - 5 sentences per link please describe your role on each project.
- What resonates with you about Open Signal's mission?
- How do you prepare for a user interview? What should a back-end engineer be looking for in the UX discovery process?
- Please explain what the advantages and disadvantages of Kubernetes/containerization? Provide two explanations; one addressed to a colleague who is a developer and one addressed to a non-technical colleague who is the Director of Seasonal Programming.
- What are the advantages and disadvantages of a microservices architecture approach?
Work Location: Hybrid remote in Portland, OR 97212