RE

Communications Officer

Fixed_term Arua, UG
Posted 2 weeks, 4 days ago 149 views 0 applications

Job Description

We need to output clean semantic HTML with

,

,
  • . No CSS classes, no inline styles, no
    , no
    . Must preserve all original content word-for-word, no addition, removal, summarising, rephrase. So we need to extract the text content from the given HTML (which includes many spans with styles). We need to strip those tags and keep the text. Then we need to structure using headings for sections: The original has headings like "About Restless Development", "Our approach to safeguarding", "About YIGA", "About the Role:", then a block with job details (Job title, Location, etc.) then "Key responsibilities" with subheadings (Programme Documentation and Storytelling, Communication of Results and Youth Voice, Digital Communications and Programme Visibility, Media and Partner Coordination, Communications Planning and Coordination, Ethical, Inclusive and Safe Communications, Other responsibilities). Then "Qualifications and Experience" with "Essential" list. We must use

    for section headers. So each heading becomes

    Heading

    . Paragraphs become

    . Lists become

    • items. We must preserve all original content word-for-word. That means we cannot change wording, punctuation, etc. Must keep line breaks? We'll just output as HTML; line breaks inside

      are not needed. We must not add any extra content. Must not omit any content. Must not add any explanation. We need to parse the given input and produce HTML. Let's extract the text content from the given HTML. I'll go through the input step by step. Input starts:

      Communications Officer 

      That's the job title line. The text: "Communications Officer". There's a non-breaking space after? We'll keep as "Communications Officer". Probably just that. Next line:

      Apply by 5th October 2026 at 5:00 PM (E.A.T)

      Text: "Apply by 5th October 2026 at 5:00 PM (E.A.T)" Then


      (empty line) - we can ignore? It's a blank line; we could output an empty

      ? But we should preserve content; a
      inside a p is just a line break. Since we cannot use
      tags, we need to represent that as maybe an empty paragraph? The instruction: preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. If we drop the
      we are removing content. However we cannot use
      tags. The rules say: No
      tags. So we must not output
      . But we must preserve content. How to represent a line break without
      ? Possibly we can just treat it as a paragraph break: an empty

      would represent a blank line. That might be acceptable as preserving the blank line. The original had a


      which is a paragraph containing a line break, effectively a blank line. If we output an empty

      , that's a blank line. That seems okay. But we must not add any extra content; an empty

      is not adding content, it's representing the blank line. It's not adding text. It's okay. Proceed. Next:

      About Restless Development

      Text: "About Restless Development" Then paragraph:

      We have worked in Uganda since 1997, guided by four goals shaped by young people: Voice and Democracy, Education and Livelihoods, Gender and Sexual Health, and Climate Justice. We support young people to influence decisions, access quality education and sustainable livelihood opportunities, advance sexual and reproductive health and rights, promote gender equality, and lead action towards a just and sustainable future. We currently work in 26 districts across Northern, North-Eastern, Central and Eastern Uganda, with offices in Kampala, Jinja, Moroto and West Nile. 

      Text: that sentence. Then


      blank line. Next:

      Our approach to safeguarding

      Text: "Our approach to safeguarding" Paragraph:

      Restless Development considers the welfare and protection of children, young people and vulnerable adults to be an organisational imperative with primacy over the success of programmes or strategic objectives. 

      Text. Then


      blank. Next:

      About YIGA

      Text: "About YIGA" Paragraph:

      Promoting Youth Inclusion in Governance and Decision-making in Uganda (YIGA) is supported by the Royal Danish Embassy under PACER and runs through December 2027. Restless Development leads the consortium with Media Challenge Initiative (MCI) and Karamoja Youth Effort to Save the Environment (KAYESE). Building on implementation in Karamoja, the project is expanding to Arua, Terego and Madi-Okollo in West Nile, alongside activities that bring regional youth priorities into national discussions.

      Then another paragraph:

      YIGA addresses the information gaps, limited opportunities and institutional barriers that prevent young people from influencing decisions about their communities. It helps young people understand local government planning and budgeting, gather evidence on public services, and raise their priorities with elected representatives, officials and community leaders. At the same time, it helps these leaders involve young people in decisions and respond to their concerns through practical action plans and regular follow-up.

      Then another paragraph:

      In West Nile, this includes training Youth Accountability Advocates and youth councillors, supporting community barazas and Youth Leader Connect meetings, and monitoring service delivery with local governments. MCI's Youth Information Hub+ combines a physical hub in Arua and Karamoja, mobile and digital engagement approaches and digital resources with civic films, radio, storytelling and media literacy activities. Evidence from both regions will inform the State of Youth Civil Society in Uganda report and National Youth Working Group discussions. Throughout, YIGA seeks to turn informed youth participation into decisions and services that better reflect young people's needs.

      Then


      blank. Next:

      About the Role:

      Text: "About the Role:" Paragraph:

      The Communications Officer will lead and coordinate communications and documentation for Restless Development’s contribution to YIGA, with particular responsibility for implementation in West Nile while supporting consistent programme messaging across West Nile, Karamoja and relevant national engagement.

      Paragraph:

      The role will ensure that programme activities, results, youth perspectives, evidence, learning and stories of change are captured in real time and translated into high-quality communications for young people, partners, donors, government stakeholders and wider audiences.The Communications Officer will work closely with the Communications Coordinator, Programme Manager, Assistant Programme Coordinator, Programme Officer, MEL Coordinator, Advocacy Officer and other Restless Development teams.

      Paragraph:

      The Officer will also work closely with MCI’s Communications Officer, Production Officers, Graphic Designer, Civic News Reporters and Training Officer. The Communications Officer will primarily provide programme-level communications coordination, documentation, messaging, visibility, quality assurance and linkage between programme evidence and communications, while MCI provides specialised civic-media production, digital dissemination and technical media support. This distinction will ensure complementary rather than duplicated communications functions across the consortium.

      Then



      (two line breaks). That's a paragraph with two
      tags. We cannot use
      . We could represent as two consecutive empty

      ? Actually a

      with two
      yields a paragraph with line breaks but no text; effectively two blank lines. We could output two empty

      to represent those blank lines. That seems okay. Next:

      Job title: Communications Officer

      Text: "Job title: Communications Officer" Note there is a space before Communications Officer? The second span starts with a space. We'll keep that space. Next:

      Location: Arua – West Nile, Uganda

      Text: "Location: Arua – West Nile, Uganda" Next:

      Project coverage: West Nile, with coordination across Karamoja and relevant national programme activities

      Text: "Project coverage: West Nile, with coordination across Karamoja and relevant national programme activities" Next:

      YIGA Level of Effort: 50%

      Text: "YIGA Level of Effort: 50%" Next:

      Salary: UGX 23,542,380 Gross Per Annum 

      Text: "Salary: UGX 23,542,380 Gross Per Annum" plus maybe a non-breaking space after. We'll keep as is. Next:

      Preferred start date: As Soon As Possible

      Text: "Preferred start date: As Soon As Possible" Next:

      Duration: 1 year, renewable depending on funding and performance

      Text: "Duration: 1 year, renewable depending on funding and performance" Next:

      Reports to: Communications Coordinator

      Text: "Reports to: Communications Coordinator" Next:

      Direct Reports: Young Leaders, where applicable

      Text: "Direct Reports: Young Leaders, where applicable" Next:

      Expected travel: Regular domestic travel, particularly within West Nile and to other programme locations as required 

      Text: "Expected travel: Regular domestic travel, particularly within West Nile and to other programme locations as required" plus maybe NBSP. Then


      blank. Next:

      Key responsibilities

      Text: "Key responsibilities" includes underline tags. We need to preserve the underline? The original includes tags. We cannot use because we are only allowed

      ,

      ,
      • . No other tags. But we must preserve content word-for-word. However the instruction says: Return ONLY the cleaned job text. In the first task we removed formatting. In this second task, we need to format as clean semantic HTML, preserving ALL original content word-for-word. But we cannot use because it's not allowed per rules: only

        ,

        ,
        • . No CSS classes, no inline styles, no
          s, no
          tags. It doesn't explicitly forbid , but says use

          for introductory paragraphs and general text,

          for section headers,
          • for list items. It doesn't say we cannot use other tags, but the implied expectation is to use only those tags. However the instruction: "Use

            for introductory paragraphs and general text. Use

            for section headers ... Use
            • for list items ... No CSS classes, no inline styles, no
              s, no
              tags". It doesn't say we cannot use other tags like , , etc. But to be safe, we should avoid any tags not listed. However we must preserve content word-for-word, including the underline markup. If we drop the we are altering content. The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. That includes markup? The original content includes the tags. So we must keep them. But the rules for this task say we should format as clean semantic HTML using only those tags. There's a conflict. We need to interpret: The task is to format the job description as clean semantic HTML. The original content includes formatting like bold, underline, etc. We are to strip those and represent using semantic tags: headings for section headers, paragraphs for text, lists for list items. The underline on "Key responsibilities" is just formatting; we can represent it as a heading (

              ) maybe. The original had Key responsibilities inside a

              with bold and color. The semantic meaning is a section header. So we can treat it as a heading. That would be preserving the meaning, not the exact markup. But the instruction says preserve ALL original content word-for-word. However earlier in the first task we were to remove formatting etc. In this second task, we are to format as clean semantic HTML, preserving ALL original content word-for-word. I think they mean preserve the textual content, not the formatting markup. Because they ask to use semantic tags, which implies we replace formatting with appropriate tags. So we should treat "Key responsibilities" as a section header (

              ). The underline can be ignored as formatting. Thus we will output

              Key responsibilities

              . Similarly, other bolded section headers like "Programme Documentation and Storytelling", etc. Those are bolded lines that are not list items but headings for groups of responsibilities. In the original they are bolded lines followed by
                . Those should be

                as well. Also "Qualifications and Experience" and "Essential" maybe headings. We need to decide which lines are section headers. The original uses bold for headings. We'll treat each bold line that is not part of a paragraph as a heading (

                ). However some bold lines are within paragraphs like "Job title:" etc. Those are labels inside a paragraph; they are not separate headings. In the original they are inside a

                with two spans: bold label and regular value. That's essentially a key-value pair. We should keep them as a paragraph, not a heading. So we need to differentiate. Thus we will parse the original and produce HTML with: - Headings (

                ) for section titles: About Restless Development, Our approach to safeguarding, About YIGA, About the Role:, Key responsibilities, Programme Documentation and Storytelling, Communication of Results and Youth Voice, Digital Communications and Programme Visibility, Media and Partner Coordination, Communications Planning and Coordination, Ethical, Inclusive and Safe Communications, Other responsibilities, Qualifications and Experience, Essential (maybe). Also maybe "About the Role:" includes colon; we keep as is. - Paragraphs (

                ) for explanatory text. - Lists (

                • ) for each bullet point. We must preserve all textual content exactly, including punctuation, spaces. We must not add any extra text. We must not omit any content. We must not add any extra tags besides

                  ,

                  ,
                    ,
                  • . Also we need to close tags properly. We must not use
                    . For blank lines we can output empty

                    to represent them. Now let's extract all textual content in order, ignoring formatting tags, but preserving whitespace? We'll just output as we go. I'll go through the original and produce the HTML. I

    Apply Now ↗

    How well do you match?

    Get an instant AI match score for this role — free, takes 3 minutes.

    Tailor your CV for this role

    The concierge rewrites your whole CV and writes a matching cover letter for this job — opens right here, nothing to paste.

    Tailor My CV to This Job ✍️

    Free cover letter for this job

    Upload your CV and get a tailored cover letter in seconds — free, no account needed.

    Generate a Cover Letter 📝

MJC
ECHO
Your MJC Assistant

I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.

How was your experience with ECHO?