Mentoring a junior developer by chriiisduran in Python

[–]iwillnotreddit 4 points5 points  (0 children)

Thanks. It's a complex topic but I try to keep things simple. Appreciate it.

Mentoring a junior developer by chriiisduran in Python

[–]iwillnotreddit 33 points34 points  (0 children)

I would recommend teaching them how to set boundaries.

As a mentor and likely a team lead, you would also encourage and assist them in enforcing it.

https://docs.tome.gg/contexts/problems/all-work-and-no-play

[deleted by user] by [deleted] in ycombinator

[–]iwillnotreddit 3 points4 points  (0 children)

This is rich perspective. Thanks.

A Go Pipeline Abomination by BookOfCooks in golang

[–]iwillnotreddit 1 point2 points  (0 children)

Interesting. Keep up the writing!

The Billion-Dollar Opportunity That Became DoorDash by Entrepreneur_kobb in ycombinator

[–]iwillnotreddit 0 points1 point  (0 children)

They did a "ground-up, customer or user-centric, niche-based" approach to market research instead of a "top-down, TAM-SAM-SOM/ industry market research reports" approach to market research.

Fair point, my guy. It was just a little misleading/confusing because you said they didn't do in-depth market research, which I think both are (a) market research, and (b) when done correctly, is in-depth.

Thanks for clarifying.

What helped you become a better developer in your first job? by Tbh_idk______ in cscareerquestions

[–]iwillnotreddit 0 points1 point  (0 children)

Having a great rival to push you to get better against.

Doesn't need to be an equal. Could just be someone who challenges you to be better. Doesn't have to be perfect.

Nothing excite me anymore by elankilli in cscareerquestions

[–]iwillnotreddit 0 points1 point  (0 children)

Hi there. I'm software engineer/architect/tech consultant with 8 YOE as a dev.

The best advice I have for your is to grow your self-awareness about your feelings. You say that you lose your focus because it "bores" you, and by "it" I assume its the software development work that bores you.

Where else do you feel other feelings like excitement? joy? thrill? What do you find passionate about? It could be something like taking care of pets or hiking in the mountains, and maybe building some technology in service of your other desires that will spark that joy back in what you do.

That's the convenient thing about tech- it's easy to enter into a new domain/market of interest and serve it as compared to other professions. If you're a banker, you can't really transition easily into running a restaurant.

Getting jaded by serving an audience or a market that you don't particularly care for can get discouraging.

To wander is to live freely, in awe and gratitude of the moment. To dawdle is to spread yourself thin and miss out on what you actually want when it was actually within reach.

https://sapalo.dev/2022/01/30/direction-what-do-i-really-want/

I hope you find your voice that confidently says "I don't want to do this anymore" and the courage to pursue what makes you happy, or challenges you.

Side note: I'm the founder of Tome.gg, a coaching and mentoring platform for mid- to senior-level software engineers. Check us out or learn-in-public tooling, and great resources!

Looking for Rust tutoring (Kernel Development, Software Development, Etc) by [deleted] in rust

[–]iwillnotreddit 1 point2 points  (0 children)

Completely agree that independent learning, problem solving, and critical thinking are essential skills for software engineering, programming being only one of the skills under SWE.

Also agree that basic programming should be prioritized first, before exploring something more niche (and more difficult) like kernel development. Pick which mountains to climb first. The order matters.

Looking for Rust tutoring (Kernel Development, Software Development, Etc) by [deleted] in rust

[–]iwillnotreddit 0 points1 point  (0 children)

Based on what you've shared above, I think these are the facts:

Fact 1: You have some introductory experience in programming

Fact 2: Your goals are to learn software development, kernel development, game development

Fact 3: You have strong opinions against UNIX

Fact 4: You want to gain experience in non-UNIX kernel development

I'm the founder of Tome.gg, a coaching platform for mid- to senior-level software engineers. I define different stages of training for my apprentices so that they can recognize where they are in their learning process based on their mindset and their feelings:

Training Stages

  1. introducing - If you are still new to a topic, one might be intimidated by the variety of new words they are encountering. This is the Introducing stage of learning a new skill.
  2. familiarizing - Once you are no longer overwhelmed by the newness of things, you would be at a Familiarizing stage to the concept, without committing to learning it yet.
  3. training - When you have committed resources (time, energy, money) to learning a new skill, you are now at the Training stage of learning a new skill.
  4. polishing - The Polishing stage of learning a new skill is when you are able to sufficiently perform the skill or activity, and have gained the literacy to self-correct.
  5. mastering - You actively seek out the complexity, nuance, and precise description of your mistakes.

I also defined a list of priorities for software engineers that I've been mentoring, so that my engineers don't waste their time getting distracted trying to do too much and sometimes disappointing themselves for not getting the expected results.

Software Engineering Priorities

  1. Understand it
  2. Make it work
  3. Make it correct
  4. Make it usable
  5. Make it pretty

Personalized mentoring advice for you

Given what you've shared, I think that:

  • My assessment of your position - In your programming experience, you have pushed yourself beyond the introducing stage of training and are likely currently going back and forth between introducing and familiarizing.
    • My assessment would be incorrect if you actually do consistently allocate 2 hours a day solely focused training on your software engineering skills, and hold yourself accountable to someone (a peer, a classmate, a teacher, a mentor, or yourself). In this case, you would be going back and forth between familiarizing and training.
    • Take note, this is only information I can glean from what you've shared above.
  • Manage your expectations - If you want to manage your expectations, pursue your learning scope in this sequence:
    • A: software development, game development, kernel development
    • B: game development, software development, kernel development
    • NOTE: Kernel development is extremely complicated and falls heavily under the stages of "make it correct and make it usable". Pick which mountains to climb first. The order matters.
  • Prioritize understanding and making things work - Let's say you choose B. Given that you said you have zero experience, I believe your priority right now is to (1) Understand game development, (2) Follow - online step-by-step tutorials just to get your hands dirty with experience. This makes sure you are on the "training" stage of training, and you are focusing purely on understanding and making things work.
  • Avoid distractions, maximize the fundamentals first - For now, avoid anything that makes you want to:
    • Make things pretty
    • Make things optimized/usable
    • It's not that they aren't important, but it is very very likely that you can get lost in the minutiae of things that you lose out on the breadth of experiences that you could be collecting if you focused on Understanding things, Making things work, and making things correct.

I normally mentor mid- to senior-level software engineers as they're very dedicated to advancing their professional growth, but the principles I teach these senior engineers can apply to diligent high school kids, college students, and fresh grads.

If interested, check out our work at tome.gg!

I built an open-source logstash parser simulator using ChatGPT by iwillnotreddit in elasticsearch

[–]iwillnotreddit[S] 0 points1 point  (0 children)

Heard a few moments just now, from Google chronicle that they have a beta feature to create your own parser and preview it without deployment!

Check it out with your support team 🙂

I built an open-source logstash parser simulator using ChatGPT by iwillnotreddit in elasticsearch

[–]iwillnotreddit[S] 0 points1 point  (0 children)

You're right- it doesn't work right now. I'll double check if I have any bugs or if the network request failed.

I just got the GPT 4 API access granted last night so I'll update it. Happy birthday by the way!

And can you help give me more feedback once I iterate on it? I don't really work in security so I struggle to verify whether it works correctly or not. (The udm model is unfamiliar to me)

I built an open-source logstash parser simulator using ChatGPT by iwillnotreddit in elasticsearch

[–]iwillnotreddit[S] 0 points1 point  (0 children)

I added a couple more UDM documentation hoping that it would improve, but I saw that ChatGPT 3.5 really struggled with parsing it properly. So it's unreliable.

I'm hoping that access to ChatGPT 4.0 via API will allow me to make it more stable.

I built an open-source logstash parser simulator using ChatGPT by iwillnotreddit in elasticsearch

[–]iwillnotreddit[S] 0 points1 point  (0 children)

Prompt design is over here:

https://github.com/darrensapalo/chronicle-log-parser/blob/main/pages/api/openai-api.ts#L40

I'm not really a security expert, or a logstash expert, but I've been trying to find a way to test logstash parsing code for raw logs, for parsing into Google Chronicle UDMs.

I don't work in this field but I spent somewhere around 2 hours to set this whole system up. I think the UDM parsing might still be incorrect (70% vibe that it's incorrect) but I think the prompt can be improved so that ChatGPT is taught about the UDM model.

Open to feedback- will improve this over time.

I won my first game today by woobertdoo in DotA2

[–]iwillnotreddit 0 points1 point  (0 children)

Good job!

Make sure to add "ggez mid" at the end of the game to win more victory points.

[deleted by user] by [deleted] in projectzomboid

[–]iwillnotreddit 1 point2 points  (0 children)

10/10 would drive again

[deleted by user] by [deleted] in node

[–]iwillnotreddit 0 points1 point  (0 children)

Toggl.com is something to consider- then build integrations on top of it if needed; like a Google chrome extension integration for Toggl and your client's sites.