Lesson 4 - Activity 1 - What can we learn about roles from job listings?

Time: 15 Minutes

Introduction: In this lesson, we briefly covered some of the common roles in software development teams looking at the common activities they carry out and their necessary skills. Now it’s your turn to dig into these roles a bit deeper and see what you can discover.

Purpose: Having an awareness of roles that exist in software development teams is necessary to help you understand how software is made and know who you need to speak to depending on a given situation. This activity is designed to help you understand these roles more deeply.


  1. Pick at least one of the roles covered in the lesson
  2. Search for related job listings around that role.
  3. Make notes about the activities and skills the role requires and compare those to what we covered in the lesson.
  4. Share your findings on this thread to help others learn more about these roles and compare your findings.
1 Like

I picked the Coach role for this exercise and here is what I found:

• Work within a delivery team to provide mentoring of agile technical practices
• Guide and teach others using pair programming for:
○ Test driven development
○ Behavior driven development
○ Continuous Integration/Continuous Delivery
○ Automated testing
• Teach architectural principles through the process of emergent design
• Participate in team ceremonies as both a team member and mentor
• Provide observations and suggestions for improvement
• Work with other team mentors and coaches to collaborate on maturing the team and organization agile practices
• Assess and report outcomes to customers and management team.
• Help prepare teams to apply agile methodology in other industries.
• Develop a plan to prepare teams to learn agile methodology and train staff.
• Provide the leadership and knowledge needed in order to effectively expand or introduce agile methodology.


• Expert in one or more of the following languages and practices: Java &/or C#.NET, JavaScript, Android, iOS
• Strong experience in agile principles and technical best practices
• Strong automated testing skills
• Experience with the automated build process, unit testing and source code analysis tools
• Knowledge of Continuous Integration/Continuous Development
• Ability to assess and coach team to optimal agility
• Team oriented and possess strong interpersonal communication skills
• Comfortable working in a variety of social and business environments and multiple technology stacks
• Have excellent time management skills
• Capable of making quick and effective decisions
• Be a strong leader who is capable of training others

So, this is a long list of activities and skills required for some job postings I found online. What seems to stand out from these is that this kind of role requires knowledge from a wide range of technologies. I do not think that deep understanding is required but at least some knowledge needs to be present to take the role.


I had a look at some advertised roles for a “Scrum Master” and here is one I found:

Essential Skills And Experience

  • Solid and demonstrable commercial experience of being a Scrum Master (Certified ideally) in fast paced, Software (SaaS) house environment.
  • Vast experience of Agile (Scrum and KANBAN) processes - depth and breadth of experience across the full SDLC.
  • The ideal candidate will be well versed in working with the customer, internal stakeholders, and other Scrum Masters to identify, prioritise, and improve delivery of the roadmap, capabilities, and epics.
  • Good coaching and mentoring, including man management and leadership skills are required for this role.
  • Drive Agile methodology throughout the project / teams - ensuring the development teams are practising the core agile principles of collaboration, prioritisation, team accountability and visibility.
  • Experience leading multi cross functional teams made up of QA, Test, Developers, Architects BA, Product Owners between geographically dispersed locations within the UK.
  • Manage Product back Log and Sprint Backlog.

Desirable Skills

  • Any Scrum certifications will be highly desirable – Certified Scrum Master (CSM) or Certified Scrum Practitioner (CSP) / Professional Scrum Master (PSM I or ii) / SAFe 4 or 5 etc.

The skills listed for this role relate to alot of the skills listed in the lesson:

  • Leadership
  • Coaching
  • Creative
  • Good listeners and Communicators
  • Good at planning

I had a look at some advertised roles for a ‘Tester’ and here is an example of one:


  • Review functional and technical documentation
  • Prepare test estimations against user stories and tasks
  • Derive and prepare test data
  • Writing and Execution of Manual and Automated test scripts
  • Fault logging, escalation and monitoring
  • Prepare test plans, test specifications, test conditions & scripts and summary reports
  • Regression testing and User Acceptance Testing / monitoring


  • ISEB Foundation Certificate in Software Testing (Or equivalent)
  • Manual/Exploratory Testing & Automation Testing
  • Functional Testing & Regression Testing
  • Excellent communication skills (Will be working with various teams)
  • Jira for Defects & Project Management/Time Tracking
  • TestRail for Test Case Scripting

Desirable skills

  • Interest in working in the gambling/iGaming industry
  • Some experience in working in an Agile methodology
  • Some knowledge of automation testing tools

The skills listed for this role relate to a lot of skills in the lesson:

  • Good technical knowledge
  • Creative
  • Excellent listener and communicator
  • Fast learner
  • Critical and lateral thinking
1 Like

I chose Scrum Master, here is what I discovered about the roles requirements:

• Responsible for guiding the development of an agile team into an effective delivery unit with a sustainable cadence
• Responsible for ensuring the teams process evolves within organizational guidelines and standards of practice
• Must be able to nurture self-organizing, high performing teams through servant leadership and mentoring
• Facilitate project team meetings, project road-mapping sessions, gather feedback by presenting to all levels of leadership
• Encourage, support, and guide continuous improvement of the team, its products and processes
• Excellent communicator, able to gain the respect of the team, external stakeholders, and management
• Resolve conflict through arbitration, negotiation, reasoned discussion, or escalation
• Must be willing and able to identify problems, impediments, dependencies, and other team dysfunctions, and then facilitate quick resolution
• Facilitate agile activities and meetings, including sprint planning, retrospectives and sprint reviews
• Assist the product owner with keeping the backlog groomed
• Ensure cross-team coordination
• Reach out to the larger company network for impediment removal
• Maintain relevant metrics that provide organizational visibility and help the team see how they are doing

The skills discussed in the lesson were spot on for this role, you will need a bit of project management, coaching and leadership to succeed.

I chose Scrum Master because it was the role that was suggested to be the most evolving and potentially different by organisation. It also enabled me to look at Project Manager and Coach a little. The keys things I took from it were the differences to a PM or a Coach, which derive from the Agile methods. The importance on coaching/education of the Agile approach, not just within the team but stakeholders and those the team interacts with. Also the responsibility to keeping things running smoothly, whether that be facilitating meetings such as standups and retrospectives or trying to remove blockers impacting the team.

For this activity, I looked up a job posting for a QA Lead, and it appears it matches almost 100% with what was described in the course, with certain additional responsibilities added in.
The posting is for a QA Lead at Walter Code. You can find it here, as long as the link remains active - https://waltercode.com/jobs/qa-lead/
Basically, the posting covers almost all the responsibilities stated in the course - developing testing strategies, creating test scenarios, cooperating with developers, being up-to-date with new technologies. As required skills, the posting has the standard corporate blurb that the applicant should have strong organizational skills, to be able to work in a fast-paced environment, problem solving skills, teamwork skills, fast learning etc.
The major differences is that it seems to state certain duties that I would ascribe more to the roles of a scrum master and a coach, since the described activities include organizing meeting, teaching others and such.

Test engineers/QA testers/QC testers are responsible for:

  • To read all the documents and understand what needs to be tested.
  • Based on the information procured in the above step decide how it is to be tested.
  • Inform the test lead about what all resources will be required for software testing.
  • Develop test cases and prioritize testing activities.
  • Execute all the test case and report defects, define severity and priority for each defect.
  • Carry out regression testing every time when changes are made to the code to fix defects.

For the exercise, I pick the tester role on a software development

Qualifications, Experience, and Skills

Proven work experience in software quality assurance.
Strong knowledge of software QA methodologies, tools, and processes.
Experience in writing clear, concise, and comprehensive test plans and test cases.
Solid knowledge of SQL and scripting.
Experience working in an Agile/Scrum development process.

The Role

Review requirements, specifications, and technical design documents to provide timely and meaningful feedback.
Be an active member of Agile/Scrum development meetings.
Create detailed, comprehensive, and well-structured test plans and test cases.
Identify, record, document thoroughly, and track bugs.
Perform thorough regression testing.
Stay up-to-date with new testing tools and test strategies.
Assisting 3rd line support personnel in issue resolution/bug identification as and when the need arises

Now in comparison with the course…
Test products to discover information
Support shared understanding
Contribute towards delivery
Fast learning
Critical and later thinking
Excellent comunication

I picked role of Tester and this is what I found:
Key Responsibilities:
• Continuously learn new products from our portfolio
• Create and execute comprehensive test plans based on functional coverage
• Convert end-to-end user scenarios to test cases
• Execute defined test cases to uncover bugs and regression issuesReview and analyze business requirements and functional specifications
• Perform various test types at different levels
• Prepare test related documentation such as Test Strategy, Test Reports
• Use Jira to report and track progress
• Collaborate with the team to deliver high-quality product
• Take ownership of testing tasks and follow up until resolution
• Write and run tests on GraphQL API
• Write automated tests for mobile and web applications
• Investigate and report results
Candidate Requirements:
• 1+ year as a full-time, hands-on manual tester
• A genuine passion for quality and desire to grow and become a great global tester
• Familiar with the manual testing concepts, terms, and definitions
• Good proficiency in the English language3+ Years of experience in software testing
• Experienced in web, mobile and API testing
• Ability to debate technical problems
• Good understanding of programming concepts
• Hands-on experience with Automation Testing using Java
• Nice to have: GraphQL or Rest API testing experience
• Nice to have: Previous experience in mobile automation testing
Skill that are mentioned in the course and in my research are:

  1. Good Technical knowledge
  2. Learning
  3. Testing products
  4. Communication skills

I picked the role of a Tester

Key Responsibilities

  • Testing of overall Application
  • Deriving solutions on bugs and errors discovered on across multiple platforms

Candidate Skills;

  • Academic level of Undergraduate
  • Ability to see in detail
  • experiences in deriving bugs through software testing
  • Positive minded and passionate
  • high communication skills
  • posession of ISTQB or CTFL certificates or other related in IT

Common factors;
Bot job listing and the lecture describing Testers share the importance of being good communicators as well as being an advocate for a testing mindset.

I researched a Business Analyst role and found this for a job in the Energy sector:

• You’ll develop a deep knowledge of the ENSEK software products and solutions
• Understand and shape requirements into meaningful artefacts and backlogs
• Be part of a team delivering and implementing our award-winning software solution ensuring the needs of the Customer are met and where possible exceeded
• Consulting with business and technical teams (internally and externally) providing guidance and resolving ambiguity to ensure continued stakeholder satisfaction
• Providing analysis throughout the full software development lifecycle.
• Continually identifying areas of opportunity and improvement.
• You’re a trouble shooter – problem solving risks and issues which could impact project deliverables.
• Cultivating strong effective relationships with your communication skills
• Understanding and ensuring compliance with all regulatory organisations.

Key Skills
Agile You have an Agile Mindset and will have worked in an Agile environment previously.
Software You have experience of software delivery ideally in a fast-paced environment
Product You will have a willingness to learn and to pick up new products quickly and you’re interested in the Energy Industry.
Dealing with complexity You will have experience of being a BA in a complex, multi-faceted software environment. Our SaaS solution has many interdependencies and configurations which makes it a challenging environment but hopefully one you will love getting your teeth into.

The description gives a comprehensive view of the role breaking the required skills down into four key areas; Agile, software, product knowledge of the energy sector and dealing with complexity. Some of the main duties appear to be consultation,troubleshooting and communicating ideas for improvement.

Role: Software Tester

(from roles with titles such as Software Test Engineer, Software Automation Test Engineer, Junior Software Test Engineer, QA Engineer)

Activities include those related to testing product with some information discovery such as:

  • Participate in all aspects of QA product lifecycle: understand the product requirements, test cases creation, feature/regression/integration/end-to-end test execution
  • Construct test cases for the defined test plan; modify existing test cases if test requirements change
  • Find, precisely describe, reproduce and rate defects
  • Maintain testing documentation

With some more specifics:

  • Assist with automation design
  • Participate on automated tests development
  • Identifying suitable candidates, within the system, for automating.

Some related to shared understanding and improving delivery:

  • Review requirements, specifications and technical design documents to provide timely and meaningful feedback
  • Communicate statuses and escalate issues in timely fashion
  • Estimate, prioritize, plan and coordinate testing activities
  • Development Support – provide feedback to the Product Manager and Development team

Communication is included:

  • We are a close-knit team and collaboration is key in everything we do …
  • Communication is key to this role and the ability to work with both technical and non-technical users to allow you to solicit feedback …

As are behaviour and approach:

  • Act in a professional manner at all times as is consistent with the aims and values of the company
  • Be self-driven, with focus on achieving team goals and overall project delivery milestones
  • Willingness to work beyond normal business hours as appropriate
  • Willingness to travel (infrequently) to support our worldwide business

With some possibly beyond the basics:

  • Product Support – provide technical support for customers worldwide and assist our clients.
  • Marketing Release Support – generate relevant data to support product releases
  • Undertake special projects and fulfils other duties as may be required

Skills tend to be more specific than ‘good technical knowledge’ though can include general testing experience:

  • Experience of software testing
  • You will know testing like the back of your hand and be able to demonstrate your knowledge of using test design techniques, exploratory testing and an understanding of test environments.
  • You will need to have experience working within a development environment

And some more specific technically:

  • Working within an Agile framework.
  • Experience with good source control tools (Git or similar)
  • Working experience with CI / CD tools like Jenkins, CicleCI (starting builds, checking statuses).
  • Any experience of Automation would be of advantage
  • Ability to design, implement auto-tests from scratch for the new functionality
  • Code literate with scripting, database and querying skills
  • Development experience (C++(beneficial), Python)
  • Knowledge of basic JavaScript
  • Experience with JavaScript end-to-end testing UI frameworks
  • Experience with mocking tools, performance testing tools, etc.
  • Experience with bug tracking tools (Jira or similar)

Communication skills can be present:

  • Excellent verbal and written communication skills in English as well as good interpersonal and networking skills
  • Able to influence and challenge where appropriate but also shares ideas and listens to views and opinions

With some critical and lateral thinking:

  • Naturally intuitive, observant and curious

With some additional behavioural/educational entries:

  • Excellent attention to detail analytical and solution driven
  • Relevant university Degree
  • Applicants must have the right to work in the UK
  • Diligent, hardworking, and willingness to learn.

Role: Tester


Executes Functional / NF test cases. Tracks and reports on the test execution in a timely manner with attention given to achieving a high level of quality.
• Gathers and documents the outcome of test executions and all information needed to support ongoing measurements and reporting on risks, defects, tests, and coverage.
• Coordinates with Development and Infra teams/peers on the resolution of issues, overseeing the testing progress and ensuring that high standards of quality are being met.
• Compares and analyzes system behavior vs. expected results/KPIs based on business and technical requirements.
• Identifies issues, proposes system improvements and performs repetitive test execution to resolve identified issues.
• Contributes to the design of test scenarios and performs peer reviews of test cases.
• Evaluates test exit criteria to assess if additional tests are required or if test scenarios need to be adjusted.
• Participates in and contributes to internal design reviews of testing materials.
• Active participation in all scrum meetings.
• Write detailed test cases to maximize functional coverage (test rules, test cases, boundary conditions, negative scenarios etc.)
• Analyze the Acceptance Criteria for new features and point out ambiguities or potential issues.
• Assist all teams with process documentation, testing and knowledge transfer.
• Work with the team to resolve Defects.
• Supports and promotes test efficiency and optimization initiatives. Leverages knowledge across test Implementations and projects and defines best use/ reuse of testing tools and best practices

I found this QA Tester Job posting, for the reference, I am marking against each responsibilities and skills to mention if it has been covered during the lecture or not.

Review and analyze system specifications List item :white_check_mark:
Responsible for finding and reporting bugs and glitches.:white_check_mark:
Report bugs and errors to development teams :white_check_mark:
Execute test cases (manual or automated) and analyze results✅
Conduct post-release/ post-implementation testing
passionate about quality :white_check_mark:
Work with cross-functional teams to ensure quality throughout the software development lifecycle :white_check_mark:

In this role, you should have a keen eye for detail and excellent communication skills. :white_check_mark:
Ability to document and troubleshoot errors
Attention to detail :white_check_mark:

What I understood by sorting responsibilities and skills, we have covered most of the topics during lecture. Apart from this specific requirement ‘Conduct post-release/ post-implementation testing’ and skill to ‘document the errors’.
If we can add in our lecture skills that testers should have good writing skills too then it will be a perfect matching skills.
I don’t get this ‘Post Implementation testing’, If anyone please elaborate about it more then it will be good for me.

Here is an advertisement from Indeed.com for a role as a Software tester at Reflex data systems. I will share the main job description, and then point out some differences between the profile of a tester given in the ‘Who Works in a Software Development Team’ section of the Introduction to Software Development and Testing course.

Job Description

Reflex Data are an IT company based in Hull with over 30 years of experience, developing and maintaining bespoke ERP software applications and integrated solutions. Due to continued growth in the UK and in overseas markets we are now looking to recruit a Software Tester.

The successful candidate will be joining an expanding team and play an important role within the Development Services Team. This is a fantastic opportunity for anyone looking to develop a career in Software testing, or for someone with experience in ERP software to grow and drive forward their careers with an innovative employer who, to date, has year-on-year growth within their sector.

It is expected that you will come from an environment where you are testing, or using business applications, and that you are looking for new challenges.

Main Duties and Responsibilities

You will be responsible for the testing of software that is produced by our Development Services team. You will be expected to design and execute tests in order to confirm the quality of new and changed software. The test scripts must capture and support functional, integration, performance and regression tests. Results and defects of executed tests will be recorded within TestRail. You will also be expected to manage the test environments and play an important part in release management.

Software Tester - Reflex Data Systems

You will be working with our Development, Professional Services and Support teams to provide an excellent service to our customer.

Essential Skills

  • Interpret requirements to design and create test cases

  • Execution of test scripts

  • Clearly and accurately record progress and results of test execution within TestRail

  • Report defects to the Developer

  • Confirm successful completion to the Release Management Team

  • Adhere to deadlines, prioritize work and provide progress reports

  • Be involved in new process improvements within the team

  • Build working relationships with customers, colleagues, technical and support teams

  • Strong analytical skills

  • Good communication skills, both verbal and written, with keen attention to detail

  • Must be able to work effectively as a team member

  • Confident and professional work ethic

  • Ability to plan and carry out work when regularly unsupervised

I will now list some similarities between this job description, and the description given by ministry of testing.

What I noticed first in the advert for this role, is that the essential skills section of this job advertisement covers everything that was mentioned in the introductory course, although worded differently. Skills such as testing the product and giving feedback are immediately referenced. where the ad says ‘Clearly and accurately record progress and results of test execution within TestRail’ and ‘Report defects to the Developer’, these skills both relate directly to the ability to discover info about the product through testing, which can then be used to support a shared understanding of the product by other members of the development team.
The differences I noticed were primarily to do with a lack of the creative mindset mentioned by ministry of testing, which is not mentioned in this job advert, nor is the ability to think critically and laterally. This ad focuses more on the base skills of the applicant, rather than the traits the applicant has as a person, which I believe are extremely important in a software role, where a keen eye for detail and excellent communication skills are valuable.
Another difference is that this job role mentions the customer service side of the tester role, mentioning that it is essential that the applicant can build strong relationships with colleagues and customers alike. I believe this does however relate to the ministry of testing course, when it is mentioned that a Tester should be an excellent listener and communicator, and that they should contribute towards improving the delivery of the product.



  • Report and track bugs and issues
  • Test current products and identify dependencies
  • Investigate product quality to make improvements to achieve better customer satisfaction
  • Collaborate with the squads to ensure great customer value
  • Identify quality assurance process bottlenecks and suggest actions for improvement
  • Participate in internal meetings and external client meetings


  • Good organisational skills and sharp attention to detail
  • Good English, both written and verbal
  • Fluent Swedish
  • Strong communication skills
  • Have a knack for identifying and documenting bugs and issues while also being able to understand the cause and finding reproduction steps
  • Eager to learn and interested in our client’s needs
  • Previous e-com experience and understanding
  • Experience using Gitlab
  • Experience in Web testing and automation
  • Experience in API and integration testing
  • Experience in Zephyr/Jira testing tools

Hello, I understand a question or task that you set for this Lesson 4. BUT, as I am familiar with some roles, such as a Product Owner, Project Manager, Team leader, Scrum master, Coach, etc., can I choose not to answer this concrete question and just write some remarks?
My opinion is that developers, designers, and testers are key roles in software development. This is the reason why: all other roles are more of the “managing roles” and the idea of them is ok, but in reality, all these “leading” roles are more ones that diverse from concrete work, than to help in work or development. I hope that I haven’t made an offense to anybody.

The role I picked which was covered in the lesson was project manager and one job for project manager in software development was an Agile Project Manager. However, one activity that is required of the project manager in software development is that a project manager remains at the center of all the planning and organizing that goes on during the periods leading up to and in the course of any project. However, one skill that is required of the project manager in software development are troubleshooting skills.

The role I decided to do research into was an operations engineer. One thing that stands out is the immense amount of technical knowledge required in many different frameworks such as “Python, PHP and AWS” which ties in with being a confident coder and “the ability to work deadlines” will also require great planning skills.

One skill which was mentioned in the job listing but not explicitly in the video however, is strong communication skills.

“In addition to your considerable technical prowess, you will have good interpersonal skills and a knack for explaining complex technical matters in a clear and easy to understand way”. In a job that demands such strong technical skills it makes sense that you would want someone who can communicate the complexity in a concise way without sounding like they are speaking a completely different language.