Skip to content

Lesson 0x05 - liam #65

@daitanfutekina

Description

@daitanfutekina
  • Click the "assign yourself" link. (look right ➡)
  • Click "Submit new issue". (look down ⬇)
  • Check each checkbox when you complete a step.

Introduction

In this lesson, you will learn an overview of the engineer's role in product development. You will be placed in your teams and learn about the final project requirements. You will get to try out either the Product Manager, Designer, or Engineer role! Next class, you will switch roles.

By the end of this lesson:

  • you will learn about the Engineer role in tech and development, and the Engineer's guide to building
  • you will get into teams and learn the final project requirements
  • you will use the feature idea and wireframe you created from last class to brainstorm new features in your teams
  • you will get to try out the role of either Product Manager, Designer or Engineer

Warmup - Mini Coding Challenge

  • You will get into groups and do a mini coding challenge.

Introduction to Roles - Engineer Overview

  • What image comes to mind when you think "engineer"? Many people think software engineers just sit at their computer writing lines of code all day. However, this role has many different aspects to it and uses lots of skills!
  • By definition, a software engineer uses Computer Science and Programming principles to develop software solutions, build digital products, database programs, and computer systems for businesses.
  • "Most developers create applications with the user experience in mind. Behind the scenes, they have to juggle multiple software projects and consult with their coworkers on how things should be done instead of just coding the entire time." - Xavier, Software Engineer at Codeacademy
  • Engineers get to collaborate with other people, such as Designers, Data Scientists, and Project Managers.

What does an Engineer do?

  • Collaborate with other people, such as Designers, Data Scientists, and Project Managers - as you will learn in your teams, development is a group effort!
  • Review others' code, do research, and meet with other teams to find the best solution and processes for whatever problem they are trying to solve or feature they are building.
  • Develop a functional piece of software
  • Run tests to see if there are existing bugs to remove
  • Other related roles that have overlap with an Engineer are a Programmer and Web Developer. You may see these terms used a lot, later on in your career journey. Often, they are different names to describe the same role. For example, some companies call programmers web developers or front-end engineers, while others may call them software or UI (User Interface) engineers.
  • Web developers are focused on building user-facing applications. Software engineers are more likely to work on computer systems as a whole.
  • Did you know? Only 2% of employed engineers are Latinas. Development is a male-dominated field, which can be discouraging. We need more Latina and women engineers! Knowing about the lack of diversity in the tech world is all the more reason to keep pursuing your passion in coding, break these barriers, and believe in yourself!
  • Field was founded by women - will add info here*

Engineer's Guide to Building

  • Now we will learn how an engineer turns an idea into working software...
  • 1. Think about... what problem is your idea trying to solve? Who is the target customer? What kind of user experience do you want them to have?
  • 2. Consider the Why, What, and How. Here are a few more questions to get you started:
  • Why do I need this feature?
  • What am I trying to fix or improve?
  • What do I need this feature to do? And what do I need it to not do?
  • How can I solve my problem most effectively? Is there any other way?
  • 3. Prioritize the most important steps first and do research to find resources that can help you write the code.

***Definitely need to add more to this building guide above and get more specific... help pls:)

Example - Adding Confetti to SparkleHub

  • For example, if we wanted to add confetti to SparkleHub every time someone recieves a Sparkle...
  • 1. The problem the idea solves is adding more fun to SparkleHub. The target customer is us Code Chicas. We want them to have a more interactive experience on the application.
  • 2. Why, What and How:
  • We need this feature to let the user know they have successfully recieved or sent a Sparkle.
  • We are trying to improve the experience on SparkleHub, making it more dyanmic.
  • I need this feature to make multi-colored confetti appear whenever a user sends or recieves a Sparkle, with a message "You got a Sparkle from @user!" to the recipient, and to the sender, "You sent a Sparkle to @user!"
  • ***I need help with this part as I'm not sure how we'd actually build/ code the confetti
  • Instructor will now demo adding confetti feature to SparkleHub, from the perspective of an engineer.

Activity - Meet your Teams!

  • For your final project, you will be collaborating in groups and wearing different hats, to give you the feeling of working in a real development environment!
  • First, you will get to choose your groups. If students can't choose, the Instructor will assign teams.
  • Then, once you are in your groups, choose one of the tech roles (Product Manager, Designer, Engineer). Each class, team members will switch and rotate roles!
  • Share your feature idea & wireframe from last class with your team.
  • As a group, choose 1-3 features to move forward with. Each team has to build at least one feature, if you’d like to include more, you have to prioritize which is most valuable.

Final Project Requirements

In groups, you will create 1-3 new features on SparkleHub. For each feature, provide:

  • Product Manager Guide
  • Definition of the feature
  • What is the issue you are solving?
  • How will you know that the feature is done?
  • Wireframe of the feature(s)
  • Working software

Group Roles: (will switch each class)

  • Product Manager: comes up with new feature
  • Designer: comes up with a wireframe of that feature
  • Engineer: fixes bugs, implements incomplete feature

Discussion

Please add a comment to this issue to answer the following questions:

  1. What does an engineer do, in your own words?
  2. What feature is your team building on SparkleHub?
  3. What tech role sounds the most interesting to you?

Conclusion

In this lesson, you learned an overview of the engineer role in development, and how they build features. You met your teams that you will be working with on the final project, and chose a role. You began planning out your teams' feature(s).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions