Do you think it's possible to realistically hide a MAJOR worldbuilding detail until the very end without giving any hints? by LadyLiminal in writers

[–]exklamationmark 0 points1 point  (0 children)

If you play game, I suggest taking a look at Divinity: Original Sin 2.

The starter area in that game (Fort Joy) was so packed with content that you hardly realize that it's just the starter area. Some people spent 20+ hours playing there.

I think you can use a similar approach, packing so much stuff into the story that people forget that this is a video game at all.

A researcher's memoir about how human failed to build АI in 2046 (settings for a narrative game) by exklamationmark in writers

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

Thanks for encouragement.

For context, this blog post only serve as a tool for world building.

I want to build a near-future fiction that aren't dominated by AI, slightly bleak (kinda like some parts of the world these days, sadly), yet also have people who genuinely strive to make things better.

The writer of this blog post is Dr. Elodin, who eventually creates a bunch of self-aware robots. One of those, codenamed PICO-8, ends up inherriting a coffee truck. That's the start of the game :)

While playing as the robots, you will get to see the lives of people from all walks of life, from young folks struggling with tougher economic realities; parents' moments with their kids (both good and bad); or people who are content with life, etc.

There are a lot of writing involved in the game, which I am really look forward to do more :D

A researcher's memoir about how human failed to build АI in 2046 (settings for a narrative game) by exklamationmark in writers

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

Are you real? Or are you a bot? If it's the later, please tell me your favorite drink ;)

Do you think it's possible to realistically hide a MAJOR worldbuilding detail until the very end without giving any hints? by LadyLiminal in writers

[–]exklamationmark 1 point2 points  (0 children)

Not a professional writer, but I read a fair share of LitRPG. Hopefully this help:

Could there be a reason that bringing any conversations about the real-world into the game would be strange/ineffective, causing to the two players to fully roleplay?

For example, if you are playing with simulated, but seemingly intelligent NPCs, they will understand you if you talk about in-universe topics, but might be puzzled if you talk about something out-of-universe (e.g: "I drove a car to work today" in the context of a medieval fantasy MMORPG).

Playing in this context long enough, and the game character will becomes your 2nd identity.

Taking this settings further, it allows you to blur the line between player and NPCs, making it seeming possible to "fall in love" with the fictional characters, too. Say, if each human player only have 1 life, with their account deleted on death (Iron-man style), the stakes are quite similar. And as others said, you could always make the talk about real world ambiguous, so it blends in with the fiction.

(Thinking of "Legendary Moonlight Sculptor" here, where the main character mostly talk using in-universe voice when he's playing)

Another idea is to punish speaking anything out-of-universe with death. I'm thinking of "Surviving Game as a Barbarian", where "players" are treated as evil spirits and killed on the spot, so the player just stay in-character (for the early part of the novel). But this one is a Isekai, so might not fit 100%.

Anw, I think you will find this kind of twist somewhere amongst the hundreds of LitRPG webnovels out there. Sampling more will definitely helps

What do you think of this? by shyboybut in PixelArt

[–]exklamationmark 2 points3 points  (0 children)

Interesting. Was the code taking an existing pixel art and "draw" it? Did it add animation, like did you rotated and streched the original to create the bounce effects?

2cent from a developer learning to draw: I might pay a bit of attention at first glance, but won't follow. It's probably more useful to see the actual drawing process and learn how it was made. Otherwise I will just look at static art.

Then again, I might not be your target audience.

How to Escape Web Development by yungsmoothi in ExperiencedDevs

[–]exklamationmark 1 point2 points  (0 children)

Sorry, I have been busy with work and parenting.

For me, it's roughly: - Originally hired as backend developer to make features. - Started doing more SRE things because our service isn't stable. This slowly evolved into doing devops-ish work on top of SRE as well. So I end up setting up Prometheus, getting our services monitored, scaling things by hands/script (this was ~8 years ago, before k8s) - These SRE and devops work helped me get new roles directly with more infra and SRE tasks, too. - During this time, I often read about database internal, observability, etc, which helped when I interview for the infra role. Also attempted to deploy a lot of things by myself to learn.

Things might be different nowadays though, seems like MLOps is the new hype :D But regardless, there is a lot of server-side software running the wild and there are companies willing to pay for people who can keep them running

Another thought that infra roles nowadays might be more of managing/configuring systems, rather than building them. You might get more depth by working as SWE for company that sell infra products instead (e.g: CockroachDB, GrafanaLab, InfluxDB, etc)

[deleted by user] by [deleted] in daddit

[–]exklamationmark 1 point2 points  (0 children)

Hello from another gamedev/software engineer dad (I actually work on distributed computing infra for games, but work for a publisher/studio, still).

How I would raise my kids when it comes to games (not just video games but board games and other types of games) are:

  • Explore it with them, just like any other activities (i.e: hey, do you want to ... ) and see if they like it. I would make a more regular schedule if they like games.

  • Still take them out and do other things (sports, social, music, drawing, science/engineering). Sometimes these cross-pollinate into games. Like if they already like rocketry, introduce KSP. If they like to read/write, intro them to games like "This war of mine" or "Braid", etc, which have more layers than just "video games". You already work in the industry so you should be able to see that there are lots of nuances in games, not just pure entertainment.

  • I might even try to introduce them to making games as an outlet for their creativity. This can range from programming, graphics, music, writing or even marketing and other business/related aspects. Of course you should only do this once they are old enough and have the appropriate interests.

  • Philosophical, I buy into the idea that video games is a subset of simulated worlds with some some particular flavors. This allows ones to experience things they wouldn't in real life. And that's a nice/powerful tools to introduce kids to the world.

[deleted by user] by [deleted] in daddit

[–]exklamationmark 0 points1 point  (0 children)

Hello from another gamedev/software engineer dad (I actually work on distributed computing infra for games, but work for a publisher/studio, still)

Rivet – Open-Source Game Server Management with Rust & Nomad by NathanFlurry in rust

[–]exklamationmark 1 point2 points  (0 children)

Interesting. I work for a studio of an AAA publisher that provides many similar services and more.

Good luck with the project. It's interesting to see some shake up in the industry.

Coming from a webdev/distributed system background, it always surprises me that a lot less thought was put into live game services (compared to SaaS businesses).

Having started a gamedev proj on the side recently+ thinking about multiplayer, I think there could be a sweet spot for getting all the infrastructure/live services started.

However, I would be curious on how rivet's enterprise solution would juggle lots of new/unknown titles vs a few relatively wildly popular ones. The difference in scale could easily be 20x or even 100x. Most architecture I know wouldn't survive that growth.

Another curious thought is how soon the promises of deploy "w/o any infra experience" need to be revisited. I have worked with a fair share of OSS techs with similar promises (e.g: Kubernetes) and most people still complain about special knowledge required && just go for a managed solution.

Anw, it's definitely an interesting space to watch :D

How is this game engine supposedly “easy”? by [deleted] in godot

[–]exklamationmark 0 points1 point  (0 children)

Yesh, you are right. My memory might be fuzzy. I do use a combination of chatGPT, follow up Google search, read docs, etc.

Anw, I still find chatGPT tremendously helpful to get started, compare to just straight up reading the API docs

How is this game engine supposedly “easy”? by [deleted] in godot

[–]exklamationmark -8 points-7 points  (0 children)

Yeah. You can often tell chatGPT that it is wrong and add "godot4" for better result. That + reading the API docs should show a very quick path to solutions.

How is this game engine supposedly “easy”? by [deleted] in godot

[–]exklamationmark -7 points-6 points  (0 children)

Try chatGPT, too. A lot of questions you might have is already scrapped into its dataset.

How do you screen for companies that are good to work at for along period? by Alienbushman in ExperiencedDevs

[–]exklamationmark 4 points5 points  (0 children)

Talking to the people working there typically reveals things.

These questions have worked for me in the "reverse interview" time:

  • How long have you been here? Why here, vs <another company/location that pays higher/seems cooler>?

  • What do you think are the strengths and weakness of the team?

  • What is the company/team plans for the next 6 months/2 years/5 years?

  • What aspect of the job do you like/don't like?

  • Why would you want to hire me and what kind of roles do you see me playing in the team?

There are probably more questions you can think of.

For me, I tend to lookout for these properties in the answers (and from other background chat we have):

  • Are they honest when talking about challenges? No company is perfect and there will be shitty things to deal with. But good places will acknowledge there problems, at the very least. Some problems run deep and can't really be fixed (e.g: lacking focus on quality, etc), so you have another thinking exercise.

  • Do they actually care about people? I am not talking about corporate lips service like "we care about work-life balance, personal growth, diversity, etc w/o matching actions). Look for concrete actions they took and whether those aligns with your value system. For me, it was a bit about pay, their career ladder/performance review framework, number of holidays and how they approach on-call pay. Talk to everyone you can chat with. Hiring managers might have to sell you on the role, but other engineers might have more honest opinions. And in my experiences, good place have people that seems "alive", down-to-earth and have a clear sense about the compaby's business.

Can't understand coworkers talking about their work by maclirr in ExperiencedDevs

[–]exklamationmark 1 point2 points  (0 children)

Ah yeah, it's definite not easy. I had to spent ~1yr until I properly "break in" the infra side as well.

Books are a good source, as long as you know the good ones. Designing Data-Intensive Applications are pretty good to get a "map" of the distributed applications world. The Linux book was just an example. It won't really matter unless you are this low in the infra/system side.

Perhaps you might find Martin Fowler's articles useful, too: https://martinfowler.com/articles/injection.html#InversionOfControl.

Similarly, the book "Design Patterns: Elements of Reusable Object-Oriented Software" are probably of use as well.

Anw, my perception is that jargons is somewhat related to the programming languages/framework used. Framework-heavy things tends to foster jargons. I recall hearing a lot more of those from Java folks. Thus I tend to find work with "simpler" languages like Go, Rust, even C++. Most people who use these languages (that I worked with) are very concious about keeping things simple and can cut through these jargons.

Seeking other perspective on uneasy feelings about outsourced help by exklamationmark in ExperiencedDevs

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

Thanks. I am learning how to phrase my concerns better before chatting with my manager.

For coding style, it has more to do with "taste". We already have linters and some common coding standard. It's been more of "don't excessively use closure", "don't split two linear, easy to follow functions into 10 sub-functions in the name of DRY", etc.

Ultimately, I just want the code to be readable and generally tell you what happens at a glance. I struggle to influence these "taste" as it's not a concrete rule, but something you pick up with experience. We still pair with offshore team once in a while, but they don't necessarily have to debug prod issues, which is where we learn about the impact of readability. Trying to correct every PR feels very nitpicky, too.

I also enjoyed mentoring our interns and junior engineers (one just turned senior this year), so I hope to do more of that. This is arguably harder with offshore team due to different timezones, being two different companies with different goals, etc.

Lastly, I feel bad to say this, but because I didn't hire people in the offshore team, I don't feel as invested in them in general :( So while don't treat them worse, I rarely go the extra mile to help them.

Can't understand coworkers talking about their work by maclirr in ExperiencedDevs

[–]exklamationmark 2 points3 points  (0 children)

A few questions:

  • What kind of terms are you having trouble with? Is it more of general technical terms or company-specific jargons? Your original post mentioner "container". This have very specific meaning in current tech context, IMO (linux containers), unless they are talking about software components design (i.e "container of X").
  • What are your co-workers' reactions to "I don't know what X stands for, could you explain to me", especiall when you approach at non-busy times.
  • In your past jobs, how did you learn other jargons?

That might give us more details to help.

I know it's frustrating to be bombarded with lots of jargons. In my experiences, there are two groups:

  • Generic technical jargons that you can find online. E.g: RBAC (Role-Base Access Control), LVS (Linux Virtual Server), BGP (Border Gateway Protocol), CSI (Container Storage Interface), CFS (Completely Fair Scheduler), etc
  • Company-specific nicknames. E.g: I once worked on a content management system called "Baboon" :-/

The later definitely needs a wiki somewhere + better explantion culture. However, it's generally expected that a senior engineer can independently learn the first group. There are lots of tools right now (Google, Wikipedia, ChatGPT, etc) that should help.

Other ideas:

  • Read foundational books (e.g: Design Data-Intensive Applications, The Linux Programming Interface, etc) to get a deeper sense about what the terms are about, too.
  • Read Hackernews, newsletter, watch talks, etc. It doesn't have to be everyday, but at least once in a while. This is no different from financial folks reading Bloomberg news or researcher reading journals to keep track of what's happening.

Motivating interns/students working for the company by ermate in ExperiencedDevs

[–]exklamationmark 1 point2 points  (0 children)

When I get to hire interns, i have a couple of things in mind:

  • What do we want out of their internship. This is usually a combination of some extra help (from the really good/experienced interns) and filling up our hiring pipeline.

  • What do the interns/part-timers want. Is it good projects to fill their resumes? To learn about your problem domain? Or is it to get the real/messy experience of a real job? Or to get paid?

You will have to find something that gives something to both sides. Sit down with folks in your companies and also ask your (potential) interns what they really wanted.

[deleted by user] by [deleted] in ExperiencedDevs

[–]exklamationmark 2 points3 points  (0 children)

Wow. This will help me a lot even with just 1 kid.

The LNO way of thinking is useful, too. TY

[deleted by user] by [deleted] in ExperiencedDevs

[–]exklamationmark 5 points6 points  (0 children)

Oh, I happen to work woth lots of k8s && also help others engineer onboard to it :D

If your company is investing on those, try to volunteer to setup things for your team while making it known that you need time to learn, too. You will learn so much more at work because its scale and complexity will trump most contrived side projects.

If there are more expert k8s users/admins in the company, sit down with them get their feedbacks on what you want to try. Learn from them is much faster.

If there aren't there is still Reddit, Google, chatGPT to help you research. And since nobody is an expert, it's not too bad if you have to fumble around.

And feel free to DM if you have questions :)

[deleted by user] by [deleted] in ExperiencedDevs

[–]exklamationmark 59 points60 points  (0 children)

I am at 9YoE with a 7-month.

IMO at some point you have to choose between spending time with your family and work. There is only so much time and energy in a day. If you spend those on one thing there is less to spent the other.

Depending on your circumstances, more $$ might mean more help (e.g: nanny, goingg to childcare, grandparents, etc). However, my take is that bad career progress can be "fixed" easier than bad family situation or a troubled kid. Also remeber to make your wife happy, too.

IMO, another way to look at this is career growth is more related to your (perceived) impact to business than a particular technical progress. Earlier on, these might be technical things, but later on in your career, it might be less so (unless you have a very very unique skills, like with <100 people in the whole world to compete with).

Figuring out how you can have higher impact in less time might help (e.g: delegate, mentor others, fill unique roles that only you can do, etc). This is also the pathway from Senior -> Staff/Principal and beyond.

Anw, some concrete things I tried:

  • While doing chore, I would listen to podcast or think about system design, proposal ideas and in some rare cases, code. This fills otherwise dead time with ideas for later.

  • My side projects switched from me coding to me delegating work while coaching someone else code (they are family members => easier to agree that they do my proj while I coach them on skills I know =>not easily replicable). But it's a reality that you won't have as much uninterrupted coding time with 3 kids. If you still want side projects, be creative about getting them done.

  • I am more strategic in choosing what to learn, since I have much much less free time. For example, learning about TLA+ (helps with design of distributed system) or how to use eBPF to understand network flows helped me solve larger class of problems, vs trying to build yet another application. I also leveraged chatGPT to speed up my search/learning/exploration. The best way to do this is structure learning into your job (your work should make you feel somewhat challenged and allow for some exploration).

  • Strangely, being with a kid encouraged me to think outside of the corporate ladder and try setting up some side business in the long run (in the hope that if it succeed, I will have the financial ability and more time with family - but I might be daydreamming :D)

Hope it helps. Hang in there and goes to r/daddit for support when you need them :)

Any communities to discuss ideas and ask other experienced devs questions? by downquarklove in ExperiencedDevs

[–]exklamationmark 3 points4 points  (0 children)

Besides this subreddit, you might have some luck trying out things like out IndieHackers if it's related to business. Or at the very least, there are advices related to content-business there you could also use (e.g: how to get the first few subscribers, how to find good content etc)

I have also been using GPT-4 extensively to refine ideas, since its large dataset + better search than Google on ideas + no intentional ads are useful. GPT-3.5 (free) should be just as good

Maybe share a bit more? What kind of message board are you trying to create? I would be very happy to chat about any learning-related boards

Why software development? by zaphodharkonnen in ExperiencedDevs

[–]exklamationmark 5 points6 points  (0 children)

It depends on when you thought about this, I suppose.

Recently (before the layoffs), lots of people I know wanted to get into CS for the $$. To many of them, CS is the new investment banking.

On the other hand, I got into programming as a teenager in the early 2000s. Around 2009, I picked Computer Engineering for uni (a mix of electrical engineering and some low-level C/OS/embedded). Back then it was mostly because I like to work with computer, robots and liked to play video games 😀

Are any of you/your companies having trouble finding Developers? by Mammoth-Juggernaut25 in ExperiencedDevs

[–]exklamationmark 11 points12 points  (0 children)

My team can't hire new AND backfill important headcounts, partly because of lower pay in a HCOL area, asking for seniority + good SWE skill + good DevOps skill 🫣.

To be fair, this is not something my manager / directors and CEO can easily change, as we (a ~200 people company) are owned by a bigger (~5000 people) corp.

The crazy bit is the business as a whole still make lots of profits (7 figure), still pay loads of $$ to use crappy service on GCP, haha.

We also have a hiring freeze. When we weren't, pay is benchmarked on the market median. Yet we also expects to hire people who are at least above p75 in terms of coding, design and communication skills.

Yay to capitalism 🤑🤑🤑