# Distributed Press - PT Back-End Eng Role Interview Notes ###### tags: `distributed press` Job posting: https://hypha.coop/assets/JobDescription_PT-DPBackEndDeveloper_2022-09-20.pdf ## Interview Notes: Ramaseshan S 2 Nov 2022, 11am ET **Everyone on team intro themselves; Introduce Hypha and Distributed Press/COMPOST** 1. Candidate - Tell us a little about yourself - Where are you based, your working hours, what have you been up to most recently? - Ram, he/him/they/them - Working with various companies in IT -- OS, DevOps, infrastructure architectures, code qualities, and customer interactions, transitions of right messages with customers, working with Dinesh's team 3-4 years (Janastu); Working with Design Beku, building tech for health navigators for community health, document audio, annotate them, etc.; Open Space Foundation, science education and communication, "digital wealth of knowledge", how to make education internet-free, decentralize content with local networks, for educators to explore to create content and distribute it with CC licenses, etc. - Chiburu (?) Coolab: How to grow plants in space - Core of decentralization: Protocol itself needs to be decentralized, not just the platform - >> All three orgs interested in decentralization for enabling distribution 2. Candidate - There's so much wrong with network tech, what issue are you most passionate about? - Humanities, access and privacy - Involved in free software movement for the last 10-11 years - Work against gov data retention policies - Projects that he works with are in rural communities - Facebook is not really technology (?) - Education, convey knowledge in a new sensible way - No one in the city working on this, currently "dweb" means cryptocurrencies 3. Candidate - How would you describe the "decentralized web" and what do you hope it might achieve as a movement? - Not sure if we can answer this without being political - Looking at communities, they are collaborative collectives of p2p communities - Generally, I interact with communtities, even when talking to people it's a way to establish connections to communities - The idea of competition boils out to collaboration and is beautiful (<<< not sure if this was taken down correctly) - Work a lot with kids going to school, strong feeling of being one to win, even when doing workshops people want to be above others and others being below - This destroys human thought - To me, when reading about decentralization, the thing that resonates is collaboration, community growth that's enabled, tech is just another tool - Tech doesn't matter as long as ideas are realized - Compared to other tech where the focus is making money - Mai: What said about tech not mattering and being about ideas, it matters 4. Candidate - What kind of work do you see yourself doing in the future? - Skip 5. Work Experience - Describe a favourite job. What did you like about it? - Recent example, along with Janastu, been working in a village - Beyond race, india has caste discrimination, it's just greater discrimnation - People in the village are at the bottom cast, discriminated of the discriminated - All the folks wanted was to attend school else they will have to go back to the village, kids 11/12/15 - Started working in village for 1.5y, for communication and tech - Some people want the village to stay same, some folks want more internet, some have different interpretation of tech - Challenge was to find the middle ground, what's the right level of privacy and tech, and access is not denied - As a physical exercise, been going there on weekends, reading books with kids - In terms of tech, established internet, needed for online classes - Trying to move towards how the people there can become a part of the process rather than needing to bring external help - E.g. fix their own internet without needing to reach out for it - Setting up a radio spot and connecting folks remotely - Teaching debugging skills - One of kids learning HTML, family couldn't afford a computer, showed them the raspberry pi, kid started learning HTML - Kid was happy that they didn't need to own a computer to just do programming. - Why don't we just give a PI to everyone, or give everyone internet, people can code on phones - Questions come up a lot, only response we've been giving in terms of decentralization, internet can cost 19INR per GB, about the daily wage. - 60% of people's salary is about 30/35 rupees per day, so it'd be investing all their salary on 1gb of consumption, numbers just don't add up. - Internet to everyone isn't feasible, infra cost is quite high so commons can't pay for it, comes with a huge amount with restrictions, ad networks come in and propaganda - Any kind of centralized form of distribution comes with a lot of baggage and bottlenecks. - When we started doing decentralization, e.g. here's a wifi hotspot with SFTP to share a PDF or a book to a friend, it excited kids, professor was having trouble and 8/9 yo kid showed the professor how to use the phone to do it - Decentralization is not just the internet, it's also about learning exchange sharing 6. Work Experience - Can you talk about your experience with *Janastu/Servelots*? - Skip 7. Work Experience - Can you share how you manage projects? How do you stay on track? - Combine with next question 8. Work Experience - How have you worked remotely during the past year? How did you find the experience of working on a remote team? - Only remote work was during covid, until then has been in office. 2 years during covid working remote has been fun. - 3 principles I follow: Documenting requirements and final action - Company was using Jira, any tracker would do - Always want to know what trying to do and what trying to acheive - Second thing is to understand timelines and dedicate timelines - Keeping 3/4 hours is limit per day, if task is 18 hours, like to break it down to multiple - Also helps realize if I really need the 18 hours - Breaking down also helped distribute the work to 2-3 people, something that could be done in 2 days could instead be done in one day - Establishing regular calls, so if something needs to be done in a day, we can come together and check that nothing is left out and if it's good we can sign off - Worked on teams of 5, liked to have 30 min at end of the day - Usually I ensure that I spend at least 1/2 hours a day mentoring teammates, so if they're stuck I can help them and co-program, and ensure that we can work with customer and sales teams, usually always on fire, they have customer needs and it's often repeating the same thing so it can sound big, like to clam the noise and work on real issues - I usually check emails 2/3 times a day, if it's an emergency I ask people to tag me Timezone difference: - Haven't dealt with with it too much except some customers - Only dealt with 3:30 - 5:30 hours - Ram is a night owl 1-2x/week meetings works well for him - Mauve: figure out which days they work together, meet 1:1 with each other; Agreed on 3-4 hours work sprint; Is able to stay up until 2am ET 9. Work Experience - Can you take us through a piece from your portfolio and talk about the project? - Skip Random Thoughts: - Mauvbe: Very useful long term alignment with work on education material dissemination in India (mai: +1, f: +1) - Mauve: Dev grants and FFDW grants on joint project for a dweb **Explain activities/tasks that are part of the role of the Distributed Press Back-End Engineer** - Programming in Node.js to set up HTTP web servers; Basic Linux sysadmin, using systemD; Maybe use Ansible to set up automations - Look at setting up unit tests for various flows - Mauve will work on p2p protocol work; New hire will work on deployment, testing, etc. 10. Role - This role will require using Node.Js and doing Linux admin. Can you talk about your experience working with these? - Not familiar with Node but able to learn it - Worked with JQuery - Mostly working on back-end - Mauve: Parts of node.js they'd need to know: Fastify; AsyncAwait; Streams; Mauve can provide pointers - Not doing anything very extreme, mostly standard, will abstract some of the p2p stuff into higher level APIs - Ram: Using hash tables? - Mauve: Using json but will upgrade to levelDB; maybe chat with others to talk about this - Mauve: Content > Tarball > DP API > published to IPFS and Hypercore > Diff of content; Three HTTP gateways - sanity check to check code is running; Not fancy 11. Learning Style - Would you say you're self-motivated to learn new things? Why or why not? - Skip 12. Learning Style - Are there particular technologies that you want to learn, or areas of tech that you're interested in exploring more? - Skip 13. Us - Why do you want to work for Hypha/Distributed Press? - On the worker-owned coop mailing list; also heard about it from Dinesh - Find it important to work in a cooperative to learn and gather ideas on this - Main reason is that Hypha is a co-op - What kind of collaboration makes sense for decentralization? - Information and knowledge without bias/takedown requests for news media is critical - DP as a means for news and info to be disseminated - Not many people in India working on decentralized tools; Want to collaborate with more people 14. Us - Do you have experience with co-operatives? - Skip 15. Us - Any questions for us? Something we should have asked? - Ram: Question of how the work will be structured? - Mauve: Also PT, ~20 hrs a week, willing to adjust work to make it more consistent; we're all working on several projects at once; Want to coordinate to work online at the same time together and meetings - Current meeting time? Ram: We can figure it out OUR OVERALL NOTES ON RAM: * Mauve: * Excellent alignment for our long term goals. * Would love to work with him on some sort of devgrant to use our tech for their local context, maybe something Agregore related. * The timezone stuff might be a bit of a challenge, but I think we can make it work if we clearly scope out the work that needs to be done and limit the number of times we need to be online at the same time. * The Node.js stuff _might_ be an issue since we'll want to just hop in there and get code written, but if he focuses more on the HTTP API layer it'd be less to learn and I can help with the overall structure and putting linters in place to automatically enforce best practices and reduce some of the load on getting it right. * Fauno: i think his experience with education is great and as mauve said, it'd be awesome to work with ram in other projects. not sure if the experience level with nodejs is worrisome for mauve! * Mai: * Has extensive experience and knowledge of offline/local first networks, values aligned, involved in projects that are tied to viable use cases for DP * Worried about time zone differences, network connectivity, and unwillingness to use any Google product * Limited experience with Node.js but may be able to pick it up ## Interview Notes: Jacky Zhao 2 Nov 2022, 4pm ET **Everyone on team intro themselves; Introduce Hypha and Distributed Press/COMPOST** // wasn't taking notes on ourselves :P That's ok :) 1. Candidate - Tell us a little about yourself - Where are you based, your working hours, what have you been up to most recently? he/him, vancouver. submitted pr to [which project?] still in school, part time and indy research data ownership local first software, crdts helped run hackathon empowering minotiries works and maintains oopen source projects tinkering with hypercore // didn't get what he said after this 2. Candidate - There's so much wrong with network tech, what issue are you most passionate about? two components. first is the social aspect about caring for privacy and decentralization, but it's really hard to implement for ppl. there's no good way to switch. corps and network effect is too strong. how do we get ppl to switch. how does it make sense to ppl. the other is data and app are too tightly coupled, how to split them and have data ownership. solidproject, looking at possibilities on the technical side. 3. Candidate - How would you describe the "decentralized web" and what do you hope it might achieve as a movement? decentralization is a means rather than ends. enable data agency for ppl. separate markets for data and applications so ppl can have choices, without sacrificing connectivity. like email. 4. Candidate - What kind of work do you see yourself doing in the future? after graduating, having sustainability on current work, sponsorship for research. long term working with smaller groups of ppl (vs institution). having a lab to think on poetic uses of the internet. 5. Work Experience - Describe a favourite job. What did you like about it? Verses: group of ppl enjoying, thinking critically on technology, what is tech doing besides the fun of building, how does it have an impact. really energizing to build cool stuff in collaboration. met with mai at a project 6. Work Experience - Can you talk about your experience with *Verses*? - Skip 7. Work Experience - Can you share how you manage projects? How do you stay on track? struggled with having too many thinks, being careful now on commitments taken, projects to work on. this year started spliting time between school and personal projects. Bento matrix - prioritize things with a quadrant of current and future, priority matrix. helpful to prioritize commitments. https://bentoism.org/about 8. Work Experience - How have you worked remotely during the past year? How did you find the experience of working on a remote team? works async, jump on calls to sync, but most of the work is async through discord chat. generally available on pst hours. school hours are short, before noon. no other hard commitments. mauve: what sort of time commitment expected? 10-20 hours / week mauve: any particular days? we meet thursdays 1pm pt has classes at the time, one hour later is free 9. Work Experience - Can you take us through a piece from your portfolio and talk about the project? skip **Explain activities/tasks that are part of the role of the Distributed Press Back-End Engineer** mauve: backend for DP. mauve focuses on architecture and p2p backend. using fastify for API, linux services, maybe ansible for automation (Jacky seemed excited about ansible). using high level p2p libraries written by mauve 10. Role - This role will require _____. Can you talk about your experience working with ____? has experience with Node 11. Learning Style - Would you say you're self-motivated to learn new things? Why or why not? wants to learn about p2p protocols] fast learner 12. Learning Style - Are there particular technologies that you want to learn, or areas of tech that you're interested in exploring more? loves working on infra stuff 13. Us - Why do you want to work for Hypha/Distributed Press? natural next step for jacky, how to work on effective tools, data neutrality. exciting to work with these communities, wants to learn & contribute instead of working by himself. how do we make betters tools for collective intelligence, blogging, webmentions plugs into that. 14. Us - Do you have experience with co-operatives? not much experience with coops. what are the differences with working with traditional orgs? high implicit trust for working together, feels a lot better than waiting for orders. curious to work with coops. mauve: interested in joining a coop longer term? not sure what it entails, wants to learn. mai: would you like to own a business? be part of its growth. hypha spinned out of toronto mesh, got projects in consulting with other coops, other technical projects. 8-10 official members, also contributors but it's a flat org altogether. trust and interdisciplinarity, decisions by consensus. also hypha has to follow the grant contract for accountability. formalize voting processes. everyone's great :) rough consensus by whistling/humming, loudness is consensus (where was this?) 15. Us - Any questions for us? Something we should have asked? major technical milestones? - updating existing structure of the code, and prepare for next milestones - adding metric everywhere: hits on gateway, upload time - integrating web mentions permaweb isok, what are the goals for p2p, collaborative editing? mauve: currently no mai: webmentions to enable commenting. we're building things as we explore what works and doesn't, is viable, usable, helpful for journalists, activists, offline communities. decentralized id too. it's a tech project but also networking, collaborate with ppl. // i didn't get his answer ~f was there a point in your careers where you switched to working on coops? mai: started working in non-hier groups in university, but in eff it was more hier-structured. it's about not being shy and proactive on picking out tasks. asking for help too before being overwhelmed, being communicative. making sure everyone's in sync. mai is pm for the grant! making sure we're meeting milestones without being a manager. mauve: healthcare startups, almost flat but annoying to work for someone elses profit. laid off after building system for years. started doing consulting for clients. working with ppl instead of providing a service. devgrants with folks as ephemeral coops (?) there's still power and making decisions, balancing trust. fauno: come from an activist family; worked in collectives and through consensus his whole life; worked for 8 years in a govt institution; you end up feeling like your work doesn't matter much, but learned a lot; started a co-op that didn't work, due to power dynamics; next steps? mai: early next week we'll send email on decision. when offer is sent probably start the following week. OUR OVERALL NOTES ON Jacky: - Mauve: Seems to be more alinged on tech needs, could be useful to think about future CMS uses. Longer term cultural stuff is less high reward than Ram, but still aligned and closer to home which is useful. - Fauno: same as mauve, and as i mentioned in the call, little experience with coops means we have to commit to onboarding ppl (something we should strive to do always :P) - Mai: Seems like he has not much professional experience (young) but very enthusiastic, values-aligned, and eager to learn. Connected with people in the space through Verses. Asked good questions, thoughtful responses to bigger questions regarding implications of this tech. Based in Canada so might be easier admin-wise for Hypha. ## Interview Notes: Ruben Rodriguez 3 Nov 2022, 11am ET **Everyone on team intro themselves; Introduce Hypha and Distributed Press/COMPOST** 1. Candidate - Tell us a little about yourself - Where are you based, your working hours, what have you been up to most recently? he/him, currently in cdmx, but lives in san juan, puerto rico. been doing software consulting for 10 years. works with small teams, helps them function better. 2. Candidate - There's so much wrong with network tech, what issue are you most passionate about? moved back to PR 6 months ago, be with ppl, speak spanish, energy is an issue on the island, it goes out. noticing. food security too, works on a platform for farmers to sell directly to customers. support local food production. really proud to contribute to. also against internet censorship, centralization of power. moving away from working with centralized systems. mauve: which stack, ux, does the farm platform account for power outages? there's a centralized system in PR. the platform doesn't either. the stack was node/express backend and 4 frontends consuming the api for different audiences, customer website, track orders. farmers track inventory, manage orders, host pickup sites. superadmin manages accounts. pickup manager. redux/react. works in every part, working in small teams does a bit of everything. fauno: political organization side. Are you working with local farmer organizations or app developed independent of organization? Ruben: Farm app was developed for the state of connecticut. There are orgs in Puerto Rico, haven't made those connections yet. fauno: Is this platform open for other countries? Ruben: Nothing in the platform thsat says you have to be in connecticut, the person he built it for is connected to conneticut farmers. Onboarding hasn't been smooth, there needs to be some training on how to use it; is hoping that it will be general purpose for other places mai: is the company local to PR? or the same from connecticut disconnected between them? not involved in the work in pr yet. thinks it's super important and is a customer. 3. Candidate - How would you describe the "decentralized web" and what do you hope it might achieve as a movement? found about dat project, redistribution of dataset, and verification, thought it was an interesting use case. local first is important and wants to work in its future. ppl needs to have decision power over software instead of being enforced into one. local-first mindset and direct connections with ppl vs a frail system depending of authority figures. tech wise is not necessary to have authority. 4. Candidate - What kind of work do you see yourself doing in the future? skip 5. Work Experience - Describe a favourite job. What did you like about it? skip 6. Work Experience - Can you talk about your experience with risd.systems? longest running projects. it started on 2013, working with small team at risd who were not happy with current systems. used django, jekyll. thought they could have a jekyll cms. a collaborator found webhook.com where if you're fe-dev you can deploy everything (dns, cms, database). dev can send code and the server runs and deploys pages to google cloud bucket. once site is deployed other ppl can be added to the cms and edit content. when its edited firebase saves the data and runs a hook to build the site. also has elastic search. but basically it's static site generation flow empowering fe-devs mauve: were you working on the dev or also deployment? it was an open source sold as a service, rubén forked all repositories and managed the gcloud instances and buckets. also connects to fastly or cloudflare, but preferred fastly to not cede certificate management to cf. did all the wiring for those integrations: firebease, mqueues, buckets, cdn, cms. 7. Work Experience - Can you share how you manage projects? How do you stay on track? splits weekdays between projects so he can focus. if something comes up is available, but prefers to dedicate time to a single time at once, less context switching. 8. Work Experience - How have you worked remotely during the past year? How did you find the experience of working on a remote team? likes working in remote teams, doing it for a while. freelance counsultancy has been remote or in coworking space. likes casual serendipity with other ppl, but most work happens in slack/discord (missed out which one he mentioned) a remote team was easier because it was on the same timezone, but another one was distributed and required more effort in typing out and communicating clearly to distribute tasks. sync-up when there's time, quick video calls. ppl self-manages time and tasks. 9. Work Experience - Can you take us through a piece from your portfolio and talk about the project? skip **Explain activities/tasks that are part of the role of the Distributed Press Back-End Engineer** nodding along with mauve's description of DP tasks and infra worked systemd's services at risd systems, never messed with ansible deploys. open to explore it. mauve: ansible is the orchestration tool of hypha, folks are available to help. fastify has a much nicer api (than express?), used it for personal projects 10. Role - This role will require _____. Can you talk about your experience working with ____? skip 11. Learning Style - Would you say you're self-motivated to learn new things? Why or why not? definitely and loves learning new things, motivated to solve a problem does research and reads documentatation when driven to make something real. 12. Learning Style - Are there particular technologies that you want to learn, or areas of tech that you're interested in exploring more? interested in learning swift at some point, tested idris, interested in languages generally. most recently worked with webgl, motivated to make games and interactions, for fun, serendipity. 13. Us - Why do you want to work on Distributed Press? excited for this effort, publishing, reliciency and ownership for all is important. not well formed thought for this but really cool. 14. Us - Do you have experience with co-operatives? fascinating but no direct involvement. talking with a business owner about surplus value (not using these termss) the owner stands to appropiate work. coops seems fairer to workers. fair compensation, distributing resources. into flat hierarchies, valuing ppls time in the same way. fauno: risd.systems similar to work sutty is doing. Jitsi is running on a computer next to him. Works with farmers and worker-owner coops, movement of workers who took over factories; It's a cool project since you were doing it 10 years ago; Would like tolearn more about web hook. mauve: Do you speak spanish? Ruben: I do but I'm working on my vocabulary. Practicing spanish is a big part of his life right now. Would love to build up his vocabulary in his work domain 15. Us - Any questions for us? Something we should have asked? can you tell me more about hypha coop? how is it different as a a workplace? mai: hypha is a coop that emerged out of tomesh, 5 years ago, most of the ppl are based in toronto. ppl asks hypha for help arund tech use and contract either contributors (under probation period for membership) or members. when you work with hypha, hypha takes a contracting fee. it's great to be paid early for contracting work. really value driven, working in partnership. work is paid. sometimes is from grants, others with companies who are values aligned. mauve: not just a worker owned coop also a non profit. workers are paid for work. this is not a bigtech contract, but values are aligned and work is solidarity based vs maximizing profits. hypha is incorporated in ontario. rubén: excited about redistributing profits fauno: sutty is also a worker-owned co-op. IN Argentina there's a big co-op movement so there's a legal framework for co-ops; Also members of tech co-op network; Going to a yearly assembly to make decisions around federation goals and how to work better together; Sutty is a newer member thursday and fridays open to work on distributed press, flexible to move things around if needed. OUR OVERALL NOTES ON Ruben: - Mauve: Peurto Rico seems like it'd have useful groups that we can collaborate with, spanish seems useful to have, general node.js experience seems ahead of other candidates. Thurs/Fri seems useful for time alignment - Mai: Seems to have the most experience with Node.js and familiarity with other languages and tools we use. Speaks some Spanish. Seems to be less familiar with DWeb concepts and solidarity economics. Based in PR and interested in energy issues. - Fauno: nothing much to add, previous experience at risd systems is interesting and seemed someone who could take technical tasks independently. same as jacky on coop experience. also good to have someone in latinamerica and caribbean area :D