@allenholub Building and factory terms do not work for software. Instead try to use experiment words. Iteration, trial, test, pilot, observation, research, outcome. For software, time and destination are unknown and are emergent. You discover along the way.
@CFDevelop So the team can debate how to solve a problem. Sometimes folks think a problem is hard when someone else comes up with a simple solution. Don’t think of it purely as a capacity planning exercise.
Know the problem you are solving.
Make your work visible.
Work together.
Create simple things in small steps.
Be meticulous about composition.
Validate before, during, and after.
Release ridiculously often.
Automation over documentation.
#SoftwareDevelopment
@davefarley77 Just because you are the lead doesn’t mean you make all the decesions nor everyone does things your way. And you don’t approve all PRs. I’d suggest being a servant not a bottleneck.
I'm excited to be presenting How To Turn the Software Team Around at DevOps Enterprise Summit Virtual – US https://t.co/1vlWHPsqXU @ITRevDOES #DOES22@sched
@davefarley77 To me fullstack means you can setup the database schema, do CRUD operations, make the api, make the front-end call the api, and do the css, html, and JavaScript.
@allenholub@jacobmparis Let’s use Atlassian. You have Jira, Bitbucket etc. The Jira team wants a new hook to mark stories done on commit. You would need to share services that span products to make that work. The Jira team would ask the Bitbucket team for a hook. Jira team wont write that themselves
@jacobmparis@allenholub You may be thinking small company. Working in an enterprise with 1000s of engineers and multiple products you are bound to use eachother’s services. You can’t have a team with an engineer from each shared service. Think like auth, marketing, sales, service etc
@allenholub In an enterprise you might need another team to do work like build a new API endpoint. Think shared services like CRM. These 2 teams have their own priorities. You could stall a company if isolated teams only picked whats important to them. You need a methodology to coordinate
This is a great value-add managers can do for a team. Don’t be a jerk about it when they decline. Be helpful. Inform the team when something slips and enable them to improve the metrics.
@pati_gallardo Every programmer should have knowledge of architecture choices e.g. NoSql vs SQL. lambda vs container vs VM. REST vs Graphql. Caching tools & patterns MFU vs MRU vs LFU etc. You need to make these choices regardless of language
@hhariri I’d say working for someone who you believe is out for you and not out for themselves. Someone who encourages positive behaviors and traits in others.
@GergelyOrosz The team lead sets the tone. If the lead is territorial or tells people to “stay in their lane” you are hosed. That mindset stays around for a long time and people don’t try to grow for fear of doing more than they are told too.