Soft Skills & Testing
Notes from a FrontendMasters course: Software Developer Success: Soft Skills & Testing
Ramping Up in a New Team​
- Ask questions! Don't feel embarrassed, especially at the start.
- Pair program with others or shadow another engineer that's been there for a while.
- Good to observe and see how the team or company usually works.
- Which parts are good and bad in the codebase.
- Patterns to follow.
- Testing state.
- PR processes and feedback norms.
- This doesn't mean to just follow it, but it's good to see how things are currently being done.
Time Estimation​
- Tasks are generally flexible.
- Common obstacles when executing tasks:
- Under-communicating
- Not understanding how long a task will take.
- Not having enough information about the task.
- Some things you can do to avoid going over deadlines are:
- Seek help.
- Notify when blocked as soon as possible.
- Spike the Task:
- Spike is an agile term.
- Go into each requirement at once upfront.
- This gives you the chance to see how much time and effort is going to be needed.
- Helps give you an understanding of what's to come and if you need more help.
- Testing and requirements are all being implemented in amongst each other.
- Practice Breaking Down Tasks.
- Understand the lifecycle of bringing a feature to life so that you know how long it will take.
- Over Communicate:
- What:
- What is done.
- What is in-progress.
- What are blockers.
- What is at risk of not being delivered.
- Who:
- Manager.
- Teammates working on the task.
- Stakeholders relying on the work.
- What:
- Gather info:
- What is the task
- Validation steps
- Who are the stakeholders
- Who is relying on it
- Why the task matters
- When is it needed
Feedback Loops​
- Weekly or bi-weekly feedback sessions.
- You want timely feedback.
- Ask specific questions:
- What areas can I improve upon?
- How did I go on that journey?
- What goals or objectives should I focus on for the next couple of months?
- How do you gain visibility into my work?
Asking for Help​
- Trying not to trigger your imposter syndrome.
- Timeboxing.
- Treat each Q&A session as an opportunity to build trust:
- Show your due diligence.
- Collaborate on a final solution.
- Clarify assumptions.
- Express gratitude.
Surface your Accomplishments​
- Managers are busy, sometimes work can go unnoticed and unnoticed work could be mistaken for inactivity.
- Sometimes its important to visualise your achievements, impact and work.
- Advocate for yourself.|
- Rewards & Promotions are subjective and given out by people based on results and trust.
- How to surface your accomplishments:
- Create & Regularly update a brag doc.
- Create regular communication loops with manager.
- Understand the promotion and rewards process.
Opportunities​
- It is important (for fast career growth) to foster your own opportunities.
- How to get more opportunities to come your way:
- Build relationships of trust with those around you.
- Create your own, ask for more work.
- Relationships drive opportunities.
- Collaboration and respect are important, in order to get put on the big projects, you need to work well in a team.
Active Listening​
- You must attune with the speakers feelings and thoughts.
- Cognitive: Paying attention to all the information, both explicit and implicit, that you are receiving from the other person, comprehending, and integrating that info.
- Emotional: Staying calm and compassionate during the conversation, including managing any emotional reactions (annoyance, boredom) you might experience.
- Behavioural: Conveying interest and comprehension verbally and non-verbally.
- Listen with intent, make the other person feel heard and understood.
- If you hear something interesting, ask for more info about it.
- If you hear something you don't understand, ask what it means.
- Have a genuine desire to get to know someone.
Tactics​
Mirroring: Restate what they said in your own terms to see if you understood.
Example:
- I'm worried about my presentation for the board meeting.
- Oh what about the presentation is worrying you?
- I'm worried about...
Label emotions: label the emotions that you notice to see if you understood how they felt, and help you empathise.
Example:
- They just wouldn't listen, even though I brought it up so many times!
- Did that feel really frustrating?
- Exactly! It was frustrating because...