Scrum – All you need to learn to get started.

Scrum is one of many implementation / interpretation of Agile.

Agile(Agile Software Development) is all about being the ability to make changes in your direction (It’s not about being fast)
Agility is achieved by short feedback loops and Scrum is one systematic way of getting those short feedback loops.

Why Learn Scrum?

you might be a developer that will be joining a team that uses scrum (very common!), you may be a non-tech person hoping to join a devteam to get started with roles like QA,Product management, project management.
Or you may just want to learn scrum and implement it in your worker (yes scrum is not just for software development).

Before you start with scrum, read about the Agile Manifesto first

https://agilemanifesto.org/
and the 12 principles of agile https://agilemanifesto.org/principles.html

Next you can take this 10minute crash course on scrum

Last, get this comprehensive Scrum guide

so you can have a guide for each of the Scrum Roles, Events and Artifacts.
https://www.scrum.org/resources/scrum-guide

What programmers don’t tell you: we join FREE events and watch people present about what they know

https://www.meetup.com/

Meetup.com

  • Meetup.com is a site where we find various groups to join.
  • there are many Programming related groups
  • newbies to the tech (or niche of a group) are often very welcome (since most groups aim to grow their community (you don’t need to be an expert to join them!)

How are meetups/events run?

  • groups often set a regular meetup date
  • there are assigned speakers (volunteers from members) per meetup, (attendees can just sit back and watch,observe,learn and ask questions)
  • meetup venues usually changes per meetup event (since they always look for companies willing to lend a space
  • the venue host often provides snacks too (often pizza..and beer)

What can i get from these events?

  • new knowledge, if you continuously attend a group for a topic you don’t know, you will eventually learn them and be more familiar with them
  • this allows us to learn what other people our doing (so we are not restricted to use-cases, experiences within our current company)
  • this can help us expland our network and potentially find people who can help us learn and even find job opportunities.

What programmers don’t tell you: we invest time on a problem tool/tech before asking ourselves “SHOULD WE?”

most of the time we get invested on a tool/tech/problem and we just can’t move on without scratching that itch.
we often think about “COULD WE?” rather han “SHOULD WE?” so we push the idea/tool/tech even if it is not really needed

be careful of this pitfall

see this anime clip to see how it’s like

https://www.youtube.com/watch?v=LBurt9KIdoY

Clean code is simple and direct

[et_pb_section][et_pb_row][et_pb_column type=”4_4″][et_pb_text]
wtf_per_minute_from_coding_horror

image from Jeff Atwood’s Coding Horror blog

Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designer’s intent but rather is full of crisp abstractions and straightforward lines of control.

Grady Booch author of Object
Oriented Analysis and Design with
Applications

I could list all of the qualities that I notice in clean code, but there is one overarching quality that leads to all of them. Clean code always looks like it was written by someone who cares. There is nothing obvious that you can do to make it better. All of those things were thought about by the code’s author, and if you try to imagine improvements, you’re led back to where you are, sitting in appreciation of the code someone left for you—code left by someone who cares deeply about the craft.

Robert C. Martin, Clean Code: A Handbook of Agile Software

https://dzone.com/articles/what-clean-code-%E2%80%93-quotes

[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]

Code Reviews

code reviews are meant to uphold an agreed upon standard

it is not an avenue to project your personal coding style to others.

1. build a standard
2. apply the standard via reviews
3. repeat step 1.

code reviews should have goals like
1. syntax
2. formatting
3. tests completeness (path coverage)
4. design adherence (oop, principles)
5. security (looking for insecure functions, known bad patterns, misuse of code,etc)
6. achieve consistency over cleverness
7. make the code look as if it was written by a single person
8. uphold project health

most of things listed above can be automated.

it is not meant to validate if another person’s way of coding matches yours

i’ve lead teams before, all of them were successful thanks to my cooperative teammates who helps me grow and uphold the standards via an objective process

to all aspiring tech leads, i hope this helps you the way it has helped me.

Free Courses from PluralSight #FreeApril

https://www.pluralsight.com/offer/2020/free-april-month

Pluralsight is a learning resource like Udemy that provides training videos and Paths (mostly for software development)

what’s immediately seen on the menu
some pluralsight courses
some courses under “Security” which i will check this weekend



Register now (no credit card required)
and try them out their courses for a whole month!
https://www.pluralsight.com/offer/2020/free-april-month

If you feel overwhelmed about starting courses like these, please remember that you do not need to finish them in one sitting (not many people can do that!), just select a topic that piques your interest, and watch one or two videos a day, that would go a long way into learning new ideas or sparking your interest for further learning.

I hope we all learn something new this weekend 🙂
https://www.pluralsight.com/offer/2020/free-april-month

Security: Keep yourself updated via SANS newsletters

from https://www.sans.org/newsletters/newsbites/

SANS NewsBites is a semiweekly high-level executive summary of the most important news articles that have been published on computer security during the last week. Each news item is very briefly summarized and includes a reference on the web for detailed information, if possible.

Spend five minutes per week to keep up with the high-level perspective of all the latest security news. New issues are delivered free every Tuesday and Friday.

Why we need to build positive work environments

[et_pb_section][et_pb_row][et_pb_column type=”4_4″][et_pb_text]

we need good work to happen naturally, and to do that we need to start with Psychological Safety,
https://www.impraise.com/blog/what-is-psychological-safety-and-why-is-it-the-key-to-great-teamwork

This list came from Google’s quest to find the perfect team, Project Aristotle

image source: https://www.impraise.com/blog/what-is-psychological-safety-and-why-is-it-the-key-to-great-teamwork

[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]

S.O.L.I.D. Principles (Draft)

creating modular (easy to modify safely) systems

This a concept popularized by Robert Martin (Uncle Bob)
He did not actually invent them, more like he grouped them together and coined the term “S.O.L.I.D”

i will post my own short explanations soon about each concept soon but for now you can refer to this awesome blog post https://www.gamasutra.com/blogs/AlistairDoulin/20110228/89069/SOLID_Principles_for_Game_Developers.php
or watch Uncle Bob explain them

other topics include Bounded Context, Domain Boundary.

logical grouping of (abstract) concepts like taxonomy

Bored during WFH? try listening to some Robert Martin (Uncle Bob) Lectures

[et_pb_section fb_built=”1″ _builder_version=”3.22″][et_pb_row _builder_version=”3.25″ background_size=”initial” background_position=”top_left” background_repeat=”repeat”][et_pb_column type=”4_4″ _builder_version=”3.25″ custom_padding=”|||” custom_padding__hover=”|||”][et_pb_text _builder_version=”3.27.4″ background_size=”initial” background_position=”top_left” background_repeat=”repeat”]

Uncle Bob is the author of the famous book “Clean Code”

and is the one who organized/coined the S.O.L.I.D. Principles

[/et_pb_text][et_pb_text _builder_version=”4.4.1″ hover_enabled=”0″][/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]