Git Product home page Git Product logo

events's Introduction

events's People

Contributors

alabeduarte avatar dropbeardan avatar fagnermartinsbrack avatar rodolfoprr avatar thibautgery avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

events's Issues

Dojo on event-driven/reactive approaches

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

learn and practice our skills on event-driven and reactive approaches.

Parser generators for developers in a hurry

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Parser generators for developers in a hurry

Comments

I have been developing software since 2001. Up until last year, I was not very familiar about parser generators, nor did I care much.

But last December I was assigned on a client project to develop a calculator to help end users establish the likely rebuild cost of their house. The formulae that defined the rebuild costs were stored in a database. In order to evaluate a final dollar value for a given property we would have to load the formulae, parse them and then evaluate them at runtime.

I would like to share my learnings with ANTLR, a parser generator for the JVM that offers a clean and decoupled way to express grammars and walk parse trees elegantly.

This is a blog post I did when the project finished:
Parser generators for developers in a hurry

When to use a library or framework

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

When to use a library or framework

Comments

As Software Crafters we love building things. However, that can sometimes backfire.

How can we avoid the NIH syndrome and where do we really draw the line, if there's any?

Here's another related discussion from another community.

Lightning Talks

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Let's have a Lightning Talk session about anything vaguely related. Talk should be 5 mins + 2 mins of Q&A.

I've found Lightning Talks a great way to learn about new things and to practise speaking in public.

Total session time: 1 hour

Comments

Leave your proposed talks below and I'll collate them.

Code Retreat

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Code Retreat: A Coderetreat is a day-long (we can adjust to fit between 6pm to 9pm), intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice away from the pressures of 'getting things done', the coderetreat format has proven itself to be a highly effective means of skill improvement more...

Coderetreat has an established, time-tested format that is optimised for focused practice.

  • Problem: Conway's Game of Life
  • Length of Session: 45 minutes
  • Duration: 6pm to 9pm
  • Pair-programming is necessary, as the knowledge transfer contained in that activity is essential to the practice
  • Prefer using Test-Driven Development (TDD)
  • After each session, pairs should be swapped
  • After each session, code must be deleted, not put in a branch, not stashed, just deleted with no trace left

The Day

The coderetreat day consists of 5-6 sessions but for this one, we might consider having 2-3 sessions due the short time. Each session's learnings building upon previous sessions.

Below is a rough outline for the day.

  • 6 - 6.45pm : arrival, dinner
  • 6.45 - 7pm : welcome, introductions, explanation of the problem
  • 7 - 7.45pm : Session #1
  • 7.45 - 8pm : retrospective, break
  • 8 - 8.45pm : Session #2
  • 8.45 - 9pm : retrospective, break
  • 9 - 9.30pm : Closing circle

Session 1

Allow pairs to get a feel for the problem domain. Not everyone has seen Conway's Game of Life before, so this session will allow them to wrap their head around the task. After the first session, it can sometimes be useful to discuss the idea of deleting the code. Some people might have a bit of resistance to the idea. Gently explain that those are the rules.

Session 2

Suggest that teams begin to stretch themselves. Discuss polymorphism as a better solution than boolean flags. Further, reinforce the avoidance of primitive obsession. Push heavy exploration of abstractions.
Another option is explain to teams that the night is about going past any self-imposed limits. Below are some constraints that can be introduced, chosen based on the experience of the individual pairs.

  • No if statements
  • No loops
  • Small Methods (<5 lines, 1-line?)
  • No language primitives
  • TDD As If You Meant It

Disclaimer

All description above came from coderetreat website with a few adjustments to our context.

Talk + Discussion: Presenting a decoupled NodeJS application and discussing about tradeoffs of approaches

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

I have this project I've started some time ago and I'm trying to build it using an incremental approach. The project is just an experiment. There's an architecture view I've been putting into it and some aspects of it have been implemented.

There are some problems with some approaches that probably have a solution. Or maybe the whole approach is wrong.

The idea is to sit down to hear the decisions in building this projects and discuss the pros and cons of each of the decisions and the solutions to solve some of its problems.

Comments

The project is built as a monolith where the code is separate by feature folders and each folder is deployed and started as a separate server. The front-end is built by the server by reading the HTML generated by each of the services and composing them in the main index.html page.

The requirement is that any solution should not use a framework and we should discuss the architectural tradeoffs. Using a framework avoids us from learning about the architecture.

It's ok to suggest libraries for common things that are not core to the purpose of the project, such as using Express to start the server.

Horizontal segregation and multi-disciplinary/cross-functional teams

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Horizontal segregation and multi-disciplinary/cross-functional teams

Comments

It seems today that having segregated roles such as frontend, backend, mobile, DevOps, QA has become the go-to approach for software development. While it seems right to have these roles within a team, more often than not these "cross-functional teams" tend to work very waterfall-y. Instead of moving people to work, we move work to people. If, for example, the frontend person is out sick for a week, the team won't deliver anything because, although this is a "cross-functional team", only that person is capable of doing that kind of work. It creates bottlenecks, stories become tasks, we end up managing people instead of work to be done… Anyway, I don't want to turn this into a rant… just an idea for a fishbowl. 😄

(…)
as haiku
The soil is dry--
the irrigator has gone
I start to water
James Shore

Mini Unconference

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Mini Unconference about the crafting of software.

Comments

Schedule

6:30 - 6:35: Introduction
6:35 - 6:45: Topic Proposals
6:45 - 6:50: Crowd source Scheduling
6:50 - 7:35: Session 1
7:35 - 8:00: Break
8:00 - 8:45: Session 2
8:45 - 9:00: Aha moments & Wrap up

Coding Dojo: Taking Baby Steps

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

DOJO: Practise focusing on a single idea while coding by taking baby steps.

Implement Noughts & Crosses (aka Tic-tac-toe) with the constraint that you must commit within 2 mins or else your changes are reverted. This kata based on Taking Baby Steps

The rules are the following:

  1. Setup source control repository.
  2. Setup a timer for 2 minutes interval when you start.
  3. Write exactly one test
    If the timer rings and the test is red then revert and start over.
    If the test is green before timer rings then commit.
  4. Restart timer (no discussions in between timers)
  5. Refactor
    If the timer rings and the refactoring is not complete then revert and start over.
    If the refactoring is complete before the timer rings then commit.
  6. Restart the timer (no discussions in between timers)
  7. Go to 3.
  8. When session time is up delete the code.

This should last around 1 hour.

Comments

I've found the practice of committing often, typically every 15 mins, helps me focus on making small distinct changes.

Professionalism/Ethics/Privacy

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Professionalism/Ethics/Privacy

Comments

I checked both Proposal and Request as I think this might be a good subject for a round-table type of conversation (perhaps another fishbowl?)

Tech Interviews - Tradeoffs

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Tech Interviews - Tradeoffs

Comments

Run an exercise where the group would run a tech interview with each other the same way they do at their company. We could look at different interviewing styles, then analyse their tradeoffs and accuracy based on certain success metrics previously agreed upon.

Proposal talk: Frontend test

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Test on every front

Comments

Mastering and write reliable code is now essential for any developer who faces increasingly rich and complex web architectures. There are tools to perform web application testing underused and address the needs for quality development.
The talk is about different type of testing like unit test, integration test, security test, cross-browser test.

Titles/Roles/Seniority

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Titles/Roles/Seniority

Comments

Another Proposal/Request type of conversation. As one of the guiding principles of software craftsmanship is mentorship, how do we talk about titles/roles/seniority when all we want (my opinion – open to discussion too 😄) is to foster an apprenticeship model.

What would you say to your younger self?

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

What would you say to your younger self?

Comments

I believe this could be interesting not only for those who are taking their first steps in the software industry to learn, ask questions… but also for those who had been doing this for quite some time to reflect on their careers and appreciate what they learnt and share.

I was thinking of an interactive session of some sort. Not sure how yet, but perhaps something like a fishbowl, or a round table…

Lightning talk around feedbacks

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

How to make the right product, the right way, with the right team using correct feedback

Comments

In around 15 minutes or so I will explore how to correctly use quick feedback to improve your code, your product, and your team organization.

Mob Programming on a TCR problem

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Try out one Kata using the strict TCR approach then reflect on the tradeoffs.

Comments

Some content on TCR:

Original TCR post by Kent Beck: https://medium.com/@kentbeck_7670/test-commit-revert-870bbd756864
Kent Beck shows how TCR looks like on video: https://www.youtube.com/watch?v=ZrHBVTCbcE0&feature=youtu.be
Kent Beck talks about TCR on a podcast: https://hanselminutes.com/663/test-commit-revert-with-kent-beck

[Proposition] DOJO Bowling score in Haskell

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

DOJO: Using TDD and Haskell and from scratch, I propose to create a bowling score application.

This should last around 1h or 1h30

We can either do it using:

  • Randori:
    • we turn every 10 minutes (or so)
    • there is one writer and one copilote
    • everyone is coding
  • Kata:
    • there is one spreaker/writer/coder
    • the others comment and challenge the solution

Comments

This is a nice introduction to functional programming and Haskell which help me improve my skills

I am not sure on how to use the issue system, should we propose concrete solution or is it more meta, like looking for a type of presentation.

Disclaimer: I am not a Haskell expert but I will prepare the exercise.

Automation Mindset Presentation

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Automation Mindset

Comments

Successful people are not successful because they have more will or discipline. Successful people are successful because they make things automatic so they can free up their brain to think and innovate.
In this session we will tackle the cultural aspect of automation to enable success. You will learn:

  • Choosing 'what to automate?' to maximise ROI.
  • How to shift automation left?
  • The mindset required for automation to be continuously successful!

Domain Driven Design

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

Subject

Domain Driven Design

Comments

I think this is a good subject for a talk (interactive), specially with the rise of microservices these days.

Soft Skills

Is this a proposal or a request?

  • Proposal (I'm sharing)
  • Request (I'm learning)

I'm starting to think this ☝️ might not be very useful for round-table type of conversation suggestions… 😁

Subject

Soft Skills

Comments

What kind of soft skills do you think are necessary for someone in the software industry and how do we develop/practice/improve them? Here are some suggestions to kick off:

  • Communication
  • Empathy
  • Leadership

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.