Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
stebsnusch committed Aug 30, 2021
0 parents commit bafede8
Show file tree
Hide file tree
Showing 38 changed files with 841 additions and 0 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: github pages

on:
push:
branches:
- main # Set a branch to deploy
pull_request:

jobs:
deploy:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod

- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
# extended: true

- name: Build
run: hugo --minify

- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: github.ref == 'refs/heads/main'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "themes/PaperMod"]
path = themes/PaperMod
url = https://github.com/adityatelange/hugo-PaperMod.git
6 changes: 6 additions & 0 deletions archetypes/default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

148 changes: 148 additions & 0 deletions config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
baseURL: "https://stebs.dev/"
title: Stephany Nusch
paginate: 5
theme: PaperMod

enableRobotsTXT: true
buildDrafts: false
buildFuture: false
buildExpired: false

minify:
disableXML: true
minifyOutput: true

languages:
en:
languageName: English
weight: 10
homeInfoParams:
Title: "Hi there \U0001F44B"
Content: My name is Stephany. I am a Brazilian software engineer living in São Paulo 🇧🇷. In this blog, you'll find content about frontend, Javascript, career, and other tech-related stuff.
menu:
main:
- identifier: categories
name: categories
url: /categories/
weight: 10
- identifier: tags
name: tags
url: /tags/
weight: 20

pt:
languageName: Português
weight: 20
homeInfoParams:
Title: "Olá \U0001F44B"
Content: Meu nome é Stephany. Sou uma engenheira de software brasileira, morando em São Paulo 🇧🇷. Neste blog, você encontrará conteúdo sobre front-end, Javascript, carreira e outras coisas relacionadas à tecnologia.
menu:
main:
- identifier: categories
name: categorias
url: /categories/
weight: 10
- identifier: tags
name: tags
url: /tags/
weight: 20

params:
env: production # to enable google analytics, opengraph, twitter-cards and schema.
title: Stephany Nusch
description: "Tech blog"
keywords: [Blog, Portfolio, PaperMod]
author: Me
# author: ["Me", "You"] # multiple authors
images: ["<link or path of image for opengraph, twitter-cards>"]
DateFormat: "January 2, 2006"
defaultTheme: dark # dark, light
disableThemeToggle: false

ShowReadingTime: true
ShowShareButtons: true
ShowPostNavLinks: true
ShowBreadCrumbs: true
ShowCodeCopyButtons: false
disableSpecial1stPost: false
disableScrollToTop: false
comments: false
hidemeta: false
hideSummary: false
showtoc: false
tocopen: false

assets:
# disableHLJS: true # to disable highlight.js
# disableFingerprinting: true
favicon: "<link / abs url>"
favicon16x16: "<link / abs url>"
favicon32x32: "<link / abs url>"
apple_touch_icon: "<link / abs url>"
safari_pinned_tab: "<link / abs url>"

label:
text: "Stephany"
#icon: /apple-touch-icon.png
iconHeight: 35

# profile-mode
profileMode:
enabled: false # needs to be explicitly set
title: Stephany Nusch
subtitle: "Tech Blog"
imageUrl: "<img location>"
imageWidth: 120
imageHeight: 120
imageTitle: my image
buttons:
- name: Posts
url: posts
- name: Tags
url: tags

# home-info mode


socialIcons:
- name: twitter
url: "https://twitter.com/stephdotjs"
- name: github
url: "https://github.com/stebsnusch/"
- name: linkedin
url: "https://www.linkedin.com/in/stephanynusch/"

#analytics:
# google:
# SiteVerificationTag: "XYZabc"
# bing:
# SiteVerificationTag: "XYZabc"
# yandex:
# SiteVerificationTag: "XYZabc"

cover:
hidden: true # hide everywhere but not in structured data
hiddenInList: true # hide on list pages and home
hiddenInSingle: true # hide on single page


# for search
# https://fusejs.io/api/options.html
fuseOpts:
isCaseSensitive: false
shouldSort: true
location: 0
distance: 1000
threshold: 0.4
minMatchCharLength: 0
keys: ["title", "permalink", "summary", "content"]

# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
# pygmentsUseClasses: true
# markup:
# highlight:
# # anchorLineNos: true
# codeFences: true
# guessSyntax: true
# lineNos: true
# style: monokai
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
120 changes: 120 additions & 0 deletions content/posts/5-soft-skills-for-devs/index.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
title: "5 Soft Skills tips for Software Developers"
date: "2021-04-07"
draft: false
tags: ["soft skills", "career"]
categories: ["career"]
cover:
image: "images/photo-1.jpeg"
caption: "Image Credits - Priscilla Du Preez on Unsplash"
alt: "3 men looking at a computer screen"
---

![3 men looking at a computer screen](images/photo-1.jpeg "Image Credits - Priscilla Du Preez on Unsplash")

As the Software Engineer role grows in popularity and everyone gets themselves into technical bootcamps, it’s also common to see companies saying that Soft Skills are also an important factor when considering a candidate for a position. But what are those, and why do people seem to have a hard time giving concrete examples?

## What are Soft Skills?

According to the Collins English Dictionary, the term is defined as:
> “desirable qualities for certain forms of employment that do not depend on acquired knowledge: they include common sense, the ability to deal with people, and a positive flexible attitude”
Such traits act as complements to the said “Hard Skills”, which represent technical knowledge — the domain of a certain programming language or tool.

I mean, you can’t just `npm i empathy`, right?
In this article, I wish to share with you 5 tips to improve your Soft Skills, with practical examples.

## Revisit your company's culture

Most companies will have either a simple PDF or an entire webpage about their culture and values. For example, at QuintoAndar we have five pillars to the culture:

- We exist for the client
- We are brave to try new things
- We deliver
- Together we go further
- We play by the rules

Based on these principles, I was able to extract some action points. For example, if we exist for the client, it means we care a lot about accessibility and performance.

**Why accessibility?** For starters, our client base can have any type of person, with different values, disabilities, and backgrounds. Bringing these topics and thinking intentionally about them on team meetings and while writing your code is being sensible and having empathy for your customer.

**Why performance?** In the 21st century, if an Uber ride, for instance, takes more than 10 minutes to arrive, or if your ride keeps getting canceled, don't you find it annoying? We grow impatient and tend to leave bad reviews if we have to wait too long or if we get errors and cancellations to operations meant to be fast.

If we exist for the client, we must give them the best
Think about your own career in software development. It's far more challenging to write good unit tests based on user behavior, to learn about SEO and accessibility than to just develop something that “works”… for you. This is one of the reasons why soft skills will increase your seniority level.

I like to go one step further and participate (as a listener) in Usability Test calls, where our Product Designers interview customers in order to get feedback on new features. But this is me being extra, do what you feel comfortable doing. Remember: one step at a time.

All in all, revisiting your company's culture and values will present you with a huge amount of possibilities and action points. Make sure to do so and encourage your teammates to do the same.

## Plan meetings ahead

Every day, I take up to 30 minutes before a meeting to reflect on a few topics:

- What information about the topic do I already have?
- Do I want to add something to the discussion?
- Is there something I still need to clarify?

Based on these three questions, others will arise, and so you keep answering them until you feel it's enough. Applying this technique has worked wonders for me. I also got a feeling of organization, of knowing my stuff very well. I started going to meetings fully armed and ready. You'd be surprised about how much we forget to mention when we just jump into a meeting without reflecting a little beforehand.

For really important meetings, such as career-related plans, or the development of a completely new application, I tend to plan some “reflection time” every day of that week, so I can sleep on ideas and then organize my notes.

> “When we surrender our right to choose, we give others not just the power but also the explicit permission to choose for us.” _Greg McKeown, Essentialism_
It is crucial that we spend some time intentionally thinking, reflecting, revisiting steps. Living in a day and age where everything's so fast-paced and changes happen all the time, while we still need to deliver good-quality software, it's easy to turn on autopilot and just let life happen without you. Wow. — this ended up being a piece of advice not only for work but also for life.

## Continuous Feedback

![Two people sitting and discussing something](images/photo-2.jpeg "Image Credits - LinkedIn Sales Solutions on Unsplash")

Giving and receiving feedback is one of the best ways to grasp your teammates' points of view on your work. Don't wait for your company's formal feedback cycle (if it has such rituals) to remember everything your team's done.

### Schedule 1:1s

One-on-ones are, usually, thirty-minute meetings where you and the chosen person share how your week has been, how you felt during this period, and reflect together on improvements and positive points.

### Write feedbacks every-so-often

Choose a period to continuously send feedback to your team. You can do it bi-weekly, monthly, quarterly — it's up to your needs. Fit this practice in your routine, stick to it, and soon it's gonna come naturally. Doing so also encourages the rest of the team to follow you, and therefore you'll become their reference.

### Don't run from difficult conversations

It is important that you feel comfortable acting on this one. As for difficult conversations, I mean showing your dissatisfaction towards certain attitudes or results. Everyone can improve in something and telling someone how you feel about their weak points will not only help you but also help them on planning their evolution. The tips for planning meetings ahead and using Nonviolent Communication will certainly be handy here!

Holding back difficult conversations can lead to a stressful dynamic within the people involved and have a high cost not only at work but in your personal life as well. Preventing it is an act of both self-care and altruism.
Continuous feedback is often underestimated, but powerful enough to bring valuable insights and to create a comfortable, safe work environment.

### Nonviolent communication

“Nonviolent Communication” by Marshall Rosenberg is a must on any bookshelf. Marshall was a psychologist responsible for solving not only married couple problems but also tribal conflicts across the world.
The core of Nonviolent Communication is in understanding people's needs and being able to convey ours. Here is a list of what the adept to this technique believe to be every person's basic needs.

So, for example, if I'm having a hard time telling my leader I want a raise, I can start by listing why do I want it, and which of my necessities are not being satisfied by my current wage:

> “I value my financial stability, and right now I don't feel like I'm being supported by the company to the same amount of effort I put into my work.”
A second example, if I'm feeling left out of the team:

> “I have the need to feel like I belong to a team and that my purpose as a professional is being fulfilled. I would love to be included in any product discussion meetings.”
See? Exposing the needs you have and explaining why they're not being fulfilled makes things easier. Actions are more prone to be taken when you give concrete examples.

Nonviolent Communication is not about being cute, nor accepting everyone's impositions on you (by the way, this is being violent to yourself). It's about being transparent about your needs and open to listening to the other's. It's about being fully present in a situation and genuinely wanting to solve the problem.

As an extra tip, I'd also like to suggest you frequently ask yourself the question: What can I do to make this person's life better? And don't stop there — take it as an opportunity to think about the other way around too.

## Voice your concerns

![Man sitting on a couch looking concerned](images/photo-3.jpeg "Image Credits - Nik Shuliahin on Unplash")

Be it a technical or personal issue — don't feel afraid to speak your mind. Different people have different needs and bring different points of view to the table. By staying quiet about a concern of yours, you're telling everyone in the room that you're doing just fine, and therefore agree with what's being said.

It is a loss for the team to not have the opportunity to listen to your opinion. Smart people know there is no such thing as “silly” questions. I know this is a difficult tip to follow 'cause not everyone feels comfortable enough in their workplace to just start talking, but I highly suggest you give it a try. Keep this card in your pocket, just in case.

Diving a little deeper, a lot of us who kept working during the COVID-19 pandemic had to deal with high amounts of stress, anxiety, and sometimes depression. Voice your concerns about your and your teammates' mental health. Remember the section above and start acting on it at your own pace.

## Conclusion

I hope it sheds a little light on habits you can start implementing in your routine to build these soft skills everyone keeps talking about. It's definitely not an easy process, and it took me years within the industry to start applying each one of them. So don't feel like you need to have it done tomorrow — some of these tips may not even apply to you and your workplace. Just keep in mind that human relationships are what makes us… humans, after all.

Technical skills take time to be learned, but there are tons of tutorials available on the Internet. Someone who can communicate clearly will eventually also learn how to configure Webpack and do some code-splitting, whereas someone 100% technical but that can't show empathy for a teammate who's lost a loved one, for example, will eventually be left behind.
Loading

0 comments on commit bafede8

Please sign in to comment.