Grace photo
GraceSoftware Engineer @ Wikimedia Foundation
Wikimedia Foundation logo
Wikimedia Foundation
23 Answers
165 Likes
  • 18
    Profile picture
    Software Engineer at Series B Startup
    a year ago

    Whenever I find myself procrastinating on something I really need to do I ask myself, 'What the heck would you rather be doing anyway?'. More often than not, my answer is extremely lame (such as 'ummmm order takeout and go lie in bed') or I cannot find one. If I do have an answer, I then ask myself, 'What are the benefits of doing that [other thing] right now vs this?' and again, I usually fail to come up with a great argument. And usually, my pathetic logic just points to an endless cycle of delaying tactics (insert Spiderman meme here). A small amount of self-interrogation has helped me a lot in defeating the procrastination dragon.

    Over the years, I have learned that putting off and avoiding priorities takes a lot more effort and energy than just overcoming the temporary discomfort of start/doing it. I guess this means we also need to ask ourselves what is our 'priority' at all. Maybe we are distracted by something rather significant, something unresolved and completely unrelated to work (therapy is mentioned above and that is one of the many ways in unraveling this), so it is contaminating other crucial areas of our life (speaking from experience). As aforementioned, developing habits is the way, waiting to feel motivated or the willpower to arrive is a myth (IMO).

  • 16
    Profile picture
    Junior Software Engineer at Series B Startup
    2 years ago

    A ticket a day sounds kind of stressful, I hope they are not all completely unrelated and touching various domains (but maybe this is normal and Idk how most dev teams work)! I struggled with this as well but to piggy-back off of previous great comments, perhaps a way to tackle this is planning ahead the design as much as possible.

    My team has been using a 'Technical Design Document' per ticket, where we define in our own words the business needs and more importantly, formulate exactly what needs to be done; which areas of the code, which methods to modify or add, where it fits into the flow, how it affects existing logic, etc, how this will be tested. This has been monumental in getting tickets completed by or before the Sprint (story-pointing and estimating gets closer to accurate and consistent as an instinct for this naturally develops). Formerly, a lot of us just had tickets spilling over every Sprint and it felt like almost nothing was getting done.

    When I first started writing my design docs, I felt like I was moving slower and that it was actually impeding my progress. However, what it was actually doing was forcing me to face all of my 'battles' earlier on rather than half-commit through the entire Sprint. (I have also realized that my procrastination is sometimes just out of fear of embarrassment/imposter syndrome! A lot of the scary bits for me has been reaching out to the right domain experts for clarity

    )

    I can't remember which Masterclass/vid it was but recall Rahul quoting the SEAL motto, "slow is smooth, smooth is fast", and I think about it often.

  • 15
    Profile picture
    Junior Software Engineer at Series B Startup
    2 years ago

    It sounds like you do your best surrounded by others, especially others working on similar tasks. Although I work well in solitude (making me probably not the greatest candidate to respond), there certainly are times I just need someone working next to me. I have recently discovered https://www.focusmate.com where you can pair up with anyone in the world and virtually co-work for a certain number of minutes; it has been extremely helpful, and particularly when I'm feeling unproductive. Since you have tried cafes and going into the office but all of that depletes from energy reserves you need for gym and other life things, I guess that takes co-working spaces (e.g. WeWork) out of the question. I highly recommend trying out FocusMate; I also know there are other similar applications but I have not tried them out myself.

    70-80% productivity does not sound terribly awful to me XD, but I hope you find clever solutions that work for you soon.

  • 12
    Profile picture
    Software Engineer @ Wikimedia Foundation
    a year ago

    I need quite a bit of structure to my day, although it varies. But some things:

    • journaling before the day begins
    • pair and/or have a coffee chat with teammate on a weekly(-ish) basis
    • when I feel antsy but still need to plow, find a random study buddy to keep accountable: https://www.focusmate.com/
    • read discussions on Taro
    • using a timer for focus (a physical/kitchen timer, not an app!)
      • and finding the right intervals (Pomodoro doesn't work well for me; the 5 min break is too long and I lose momentum)
    • finding times when I work best and filling in the hours where I'm less functional for the mundane; appointments, cleaning, etc.
    • sleeping well
      • I'm finding that I need to exert myself a good amount during the day to get quality sleep; getting 8 hours is ineffective for me if it lacks quality. Many times, I can feel extremely rested after 5 or 7.5 hrs (and not in b/w either lol).
    • jogging (ideally in nature); 10/10 recommend to re-energize during the midday slump
    • minimum 1 hour of 'me' time; doing anything I want to do!
    • for-fun reading before bed
  • 12
    Profile picture
    Software Engineer at Series B Startup
    a year ago

    I can empathize with you, the experience can be very disheartening. I think it also has a lot to do with how much we tend to prematurely invest into our 'ideal' scenario that it crushes our sense of identity or self worth when that is not realized. What you're feeling makes sense and is completely normal.

    That being said, it is imperative we do not wallow for too long. Time-block your 'mourn' period, write down your self-assessment of the interview, reflect on what happened, what went well, what you could have done better, etc. Then you must move forward. The best thing IMO is to have new interviews lined up, back to back. That way, we simply do not have the time to linger in this space, feeding our ever-growing sense of self-doubt (this is important for self-critiquing but not useful right now).

    From my experience, I would feel like a failure for a day at most, but I could not afford to remain there more than that because I had another interview the following day and I needed to dust myself off and get back up. Line up those interviews, and you will forget about worrying about this 'loss' before you know it. (Because) there will be new issues to work through ;).

    (I just realized that I am not sure if you are trying to just find a new role or if you are only wishing to find a role at very specific companies. Even if it is the latter, I still think it will be beneficial to build the muscle by continuing interviews else/everywhere.)

  • 11
    Profile picture
    Software Engineer at Series B Startup
    2 years ago

    Congratulations almost graduate!

    Personally, I have not encountered a time thus far where the recruiter (startups and big tech) straight up refused to provide me any information on the interview process and pointers. (There has been one instance where the recruiter said they had no idea... probably not a great sign? Haha.) Typically, they have taken the time to brief me on the subsequent interview rounds and during that time, I have always received a helpful response to, "Would you be able to give me an idea of what the technical interview might entail? For example, is it sort of a real-life business-related coding exercise or a Leetcode type of problem?"

    100% agree on what Alex and David have said~ scour Glassdoor interview reviews (a lot of info on startups too these days, as long as they aren't Seed stage) and be well-prepared for the behavioral round (using STAR method).

  • 10
    Profile picture
    Software Engineer @ Wikimedia Foundation
    a year ago
    • This may be a no-brainer but aliasing my terminal commands, from my most-used git commands to running test files.

    • Speeding up my mouse! Credit to: https://noahkagan.com/productivity-hacks/

    • Using only one screen/monitor

    • Magic Trackpad > Magic Mouse (I’ve only ever tried these pls don’t come for me)

  • 10
    Profile picture
    Junior Software Engineer at Series B Startup
    2 years ago

    Fellow remote, also at a Startup here. From my experience so far, the social climate seems predominantly swayed by management and then the engineers in leadership positions. There were times when I felt like I was on a team and times when I felt like I hardly knew anyone; our interactions were tense and vapid, I think akin to what you're describing. The former was when we had a leaders who strived to be inclusive and transparent as possible whereas during the latter, there was a lot of tension in upper management, which then led to lead engineers getting over-burdened and micromanaged, whose stress infected the rest of us.

    That said, I do believe not all hope is lost (especially in regards to building relationships), just that there is more proactivity required from us. The following are ways that have helped me (and continue to regardless of company climate):

    • Set up regular times with one or two colleagues to pair program or rubber-duck so that you both have a good excuse to connect while working
      • I liked having one with a teammate and another outside of my team, each on a weekly basis. This way I not only got an 'insider' and 'outsider' perspective on my code but also a feel for overall morale (this probably only works for those of us at startups).
    • Create a social channel (such as #pets-at-our-company to share cute photos of your furry family)
      • Everyone seems to show their soft side in these channels, and that is always a nice reminder
    • Be the first one to be 'vulnerable', oftentimes just initiating that behavior disarms the rest of the room
      • Rather than robotically announcing my updates during standup, I have been trying to infuse some human element. For example, sharing a new thing I learned during yesterday's debugging or giving a shoutout to a colleague whose PR I enjoyed reviewing or whose insight helped me get unblocked. Although sometimes I feel like I'm oversharing, I feel that it has encouraged others to open up.
    • Create a Friday happy hour
      • I know a colleague who started this for their own team and it influenced other team managers to do so as well. Not everyone shows up, but it is definitely a nice way to remember how awkward we can all be and get to know each other:)
  • 10
    Profile picture
    Junior Software Engineer at Series B Startup
    2 years ago

    Very sorry you’re experiencing this! Except for last few things that sound especially uncomfortable, I was struggling with a similar situation a few months back... Unenthusiastic replies nor delaying them seemed to work, and even when clearly expressing that I didn’t feel comfortable sharing some information I would still receive long, animated responses and more random personal questions- which I couldn’t tell was out of obliviousness. I think most of the time I just wanted to tell them to stop but struggled to come up with a way to communicate it professional/assertively.

    My unhelpful response (mainly out of empathy!) is that I began to only give timely replies if it was code-related and if we absolutely had to converse I would not react much at all; just dry yes/no replies, no emotive reactions. And anytime the conversation felt like it was skewing into a topic that was not work-related/off-topic, I did my best to redirect us and ignore the invitation to go there.

    I remember this was an issue that really weighed on me for some months, so I can’t imagine how it might be for you. Hopefully there will be better answers after me and that you will not have to involve HR 🙏.

  • 8
    Profile picture
    Software Engineer @ Wikimedia Foundation
    a year ago

    TY for raising this, I often feel bad about my privileged grievances but my therapist has assured me we can recognize what we have yet have newfound issues/with it; as long as we are 'complaining' for resolve. And I want to believe they weren't saying that just to be nice :).

    Practical reminders that help me:

    • go on a social media fast
    • write down 3-5 things minimum you are grateful for every morning
      • even if it is difficult, just start with the most basic stuff (health, family, friends,...)
      • bonus: journal as well, just brain-dump whatever is on your mind (but sometimes when I'm really down and crappy, I don't feel like journaling but jotting down gratitude is very important in these moments)
    • 1-3x day breathing exercise: 2 repetitions of 5 deep inhale + exhale (this should take ~1 min)
      • I've found this easiest to remember if I get in the habit of doing this first thing, before or after lunch, and then before bed
    • take that PTO and get out of the house
      • preferably explore a new part of town or get out of your region entirely
    • make things fun
      • start with the mundane, see how you can make it enjoyable, no matter how silly; remember how we played with our food as kids, etc.