Technology has been a part of CitizenGO’s ecosystem since its founding. CitizenGO pioneered some of the first online tactics for conservative collective action — from online petitions to offline actions. Over the last years, technology, data, infrastructure, and analytics have empowered CitizenGO election program tactics, rapid response mobilization tactics, and played an outsized role in CitizenGO’s recent growth. CitizenGO has invested deeply in data warehousing and infrastructure, in analytics-driven modeling and targeting, and integrating the political tech ecosystem.
Any technology team member works with over 70 team members in over 20 countries to ensure reliable and secure systems that enable CitizenGO to do its global campaigning.
The Software Engineer reports to the Software Engineer Manager.
The Software Engineer belongs to the Software Engineering team as a software developer.
Software Engineer Responsibilities
- Code, Test, Review, Deploy, and Document.
- Integrate our global Payment Platform with Stripe and local payment gateways to address local market needs.
- Feature delivery - work with different technologies (in front and back-ends), languages, and frameworks in all layers of the web stack, from front-end to back-end and from SaaS (Software as a Service) to PaaS (Platform as a Service) and IaaS (Infrastructure as a Service).
- Develop effective ways to communicate through asynchronous communication.
- Share knowledge through documentation.
- Continuously improve our build and deployment automation. Confidently ship moderately sized features and improvements with minimal guidance and support from other team members.
- Architect systems that are reliable, scalable, and maintainable.
- Protect and secure the systems and data of our members and contributors.
- Offer IT support to our team members.
- Build new flows, optimize existing ones to increase the impact and quality of petitions.
- Coach, support, and share knowledge with other engineers inside our team.
- Ensure availability and reliability of our services in production.
- Work in an agile development environment (iterative development, short release cycles managed through Asana).
Software Engineer Requirements
- 2-3 years of experience as a Software Engineer and/or as a Systems Administrator.
- Experience working with PHP and at least one of its leading web framework.
- Experience working at large-scale web applications, ideally in Drupal.
- Experience working in Google Cloud environments, particularly with Compute Engine and BigQuery.
- Experience in work with CRM (Customer Relationship Management) platforms. Experience with Marketo or Salesforce is a big plus.
- Good knowledge of Linux (Redhat/CentOS). The ability to manage Linux VMs (Virtual Machines) in the cloud environment is also useful.
- Strong understanding of HTTP protocol and network APIs especially REST.
- Strong fundamentals in SQL.
- Comfortable working with a range of storage engines (MySQL and Google BigQuery).
- Fundamentals in Python and bash scripting skills.
- Understanding of network and application security with a deep understanding of all layers involved in web communications, including experience in network debugging.
- Experience at startups or web-based companies is a huge plus.
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions.
- Comfort working in a highly agile, intensely iterative software development process.
- Good strategic, creative, and innovative thinking.
- Excellent written and oral communication skills.
- Passion and commitment to human dignity, life, family, liberty, citizen empowerment, and social change.
- High professionalism, self-motivation, efficiency, and results-oriented delivery on short timelines.
- Strong teamwork skills, comfortable in a highly collaborative team culture and a hierarchical team structure.
- Strong project and staff management skills.
- Ability to adjust quickly to changing conditions and requirements.
- Fluency in English is a requirement. Spanish and other additional languages are an asset.