Thought Scribbles: Skills I care about as a software engineer

I write a lot – in random scribbles and notes on my phone, computer, or wherever. But then I don't have the time normally to extract that into a complete, perfect thing. Still, I decided that if I find such notes and they're relevant enough, I'm gonna post them here to practice being comfortable with expressing stuff that may be less-than-perfect. I'm gonna call them Thought Scribbles.


This one I found I wrote in July 2017 in Notes!!!, so around a year and a half ago. I don't remember why I wrote it. I think I was just trying to articulate what I found important for myself.

As a Software Engineer, I care about:

  • risk taking and not being attached to code or technology
  • Understanding and learning
  • Differentiating between important shifts in paradigms, vs a trend
  • Exposing yourself to different paradigms and patterns
  • Refreshing my knowledge on things I lack
  • Teaching and mentoring others
  • Learning from others
  • Openness in questions and communication
  • Finding the right tools for the job even if it's something you're not familiar with
  • Documentation, versioning
  • SDLC processes and collaboration
  • Innate enthusiasm for difficult problems
  • Balancing simplicity!!!, scalability, modularity, maintainability, extensibility
  • UI/UX
  • Attention to detail
  • Internals and under the hood understanding
  • Welcoming feedback
  • Anticipating problems
  • automated testing
  • pushing for high quality but not destructive perfectionism
  • your process & codebases are a product that directly impacts anyone interacting with your application
  • Reducing debt
  • Refactoring when needed (timing is important)
  • Alternatives to refactoring when not possible
  • standards and conventions when they don't exist
  • don't be afraid of learning new things! or asking "why"
  • debugging instincts and skills -- know that software in development is "debug-first" instead of happy-path first
  • Helpful logs!
  • Giving credit
  • security in all layers
  • performance in all layers
  • code hygiene takes discipline but do it now than later
  • don't let the perfect be the enemy of the good
  • but also if you build good foundations, everything else becomes easier
  • the little things add up! both good and bad things

As an employee and/or a teammate, I care about:

  • my team as individuals
  • my team as a cohesive team (being on the same page & communicating)
  • leadership also means knowing when to defer to others and delegate (i.e. trust)
  • avoid analysis paralysis
  • observing and learning first before speaking - understand the problem first
  • learning from mistakes
  • collaborating and identifying others' strengths
  • celebrating accomplishments and learning to recognize them
  • avoiding the xy problem, identifying when one is being asked
  • Taking pride in my work, allowing others to do the same
  • accountability and responsibility does not mean blame
  • being candid but kind
  • actively asking for feedback
  • Not being prescriptive when delegating work
  • Fair recognition
  • Communication
  • Mentoring and learning
  • Knowledge sharing
  • Minimizing debt
  • Minimizing tribal knowledge/silos
  • understanding people's roles
  • Be the change you want to be/be an example
  • Being able to say 'no' in a way that is fair and understandable
  • Planning for the future
  • Being pragmatic
  • Listening to all voices, not just loud ones
  • humanizing your teammates and coworkers!
  • ability to learn and debug > already knowing things

(N/B: Looking back, I was able to use this brainstorming of mine to write up a charter for my team and identify together what our core values should be for a specific project.)

This is a copypasta from my notepad with a few typos fixed and missing words added. It might be a good prompt for you though!

In only five minutes and in points -- what do you think is important for you as a developer and a teammate?