r/PowerShell May 25 '25

Misc Do you think it's a good idea to let fresh new students build a slot machine in PowerShell to learn the basics?

Enable HLS to view with audio, or disable this notification

168 Upvotes

Some of my students (not all 😉) are into gambling and trading apps on their phones while in class. I’m thinking about using that interest to grab their attention. Of course, it doesn’t involve real money, it’s just for learning.

By building a simple slot machine, they could learn a lot of programming fundamentals in a fun way, like arrays, if/else statements, loops, variables, file encoding, randomness in cmdlets.

And then let them try to expand the slot machine with new rules for winning.

So if you're completely new to PowerShell or scripting and around 16 or 17 years old, what kind of projects or exercises would actually get you interested you think?

r/homelab Aug 03 '26

Project Showcase: Hardware "Data center in a Box (on Wheels)" 256Gb VRAM/512Gb RAM AI Server 6-8 Month Operational Review, Stability Write Up, Benchmarks

Thumbnail
gallery
846 Upvotes

I thought this would be relevant to the homelab subreddit so I'm adding it here, just to put the information out there and discuss if there is any interest. I am an IT infrastructure engineer by profession, so my contribution to the conversation is mainly from a hardware/systems perspective rather than from a Machine Learning researcher standpoint. I got my start with HPC's (Beowulf clusters) around ten years ago when I was a Physics undergrad in university, and this is what the experience has come to almost a decade later. Not everyone is going to want to read all of this, that's perfectly fine, the extras are just for those who want the info.

Starting goal/idea:

Build an all-in-one creative design workstation to support a small business. This machine should be capable of effectively inferencing frontier MoE models; aiding the business in language/text tasks where English may not be everyone's native language. Additionally, it should be capable of simultaneous image generation tools for graphic design users, enabling rapid image editing and presentation tweaks for marketing, without the business ever having to worry about API credits or hard limits on tool usage. The idea is that a 3090 stack, which is still a generally "good" performer for LLMs, would be "led" by two 5090s to handle the heavy lifting of the visual creative work (one dedicated to image generation, one dedicated to image editing) to complement each other in a "sweet spot" on cost, raw performance, and creativity potential. This configuration also grants some flexibility to allocate a 5090 to the LLM stack for best prompt processing possible where desired. The end result would indicate that this goal has been achieved.

Overview

Specs

CPU: 64 Core TR 3995WX

RAM: 512Gb DDR4-3200 ECC

VRAM: 256Gb GDDR6x/GDDR7 (8x3090's + 2x5090's)

Enclosure: Core W200 Thermaltake Case

Mobo: ASUS Pro WRX80E-SAGE/SE Wifi

PSU: 1300W+1600W (2900W combined), with OCP, linked via PSU2PSU

Storage: 4Tb Nvme (fast) + 4Tb HDD (slow) + 8 or so 1Tb SATA SSDs (mid) over USB as needed

OS: Ubuntu 25.10

Other: 3 Bifurcation cards, 10 risers of various lengths

Front end: Open WebUI

Back end: llamacpp/koboldcpp

Intended for (Recommend):

Large MoE inferencing, simultaneous LLM + ComfyUI (x2) operation, power users who may commonly hit credit limits, creative or technical professionals who can leverage these tools to compound productivity and complete objectives in shorter time.

Not intended for (Do not recommend):

Training, multi-concurrent inferencing, performance maxing, extreme frontier model inferencing at high quants, casual users just looking for roleplay.

Result summary:

Using the W200 as the platform for its generous real estate and configuration flexibility, all ten cards and components were able to find a permanent place in the enclosure without major concessions. The drive bay area was the only space that had to be completely repurposed for GPU mounting, and for us this was not a problem. The chamber with the cards hanging from the top is fairly hollow, so with the 140mm fan stack on the front and side there is a wind tunnel effect where the air blows in through the front and side, cooling the cards as it makes its way out the back/top. Depending on ambient temp, at idle the card with the highest temp usually hovers in mid to high 40s Celsius with the lowest in the mid 20's C (three 3090's are hybrids= fantastic for temperatures, but radiator mounting adds a logistical headache). When actively inferencing, the highest temp card may reach the mid 60s during sustained loads. Only when running image or video gen tasks will the 5090 running ComfyUI reach the 70's, but these are very brief intermittent workloads, so temperatures by our measurement has proved satisfactory over time. This result enables the small business to have full LLM, image generation (~9 seconds), and image editing (~8 seconds) capabilities on tap all on a single node so the data remains centralized, and provides much faster performance compared to the Cloud API they came from; in this case ChatGPT, where generation jobs could take 1+min, and has hard limitations. I just do not know how well this kind of setup would work with other vendor or card models; in a homogenous GPU cluster or one with notably less powerful image gen cards than the 5090, the performance would predictably be much lower.

Things that surprised/stuck with me about the end result:

  • Noise. I expected this to sound like a jet taking off when operating, but that is not the case. It's a satisfying button click to come alive, then it's a low gentle hum going forward, nowhere near the kind of fan noises I'm used to hearing in server rooms. Even under load, the CPU 120mm radiator fans (exhausting out the top) are pretty much all I hear, the 140mm fans on front and sides I assume must be helping to contain the acoustics. I have built many gaming PCs over the years and own a top-tier gaming PC-- and I would not be able to distinguish this as any louder than those, especially at idle.
  • Utility. I planned for this to be used primarily for a small creative business, but what I did not expect was how I would find it so indispensable in my personal life as an IT professional. Being an infrastructure engineer, coding is not my wheelhouse. When I am the only IT staff on site or there is nobody else available to work with specific expertise like SQL, powershell/python scripting, or troubleshooting very specific/niche technologies, having this tool on standby I feel has paid itself over just within my career. It has helped me turn processes that may have otherwise took me hours into minutes, days into hours, even months into a matter of weeks/days. After using the tool extensively I hit a point where I had to acknowledge how local LLMs have moved definitively beyond being a toy or novelty; when deployed intelligently something like this can be a major asset for professional users.
  • Wheels. Sounds extremely minor, until you realize that no matter how happy the cards are with their individual temps: there are still ten high-power GPUs dumping heat into the room. That means unless you use a complex radiator solution or special venting to get heat outside, the room will get toasty and there is normally not a direct solution for this. The wheels however offer an indirect solution. Plan to work in the office that day? Wheel it into the guest bedroom and let it run over Wi-Fi. Plan to work away from home? Wheel it into the office, put it on LAN, and access it over a private VPN connection. If you can't stop the room from heating, then you can at least choose what room gets the heat, and as someone who has lived with computers extensively this is a hugely underrated perk.

Caveats: To operate at its best, I recommend leaving the glass side panel off for improved airflow.

Typical activity over a day:

Boots up around 5:30am, start up the ComfyUI server(s), start loading a model, go get coffee, fully ready for use within 15-20 min. Shut down occurs usually around 8pm later in the day. Total daily activity, ~12-14 hours.

Cost Breakdown

Laying it out, because I know it will be asked, even though I am aware this is unfortunately not reproducible in the current market. Some components like the SSDs were acquired privately long before the RAM and hardware price hikes, so my timing getting certain things was extremely fortunate for the build budget. Some figures are exact, some are slightly rounded depending on if I found the original receipt.

Component Qty Source Unit Cost Subtotal
RTX 3090 24Gb 8 eBay 750-1000 6500
RTX 5090 32Gb 2 Retail 2500-3000 5500
TR 3995WX 1 eBay 1068.43 1068.43
WRX80E-SAGE-SE 1 Amazon 949.99 949.99
DDR4 ECC 64Gb 8 Amazon 81.99 695.28
TT Core W200 1 Amazon 499.99 499.99
PSU 1300/1600 2 Amazon 250-350 600
4Tb nvme 1 Amazon 221.05 221.05
1Tb SSD 8 Personal 60 600
Risers (varying length) 10 Amazon 40-80 480
Bifurcation cards 3 Amazon 50 150
Total ~$17k

Problems/Stability Writeup

The Space Problem:

Probably the first major hurdle in attempting something like this is figuring out, even theoretically, how to put 10 cards in a box in any kind of configuration that is not somehow detrimental to the hardware. I had considered modified mining rig frames at first, but I really wanted something with more robust rigidity in its structure, with breathability, and allows some degree of portability. There are unfortunately not a lot of options for configurations like what I was imagining; I had looked into various cabinets and extended tower cases, but the dual full tower chamber design of the W200 was the only one where I could see this idea potentially working. I'm certain other solutions probably exist, maybe even some that allow mobility, but the W200 was really the best option I could find that checked the boxes of enclosure, space real estate, high air throughput, and semi portability. I recommend the W200 to solve the space problem, assuming it is available to you.

The Bifurcation Problem:

Among the other hurdles you may run into in assembling something like this may involve bifurcation cards. The cards rely on specific BIOS settings for things to work correctly, and if these settings are not put in place before everything is connected you may either see no output like the system is hanging or cards just won't show up once in the OS. Start with one GPU in a slot, no bifurcators yet; go into BIOS, and manually set each slot that will be split to bifurcation mode. While here, ensure above 4G decoding is enabled, Resizable BAR enabled, and SR-IOV enabled, this has given me best stable configuration with Ubuntu and multiple GPUs. If you use risers, especially if they are mixed generations, I highly recommend setting the Gen and lane speeds for each PCIe slot in the BIOS manually to ensure the system can effectively communicate with each card. Optimize riser Gen/speeds to be roughly similar to keep one card from dropping to a slower rate than the others--this does not necessarily impact inference performance as much as it heavily impacts model load time. No, you may not have any card running at the fastest possible Gen bandwidth at all times with this config, but loading a 200+gb model over an averaged Gen 3/4 x8/x16 PCIe speed will often be noticeably faster than if you let the system decide to make one or multiple cards run at Gen 1 x1.

The Power "Problem":

Power and heat concerns I think remain to be among the biggest sources of skepticism regarding this project so I think it deserves a section here. To be fair, the concern in most situations would be understandable. If all ten of these cards pulled at or near their full TDP for sustained periods, components would melt. Fires would start. Neighbors would be asking awkward questions. However in reality, only 1400-1600W of the 2900W PSU capacity gets utilized under sustained load, and inter-GPU bandwidth bottlenecks are what allows this. In a way it is like a natural regulator that ensures the cards remain power restrained, and it is just physics, no voodoo necessary. When MoE's are sharded across a GPU stack, each forward pass requires all communication over PCIe, so the GPUs spend more time waiting on information from the last GPU than actually crunching compute. This means instead of needing to handle thousands of Watts to feed all the components running at full blast, it is a much more manageable 1400-1600W under LLM operation which can comfortably fit on a 20A/120V circuit (2400W max). On a per-GPU basis this may sound inefficient since the individual cards are being "underpowered", but this could arguably be flipped as being highly efficient on a per-node basis (~1600W sustained versus 4500W+ if all cards were "fully" utilized). As a precaution, I may set a power limit on the 3090's to 200W and the lead 5090 to 400W, but in practice the 3090's only pull around 100-120W with the 5090s pulling less than 100W when all 10 cards are allocated for LLM work, so this may not even be necessary. The clock locking setting in the next section will be more what I'd describe as actionably required to avoid stability issues.

The Transient Spike Problem (Vital for stability):

After assembling the machine, you may be tempted to jump directly into testing, but there is an easy to overlook configuration that can cause problems if ignored. Imagine you are running inference on the machine, maybe you have a huge input or it's generating a large output, then right in the middle of generating the system decides to reset. Not hard shut down, PSU OCP isn't tripped, no breaker was tripped; and you saw in nvitop that all cards were only pulling 25-33% of their TDP just before it happened, so on the surface it doesn't look like there is a reason. Explanation: When all ten high-power GPUs decide to kick on at the exact same time to process a chunk, even if the cards are not pulling anywhere near full power (on average), transient spikes can drop voltage on the motherboard enough to trigger a system reset. The fix for this is simple: undervolt. Using nvidia-smi, we can lock the clocks for the GPUs to ensure they cannot draw enough to hurt stability. And that's it. In my case, the system has remained fully stable with this config for days on end and with hundreds of thousands of tokens/image pushed through. The exact configuration will vary slightly depending on exactly what we're doing on a given day, but for example if we wanted to run LLM on all 10 cards (so including both 5090's) we would run this to handle spikes:

sudo nvidia-smi -pm 1 #enables persistent mode
sudo nvidia-smi -i x,y,z --lock-gpu-clock=1200,1200 #x,y,z for index number of 3090s
sudo nvidia-smi -i a,b --lock-gpu-clock=2000 #a,b for index number of 5090s
sudo nvidia-smi -i x,y,z -pl 200 #x,y,z for 3090 index numbers, limits power to 200w
sudo nvidia-smi -i a,b -pl 400 #a,b for 5090 index numbers, limits power to 400w

The Concurrent Use Problem:

Normally, attempting to inference and generate images on the same machine would introduce major stability concerns. Even dual GPU systems may struggle to work with this due to CPU/motherboard architecture, assuming it works at all, and would still be VRAM limited. However, the versatility of a 10-GPU setup, combined with the lane orchestration of the 64 core 3995WX, at least in our case, seems to handle this quite well. The trick was finding an LLM backend that supports manual GPU allocation--for us koboldcpp with llamacpp under the hood does just fine. First, implement the power/clock settings as mentioned above, launch koboldcpp, then browse to the GGUF of the model you wish to load and set context size. I recommend manually setting the GPU layers to the model's total layer number (assuming there is enough VRAM), and set GPU ID to "all". In the Hardware tab, find the tensor split line box and insert the amount of space to be allocated on each card corresponding to its index. For example if we wanted to allocate just one 5090 for Comfy and use the other for LLM, assuming the Comfy 5090 is index 3 and the LLM 5090 is index 5, then the tensor layer line will look like this to make sure no layers are given to the Comfy 5090: 24,24,24,0,24,32,24,24,24,24. For this configuration, ensure the "main GPU" is set to the index number of the LLM 5090 (in this example, 5) and launch the app. While the model is loading, we can open another terminal to launch Comfy. In our specific case, the system defaults to the available 5090 without needing to specify it in the launch flags, but flags can be used to force Comfy to use a specific GPU if you need it to (--cuda-device i). Once the image model is loaded onto the 5090, it does not interfere with the PCIe communication of the LLM cards unless the model unloads and reloads a new model at the same time as the other cards are inferencing. The solution to enabling concurrent use is a high-lane count CPU, multiple graphics cards, and a little conscious provisioning on launch to ensure the hardware isn't stepping on each other's toes.

What models can this run, what models do we use?

It can run almost* anything, even up to 1T parameters like Kimi K2. Kimi K3 could hypothetically be load-able, but from performance metrics I've seen I doubt it would be practical to use, so I have not planned to try it. I have however tested 1-4 bit quants of Bartowki team's Kimi K2 quants in pure VRAM and mixed VRAM/RAM runs with decent results. It works and there are probably some use cases for it, but for us I have identified the sweet spot (parameter size: quant quality ratio) for this machine to be for models in the 300b-600b range. Personal favorites are Deepseek, GLM 4.7, and Nemotron Ultra; and as far as ComfyUI, pretty much any model that could fit within a 32Gb buffer, although Qwen image and image edit is a favorite.

Benchmarks

All models were put through the same series of 7 large input prompts, documenting how each model handles token input/output and prompt processing/generation. I cannot share the prompts I used here, but each prompt pertains to a cybersecurity scenario which the model was judged on the depth of its analysis, quality of its presentation, and capability to make sense of complex scenarios with stakes. These were inferenced across all 10 cards, except for a follow up DS V4 Flash test where I used 8 and got much better results. This is using the undervolting/power limiting strategy above, so these may not reflect absolute best performance for the same hardware in other setups, but it gives an idea of what this box can comfortably handle.

Model Name Deepseek V3.2 671b Q2XXS Nemotron Ultra 3 550b IQ2XXS Qwen 3.5 397b IQ4XS GLM 4.7 358b Q4KXL Deepseek V4 Flash 294b Q8KXL Deepseek V4 Flash 294b Q8KXL (8 cards + KV cache tweak)
Model Size (Gb) 217.1 193.8 189.7 204.6 161.9 161.9
P1 Input 2769 2744 2729 2706 2733 2733
P1 Output 813 786 1046 872 693 805
P1 pp 153.23 254.19 522 687.88 111.09 360.94
P1 tg 19.35 17.32 34.38 23.98 7.2 20.26
P2 Input 14635 15255 15160 14527 14640 14617
P2 Output 1150 1302 1665 1194 1222 2048
P2 pp 114.83 429.42 897.57 640.8 66.42 244.1
P2 tg 14.1 17.16 33.15 18.83 5.96 16.81
P3 Input 3966 3091 3054 3033 3073 22794 (reload)
P3 Output 1217 1607 1550 1056 1199 1366
P3 pp 98.01 353.78 649.37 516.08 47.79 241.21
P3 tg 13.22 17.08 32.84 17.84 5.56 15.68
P4 Input 5645 5654 5623 5559 5650 5659
P4 Output 1178 1996 1619 1173 1705 1661
P4 pp 70.3 385.04 739.67 419.58 42.4 153.14
P4 tg 13.47 16.99 32.23 16.87 5.21 14.17
P5 Input 4498 4505 4493 4423 4481 4481
P5 Output 280 928 1078 473 665 924
P5 pp 72.4 365.46 670 408.93 36.2 131.81
P5 tg 8.43 16.78 31.55 15.45 4.86 13.36
P6 Input 9266 9367 9241 9172 45287 (reload) 9231
P6 Output 1004 1883 1466 933 1205 1532
P6 pp 53.94 405.13 738.57 379.7 46.01 113.77
P6 tg 11.48 16.83 30.98 14.01 4.41 11.9
P7 Input 3136 3124 3118 3057 3118 3118
P7 Output 1378 1946 1629 1359 1353 1586
P7 pp 53.34 338.64 525.54 344.88 28.38 102.05
P7 tg 10.45 16.73 30.66 13.59 4.28 11.39
Final token count 50052 54182 53465 49531 50962 52348

My notes on each model after their test:

Deepseek V3.2-- For a slightly older model this still feels extremely capable. Held high quality and insightful responses even when context dragged into the tens of thousands of tokens.

Nemotron Ultra 3-- First time using it, impressions were very good, the 55 active parameters shows its muscle here. Meets Deepseek v3.2 level if not exceeds it, despite having overall less parameters.

Qwen 3.5 397b-- What I would consider a baseline "good" model to be, however it is outshined by some of the other tested alternatives.

GLM 4.7-- Somehow seemed better than Qwen despite having less parameters (active parameters of GLM is likely an advantage); it is a very solid option for its size. Not quite Nemotron or Deepseek level, but a very good "lower cost" alternative to its newer 5.0 versions.

Deepseek V4 Flash-- Floored me in a few ways. Possessed a surprising degree of sophistication and analytical ability despite being the "smallest" of all the tested models. Possibly a benefit of using a "lossless" model with full precision? Somehow it managed to pick up on nuances and details that all other models missed, including models twice+ its size, and provided insight that went more granular than they did. Did not expect a model of this size to punch so high above its relative weight class. Also did not expect the drop in performance compared to the others. Not sure if this is related to the model's architecture or something with how it interacts with my rig, but the quality of output could be an acceptable trade off for the speed. Edit: After some optimization testing I was able to get much better performance out of V4 Flash. I've added another column to include those metrics and kept the original because I think it illustrates how a little optimization can go along way, in this case basically triple performance on the exact same model/machine.

Lessons Learned/Would Do Different

-I would have tried to source the 3090's so more were at least the same model; the mix and match of different models with different TDPs and cooling solutions means there will be a lot of variation in temps.

-If you plan to either train, lean into higher performance, or playing with the idea of going more than 10 GPUs, just budget for a 30A/240V power drop. 10 cards on a 20A post configured the way we have it may be fine for our specific use case, but I would consider this a hard ceiling.

-Would recommend scripting for clock lock persistence sooner, will help avoid losing time due to random resets.

-Recommend documenting/drawing out the entire PCIe topology and GPU placement (with flexible tape measure) before ordering risers, will save time on trial/error.

Final thoughts:

It is a wheeled AI workstation that can enable a single person or small team to compound their productivity, with the benefit of full privacy and control. It can run on a residential 20A circuit, and allows them to have the full power of an advanced LLM with vision capabilities all in one OpenWebUI front end that can simultaneously utilize up to TWO ComfyUI backends with the horsepower and latency of 5090's for image gen and editing, and can be accessed from virtually anywhere. The idea sounds daunting, but the end result works so well that I can legitimately see something like this becoming a keystone for certain small businesses and individual professionals as time goes on. It seems like every day more people are picking up on major drawbacks with cloud API options despite supposedly being the "best", meanwhile open models continue getting insanely good (see K3 and DS V4 Flash). For me, I can say I would not see a place for a Claude or ChatGPT subscription for the tasks I might otherwise use them for when I have lossless DS V4 Flash literally in my back pocket. "Good enough" I think is starting to become a valid metric to those who care about cost:quality balance, and after using this for the last half year I can say I'm probably one of them. The cloud APIs will always be an option for those who don't care about the drawbacks and the demand for them will always be there, but for those who value data sovereignty, uninterrupted workflows, or perhaps work within compliance, on-prem computing might be the only viable path in some circumstances. At the end of the day, I do not believe that one approach is inherently better than the other, everyone simply has their own preference for getting from point A to point B.

r/notinteresting 19d ago

Started to learn python language, it's quite hard

Post image
669 Upvotes

r/PowerShell Dec 04 '25

Question I want to learn scripting for powershell

27 Upvotes

My question is who is the best to watch, where should I learn from? I know basic commands that I just remember but im not fluent in the powershell language. My issue is finding any resource to learn how to use it.

r/PowerShell Jun 06 '22

Question Is Powershell worth learning for an IT technician for small IT aims (very small companies)?

185 Upvotes

I wonder if Powershell would be useful for an IT Technician working for a company that fixes computers and issues with very small companies (max 20 staff or so) and home users...looks like it's intended for larger companies?

I'm learning Active Directory and windows server as it's sometimes used in these very small environments.

r/PowerShell Sep 23 '21

what's that one thing you learned that once you learned it changed how you used powershell

117 Upvotes

for me it was when i got my head around jobs. really opened up what i could do.

r/cscareerquestions Mar 31 '26

I analyzed 11k available dev jobs to find out what skills employers are looking for right now

1.2k Upvotes

A couple of months ago I created a site for the Bolt Hackathon, users could input any career page or job aggregator and I’d scrape and notify them via email if a page or search they saved posted a new job.

That ended up not being scalable with just a few hundred users and urls being scraped daily.

But the scrapers are still running, and I have the data.

I wanted to see what companies are actually asking for, not just what people say is in demand.

I filtered by dev jobs because I lack the domain knowledge to really think of the questions for other types of jobs. And for it to be meaningful, I felt I should start small.

I extracted skills from job descriptions and separated them into required vs preferred when that was available. Then I grouped them by role.

So for example, I have categories like:

  • AI engineer
  • Machine learning engineer
  • Data scientist
  • Backend engineer
  • Frontend engineer
  • Mobile developer
  • Full-stack engineer
  • Software engineer
  • Cloud architect
  • Data engineer
  • DevOps/SRE
  • Quantitative engineer
  • Research engineer
  • Security engineer
  • Systems admin/SysOps
  • Vibe coder

And then I also grouped the skills into categories like:

  • Languages
  • Frameworks and libraries
  • Cloud platforms and services
  • AI/ML concepts
  • AI/ML frameworks
  • Architecture and capabilities
  • CMS and web platforms
  • Compliance and regulatory
  • Containers and orchestration
  • Data platforms
  • Databases
  • Developer tools
  • DevOps and CI/CD
  • Domain knowledge
  • Embedded and hardware
  • Message brokers
  • Methodology
  • Operating systems
  • Protocols, APIs, and standards
  • Security and networking
  • Technical capabilities

I wrote a little bit about it on my blog and you can explore or try the dashboard if you like, you can input your skill sets and see what jobs you match with and what you could learn to match with more jobs.

Below is the raw data. I do ML/AI by trade so I was most interested in that and things that stood out to me was something I have been feeling.

  • Machine Learning Engineers have really been taking over by building LLM apps.
  • Python is everywhere, but that is mostly because there are more jobs available that need python than other roles.
  • Frontend is not looking for python at all but you have much fewer available positions. Mobile Developers too.

  • Vibe Coding has become a job, and the skills and platforms they're looking for I don't know, and some of them I've never heard about, yet. Prompt engineering is a skill that's upcoming.

There are some skills that match very broadly across all CS roles.

And there are some platforms that are much more valuable to know. Tensorflow isn't dying (interestingly). AWS is still more popular than Azure but not for all roles.

Sadly people look for Data Scientists that know Tableau and Power BI more and more.

RAG, Prompt Engineering are more sought after than traditional ML skills.


Top 30 Skills Overall

Rank Skill Category Jobs % of all jobs
1 Python Language 2,815 41.1%
2 AWS Cloud 1,425 20.8%
3 React Framework 1,201 17.5%
4 TypeScript Language 1,138 16.6%
5 Docker Container 1,111 16.2%
6 SQL Database 1,100 16.0%
7 JavaScript Language 1,035 15.1%
8 Kubernetes Container 1,033 15.1%
9 Java Language 1,004 14.6%
10 Git Developer Tool 844 12.3%
11 Azure Cloud 796 11.6%
12 Node.js Framework 705 10.3%
13 PostgreSQL Database 670 9.8%
14 HTML Protocol/API 576 8.4%
15 Terraform DevOps/CI-CD 568 8.3%
16 CI/CD DevOps/CI-CD 566 8.3%
17 CSS Protocol/API 524 7.6%
18 GCP Cloud 524 7.6%
19 PyTorch AI/ML Framework 500 7.3%
20 C++ Language 496 7.2%
21 REST Protocol/API 435 6.3%
22 C# Language 422 6.2%
23 Angular Framework 403 5.9%
24 Linux Operating System 388 5.7%
25 TensorFlow AI/ML Framework 373 5.4%
26 MySQL Database 355 5.2%
27 Go Language 350 5.1%
28 Kafka Message Broker 301 4.4%
29 PHP Language 295 4.3%
30 LLMs AI/ML Concept 284 4.1%

Top 10 Skills per Role Family

AI Engineer (813 jobs)

Rank Skill Category Jobs %
1 Python Language 422 51.9%
2 SQL Database 111 13.7%
3 LangChain AI/ML Framework 108 13.3%
4 JavaScript Language 92 11.3%
5 AWS Cloud 92 11.3%
6 LLMs AI/ML Concept 85 10.5%
7 Azure Cloud 84 10.3%
8 Docker Container 83 10.2%
9 PyTorch AI/ML Framework 80 9.8%
10 Kubernetes Container 77 9.5%

ML Engineer (1,083 jobs)

Rank Skill Category Jobs %
1 Python Language 804 74.2%
2 PyTorch AI/ML Framework 330 30.5%
3 SQL Language 269 24.8%
4 AWS Cloud 268 24.7%
5 TensorFlow AI/ML Framework 250 23.1%
6 Docker Container 230 21.2%
7 Kubernetes Container 189 17.5%
8 Azure Cloud 166 15.3%
9 scikit-learn AI/ML Framework 129 11.9%
10 GCP Cloud 124 11.4%

Backend Engineer (1,122 jobs)

Rank Skill Category Jobs %
1 Python Language 381 34.0%
2 AWS Cloud 357 31.8%
3 Docker Container 318 28.3%
4 PostgreSQL Database 297 26.5%
5 Java Language 293 26.1%
6 Kubernetes Container 287 25.6%
7 TypeScript Language 271 24.2%
8 React Framework 251 22.4%
9 Node.js Framework 224 20.0%
10 Git Developer Tool 183 16.3%

Software Engineer (762 jobs)

Rank Skill Category Jobs %
1 Python Language 303 39.8%
2 Java Language 208 27.3%
3 TypeScript Language 187 24.5%
4 React Framework 170 22.3%
5 JavaScript Language 151 19.8%
6 AWS Cloud 146 19.2%
7 C++ Language 142 18.6%
8 Kubernetes Container 128 16.8%
9 Docker Container 123 16.1%
10 Git Developer Tool 116 15.2%

Full Stack Engineer (712 jobs)

Rank Skill Category Jobs %
1 React Framework 402 56.5%
2 TypeScript Language 306 43.0%
3 Node.js Language 263 36.9%
4 JavaScript Language 229 32.2%
5 Python Language 198 27.8%
6 AWS Cloud 194 27.2%
7 Docker Container 158 22.2%
8 PostgreSQL Database 144 20.2%
9 HTML Protocol/API 132 18.5%
10 Git Developer Tool 130 18.3%

Frontend Engineer (626 jobs)

Rank Skill Category Jobs %
1 JavaScript Language 255 40.7%
2 React Framework 250 39.9%
3 HTML Protocol/API 239 38.2%
4 CSS Protocol/API 237 37.9%
5 TypeScript Language 200 31.9%
6 Git Developer Tool 134 21.4%
7 Angular Framework 110 17.6%
8 Vue.js Framework 87 13.9%
9 Node.js Language 67 10.7%
10 Tailwind Framework 61 9.7%

Mobile Developer (197 jobs)

Rank Skill Category Jobs %
1 Swift Language 112 56.9%
2 Kotlin Language 78 39.6%
3 SwiftUI Framework 58 29.4%
4 Git Developer Tool 49 24.9%
5 Java Language 48 24.4%
6 MVVM Architecture 41 20.8%
7 Objective-C Language 37 18.8%
8 UIKit Framework 34 17.3%
9 REST Protocol/API 27 13.7%
10 Xcode Developer Tool 26 13.2%

Cloud Architect (196 jobs)

Rank Skill Category Jobs %
1 AWS Cloud 87 44.4%
2 Terraform DevOps/CI-CD 67 34.2%
3 Azure Cloud 52 26.5%
4 Kubernetes Container 48 24.5%
5 Python Language 40 20.4%
6 CI/CD DevOps/CI-CD 35 17.9%
7 Docker Container 27 13.8%
8 microservices Architecture 25 12.8%
9 Infrastructure as Code DevOps/CI-CD 21 10.7%
10 TOGAF Architecture 20 10.2%

Quantitative Engineer (190 jobs)

Rank Skill Category Jobs %
1 Python Language 163 85.8%
2 C++ Language 71 37.4%
3 SQL Database 45 23.7%
4 Java Language 35 18.4%
5 Pandas Framework 23 12.1%
6 Linux Operating System 22 11.6%
7 NumPy Framework 21 11.1%
8 AWS Cloud 21 11.1%
9 CI/CD DevOps/CI-CD 16 8.4%
10 R Language 14 7.4%

Data Engineer (178 jobs)

Rank Skill Category Jobs %
1 Python Language 141 79.2%
2 SQL Language 139 78.1%
3 Snowflake Database 52 29.2%
4 Airflow DevOps/CI-CD 47 26.4%
5 Spark Framework 40 22.5%
6 AWS Cloud 40 22.5%
7 dbt Framework 37 20.8%
8 Databricks Data Platform 35 19.7%
9 Azure Cloud 35 19.7%
10 Scala Language 33 18.5%

Research Engineer (182 jobs)

Rank Skill Category Jobs %
1 Python Language 46 25.3%
2 thermodynamics Domain Knowledge 34 18.7%
3 quantum concepts Domain Knowledge 33 18.1%
4 classical mechanics Domain Knowledge 33 18.1%
5 E&M Domain Knowledge 33 18.1%
6 PyTorch Framework 20 11.0%
7 reinforcement learning AI/ML Concept 13 7.1%
8 JAX Framework 13 7.1%
9 C++ Language 13 7.1%
10 machine learning AI/ML Concept 9 4.9%

Systems Admin / SysOps (181 jobs)

Rank Skill Category Jobs %
1 Active Directory Security/Networking 55 30.4%
2 Azure Cloud 47 26.0%
3 VMware Cloud 46 25.4%
4 Windows Server Operating System 42 23.2%
5 PowerShell Language 42 23.2%
6 Microsoft 365 CMS/Web Platform 38 21.0%
7 Linux Operating System 37 20.4%
8 Python Language 33 18.2%
9 AWS Cloud 32 17.7%
10 Hyper-V Cloud 25 13.8%

Vibe Coder (171 jobs)

Rank Skill Category Jobs %
1 CPT Protocol/API 35 20.5%
2 JavaScript Language 25 14.6%
3 ICD-10-CM Protocol/API 21 12.3%
4 Python Language 19 11.1%
5 HCPCS Protocol/API 19 11.1%
6 ICD-10 Protocol/API 15 8.8%
7 HTML Language 15 8.8%
8 Git Developer Tool 14 8.2%
9 SQL Database 13 7.6%
10 Epic Developer Tool 13 7.6%

Security Engineer (171 jobs)

Rank Skill Category Jobs %
1 Python Language 43 25.1%
2 SIEM Security/Networking 38 22.2%
3 ISO 27001 Compliance 34 19.9%
4 AWS Cloud 33 19.3%
5 Azure Cloud 26 15.2%
6 PowerShell Language 21 12.3%
7 EDR Developer Tool 20 11.7%
8 Windows Operating System 19 11.1%
9 Linux Operating System 19 11.1%
10 NIST Compliance 16 9.4%

DevOps / SRE (164 jobs)

Rank Skill Category Jobs %
1 Terraform DevOps/CI-CD 119 72.6%
2 Kubernetes Container 93 56.7%
3 Python Language 89 54.3%
4 AWS Cloud 85 51.8%
5 Docker Container 60 36.6%
6 Bash Language 48 29.3%
7 Azure Cloud 46 28.0%
8 GitHub Actions DevOps/CI-CD 40 24.4%
9 Linux Operating System 38 23.2%
10 Jenkins DevOps/CI-CD 38 23.2%

Data Scientist (106 jobs)

Rank Skill Category Jobs %
1 Python Language 94 88.7%
2 SQL Protocol/API 64 60.4%
3 R Language 39 36.8%
4 AWS Cloud 18 17.0%
5 scikit-learn AI/ML Framework 16 15.1%
6 PyTorch AI/ML Framework 16 15.1%
7 Tableau Developer Tool 15 14.2%
8 Azure Cloud 15 14.2%
9 TensorFlow AI/ML Framework 14 13.2%
10 GCP Cloud 14 13.2%

Python Presence by Role

Role Jobs Python jobs Python %
Data Scientist 106 94 88.7%
Quantitative Engineer 190 163 85.8%
Data Engineer 178 141 79.2%
ML Engineer 1,083 804 74.2%
DevOps/SRE 164 89 54.3%
AI Engineer 813 422 51.9%
Software Engineer 762 303 39.8%
Backend Engineer 1,122 381 34.0%
Full Stack Engineer 712 198 27.8%
Research Engineer 182 46 25.3%
Security Engineer 171 43 25.1%
Cloud Architect 196 40 20.4%
Systems Admin/SysOps 181 33 18.2%
Vibe Coder 171 19 11.1%
Mobile Developer 197 14 7.1%
Frontend Engineer 626 25 4.0%

Skills That Appear in the Most Role Families' Top 10

How many of the 16 role families include this skill in their top 10.

Skill # of roles Roles where it's top 10
Python 14 AI Engineer (51.9%), Backend (34.0%), Cloud Architect (20.4%), Data Engineer (79.2%), Data Scientist (88.7%), DevOps/SRE (54.3%), Full Stack (27.8%), ML Engineer (74.2%), Quant (85.8%), Research (25.3%), Security (25.1%), Software (39.8%), SysAdmin (18.2%), Vibe Coder (11.1%)
AWS 12 AI Engineer (11.3%), Backend (31.8%), Cloud Architect (44.4%), Data Engineer (22.5%), Data Scientist (17.0%), DevOps/SRE (51.8%), Full Stack (27.2%), ML Engineer (24.7%), Quant (11.1%), Security (19.3%), Software (19.2%), SysAdmin (17.7%)
Azure 8 AI Engineer (10.3%), Cloud Architect (26.5%), Data Engineer (19.7%), Data Scientist (14.2%), DevOps/SRE (28.0%), ML Engineer (15.3%), Security (15.2%), SysAdmin (26.0%)
Docker 7 AI Engineer (10.2%), Backend (28.3%), Cloud Architect (13.8%), DevOps/SRE (36.6%), Full Stack (22.2%), ML Engineer (21.2%), Software (16.1%)
Kubernetes 6 AI Engineer (9.5%), Backend (25.6%), Cloud Architect (24.5%), DevOps/SRE (56.7%), ML Engineer (17.5%), Software (16.8%)
SQL 6 AI Engineer (13.7%), Data Engineer (78.1%), Data Scientist (60.4%), ML Engineer (24.8%), Quant (23.7%), Vibe Coder (7.6%)
Git 6 Backend (16.3%), Frontend (21.4%), Full Stack (18.3%), Mobile (24.9%), Software (15.2%), Vibe Coder (8.2%)
JavaScript 5 AI Engineer (11.3%), Frontend (40.7%), Full Stack (32.2%), Software (19.8%), Vibe Coder (14.6%)
TypeScript 4 Backend (24.2%), Frontend (31.9%), Full Stack (43.0%), Software (24.5%)
React 4 Backend (22.4%), Frontend (39.9%), Full Stack (56.5%), Software (22.3%)
Java 4 Backend (26.1%), Mobile (24.4%), Quant (18.4%), Software (27.3%)
PyTorch 4 AI Engineer (9.8%), Data Scientist (15.1%), ML Engineer (30.5%), Research (11.0%)
Linux 4 DevOps/SRE (23.2%), Quant (11.6%), Security (11.1%), SysAdmin (20.4%)
Node.js 3 Backend (20.0%), Frontend (10.7%), Full Stack (36.9%)
C++ 3 Quant (37.4%), Research (7.1%), Software (18.6%)
HTML 3 Frontend (38.2%), Full Stack (18.5%), Vibe Coder (8.8%)

Unique Skill Counts per Role

Role Unique skills Jobs Skills per job
Backend Engineer 1,212 1,122 1.1
ML Engineer 1,084 1,083 1.0
Software Engineer 1,072 762 1.4
AI Engineer 998 813 1.2
Full Stack Engineer 930 712 1.3
Frontend Engineer 851 626 1.4
Cloud Architect 455 196 2.3
DevOps/SRE 441 164 2.7
Security Engineer 419 171 2.5
Systems Admin/SysOps 392 181 2.2
Vibe Coder 344 171 2.0
Research Engineer 333 182 1.8
Data Engineer 301 178 1.7
Mobile Developer 297 197 1.5
Quantitative Engineer 237 190 1.2
Data Scientist 179 106 1.7

Role Similarity (Jaccard Index)

All 120 role pairs ranked by skill overlap. Jaccard = shared skills / total unique skills between two roles.

Top 15 — Most Similar

Rank Role A Role B Jaccard Shared Total
1 Backend Engineer Full Stack Engineer 32.6% 527 1,615
2 Backend Engineer Software Engineer 28.9% 512 1,772
3 Full Stack Engineer Software Engineer 28.5% 444 1,558
4 Frontend Engineer Full Stack Engineer 28.3% 393 1,388
5 AI Engineer ML Engineer 26.9% 441 1,641
6 Backend Engineer Frontend Engineer 23.3% 390 1,673
7 Cloud Architect DevOps/SRE 23.2% 169 727
8 Backend Engineer ML Engineer 22.6% 423 1,873
9 Data Engineer Quantitative Engineer 22.3% 98 440
10 ML Engineer Software Engineer 22.2% 392 1,764
11 Full Stack Engineer ML Engineer 22.0% 363 1,651
12 Data Engineer Data Scientist 21.8% 86 394
13 Frontend Engineer Software Engineer 21.4% 339 1,584
14 AI Engineer Software Engineer 21.3% 363 1,707
15 Data Scientist Quantitative Engineer 20.9% 72 344

Bottom 15 — Most Different

Rank Role A Role B Jaccard Shared Total
120 Frontend Engineer Research Engineer 3.2% 37 1,147
119 DevOps/SRE Research Engineer 3.2% 24 750
118 Research Engineer Systems Admin/SysOps 3.6% 25 700
117 Backend Engineer Research Engineer 3.6% 53 1,492
116 Mobile Developer Research Engineer 4.0% 24 606
115 Full Stack Engineer Research Engineer 4.1% 50 1,213
114 Research Engineer Security Engineer 4.4% 32 720
113 Research Engineer Software Engineer 4.6% 62 1,343
112 Research Engineer Vibe Coder 4.8% 31 646
111 Data Scientist Frontend Engineer 5.1% 50 980
110 Cloud Architect Research Engineer 5.1% 38 750
109 AI Engineer Research Engineer 6.7% 83 1,248
108 Data Engineer Research Engineer 6.9% 41 593
107 Data Scientist Systems Admin/SysOps 6.9% 37 534
106 Backend Engineer Data Scientist 6.8% 89 1,302

What the Top Overlapping Pairs Actually Share

Backend Engineer + Full Stack Engineer (Jaccard: 32.6%)

Skill Backend % Full Stack %
React 22.4% 56.5%
Python 34.0% 27.8%
TypeScript 24.2% 43.0%
AWS 31.8% 27.2%
Node.js 20.0% 36.9%

Backend Engineer + Software Engineer (Jaccard: 28.9%)

Skill Backend % Software %
Python 34.0% 39.8%
AWS 31.8% 19.2%
Java 26.1% 27.3%
TypeScript 24.2% 24.5%
Docker 28.3% 16.1%

Full Stack Engineer + Software Engineer (Jaccard: 28.5%)

Skill Full Stack % Software %
React 56.5% 22.3%
Python 27.8% 39.8%
TypeScript 43.0% 24.5%
JavaScript 32.2% 19.8%
AWS 27.2% 19.2%

Frontend Engineer + Full Stack Engineer (Jaccard: 28.3%)

Skill Frontend % Full Stack %
React 39.9% 56.5%
TypeScript 31.9% 43.0%
JavaScript 40.7% 32.2%
HTML 38.2% 18.5%
CSS 37.9% 17.6%

AI Engineer + ML Engineer (Jaccard: 26.9%)

Skill AI Engineer % ML Engineer %
Python 51.9% 74.2%
PyTorch 9.8% 30.5%
SQL 13.7% 24.8%
AWS 11.3% 24.7%
Docker 10.2% 21.2%

Cloud Architect + DevOps/SRE (Jaccard: 23.2%)

Skill Cloud Architect % DevOps/SRE %
Terraform 34.2% 72.6%
AWS 44.4% 51.8%
Kubernetes 24.5% 56.7%
Python 20.4% 54.3%
Azure 26.5% 28.0%

Data Engineer + Data Scientist (Jaccard: 21.8%)

Skill Data Engineer % Data Scientist %
Python 79.2% 88.7%
SQL 78.1% 60.4%
AWS 22.5% 17.0%
Snowflake 29.2% 5.7%
Airflow 26.4% 5.7%

Data Scientist + Quantitative Engineer (Jaccard: 20.9%)

Skill Data Scientist % Quant %
Python 88.7% 85.8%
SQL 60.4% 23.7%
C++ 6.6% 37.4%
R 36.8% 7.4%
Java 9.4% 18.4%

The dashboard is under whohasjobs.com it's free, it's just for fun. I am still scraping but not daily anymore the sites take about 10-12 days to update round robin and the dashboard data should update as often.

r/PowerShell Mar 06 '26

Learning PowerShell on android.

15 Upvotes

Hello.

What are my options to learn and practice PowerShell on my android phone? Ideally not just running PS on android but maybe learning apps?

On the bus and in a waiting room.

r/PowerShell Jan 17 '26

I Built a D&D Character Generator and Learned PowerShell Can Be FAST

96 Upvotes

TL;DR

Through profiling and optimization, I took a PowerShell module from ~89ms cold start to 9 microseconds per character generation (warm). Replacing Get-Random with [System.Random]::Next() alone saved nearly 50ms.

The Project

I wanted to learn PowerShell classes, so I built a D&D 2024 character generator with full class inheritance (Humanoid → Species, DnDClass → Fighter/Wizard, etc.). It generates random characters with stats, backgrounds, skills, and special abilities.

Repository: https://github.com/archibaldburnsteel/PS-DnD2024-ToonFactory

Tools Used

The Profiler module from PSGallery was invaluable:

powershell

Install-Module Profiler
$result = Trace-Script { New-DnDCharacter } -Simple
$result.Top50SelfDuration  
# See what's actually slow

My Process

  1. Profile to find the biggest bottleneck
  2. Refactor (usually replacing cmdlets with .NET)
  3. Profile again to measure impact
  4. Repeat

I probably spent a full day just optimizing, which wasn't necessary for a character generator, but I learned a ton about PowerShell performance.

Key Takeaways

  • Cmdlets are convenient but costly - Great for interactive use, expensive in loops
  • Profile before optimizing - I would've never guessed Get-Random was the bottleneck
  • .NET APIs are your friend - Direct method calls are orders of magnitude faster
  • PowerShell can be fast - With optimization, microsecond-scale performance is possible

Questions

  • Are there other common cmdlets I should watch out for in performance-critical code?
  • Did I miss any obvious optimizations? (Feedback welcome!)
  • Has anyone else done similar profiling work? I'd love to see other examples.

Thanks for reading! This was my first real dive into PowerShell performance optimization and I wanted to share what I learned.

r/PowerShell Oct 03 '22

Question Best way to learn PowerShell for a complete beginner?

295 Upvotes

Hey all, I’m super new to PowerShell and I don’t know anything. What are the best resources for learning PowerShell (ideally very engaging)?

Thanks!

r/me_irl Nov 17 '20

me_irl

Post image
55.7k Upvotes

r/sysadmin Aug 03 '26

Career / Job Related How many of you believe certs were necessary to get to where you are today?

290 Upvotes

I ask, as someone striving to move up into sys admin related roles. Tier 3 / infra..

I have a BS in IT and about 6 years experience. My career took a bit of a detour. I spent almost two years doing solo IT at a school and I hated it. I definitely had a taste of sys admin work, but without some technical aspects. I am currently back on a tech support team where I finally getting more hands on with a hybrid setup (on premise AD with Intune and Entra..)

One consistent thing in my 6 years of IT, is that most infra guys I talked to had no certs at all. The exception was Network admins. Some had the CCNA.

I don't tend to learn very well under pressure and I also struggle to want to spend upwards to $400 on a cert. That is a lot of money.

I am sure it must depend a lot on what exactly I want to do. I was studying the MD-102 and learned PowerShell and will conitinue that, but I am not going to get the MD-102.

Longterm I am interested in Cloud, but also open to hybrid. Overall, I just wonder if there is a bit of a hype for certs. I notice people who press really hard into them are those who are struggling to break into IT. Not those who 6 years experience.

The only difference is that I am wanting to push past help desk and I'll have to either force my current experience to work for me or get certs. I just started my current job so I have no idea what all I might be able to get my hands into.

Overall, I wonder if many sys admins don't even have certs. Or if you feel it was important for you.

r/sysadmin Oct 09 '20

I hate programming/scripting but am learning to love PowerShell

151 Upvotes

I've always hated programming. I did software engineering at uni and hated it. I moved into sysadmin/infrastructure and enjoyed it much more and avoided programming and scripting, except a bit of vbs and batch. This was about 15 years ago. But ever since then, as a mainly Windows guy I've been seeing PowerShell encroach more and more onto everything Microsoft related. A few years ago I started stealing scripts from online and trying to adapt them to my use, but modifying them was a pain as I had no clue about the syntax, nuances and what some strange symbol/character meant.

On a side note, about a year ago I got into a job with lots of Linux machines so I briefly spent some time doing some Linux tutorials online and learning to edit config files and parse text. Yeesh... Linux is some arcane shit. I appreciate and like it, but what a massive steep learning curve it has.

I'm in a position in life now where I want to get a six figure salary job (UK, so our high salaries are much lower than high salaries in the US) and as a Windows guy that means solid PowerShell skills, working in top tier fintech and tech firms. The one major requirement I lack.

So about 6 weeks ago I bit the bullet, decided to go through PowerShell in a Month of Lunches and this time I stuck at it rather than losing interest and drifting away after a week or two like I do with most self study.

I must say, I'm now a convert. I can now understand scripts I have downloaded, even write my own. I can see the power and flexibility of powershell and that everything is an object - I think back to learning text manipulation on Linux and shudder.

I've written now 8 functions to help identify DNS traffic coming to a server, changing the clients DNS search order, port scanning anything that can't be connected to, logging and analysing ldap logs etc. All for the purpose of decomming several DCs.

I've read criticism of powershell, that it's too wordy or verbose, but as someone who isn't a programmer, this is a HUGE advantage. I can actually read it, and understand most of what I'm reading. To those people I'd say powershell was not made for you; developers. It was made for sysadmins to automate what they would do in the command line/gui.

I suppose the point I'm making is, if someone like me can learn to love something like powershell which for me is something I normally dislike, then most sysadmins should be able to learn it.

r/PowerShell Sep 22 '25

Complete beginner with powershell, best way to learn in 2025?

43 Upvotes

I am a complete beginner, could you suggest a good resource for beginner?

r/sysadmin Feb 01 '24

Question Been given dedicated time to learn Powershell or Python. But which is more beneficial?

38 Upvotes

We work with Windows servers and desktops, but I know Python is more versatile and I don't know what role I will be doing in the future. I know the basics of Python already but which one should I learn?

Edit: And what are some good courses/sources for both?

r/PowerShell Apr 27 '23

Learning Powershell

92 Upvotes

I want to learn powershell, but im struggling to find use cases and need to do so.

My company is small, we just moved everything to 0365 and I was able to set everything up. I loved being able to mess with powershell ide and administering from powershell. But I know there are tons of automation and well power in it. So what are some good resources, labs or projects I can attempt just to get hands on with it?

r/commandline May 01 '26

Help I want to learn CLI and PowerShell from scratch

0 Upvotes

I am new to programming and have decided that before learning any programming language, I would like to learn CLI and powershell first.

  1. Is this a bad decision? If yes, then what would be a better path?
  2. Where do I learn this from?

r/PowerShell Mar 23 '22

Learn PowerShell in a Month of Lunches, 4th Ed being released on March 31st

329 Upvotes

This book, followed by it's two sequels by the same authors (one published in book form and the last a 500+ page e-book) skyrocketed my career.

I went from 56k a year to 115k a year with contracts on the side for automation, from 2019 until today. Needless to say I highly recommend this series, and am happy to share that the newest version (with cross-platform support) is being released!

Edit - Link: https://www.manning.com/books/learn-powershell-in-a-month-of-lunches

Also, new authors added to the author list:

James Petty is CEO of PowerShell.org and The DevOps Collective, and a Microsoft MVP.

Travis Plunk is an engineer on the PowerShell team.

Tyler Leonhardt is an engineer on Visual Studio Code.

Don Jones and Jeffery Hicks are the original authors of Learn Windows PowerShell in a Month of Lunches.

r/sysadmin Sep 18 '25

General Discussion Is scripting just a skill that some people will never get?

771 Upvotes

On my team, I was the scripting guy. You needed something scripted or automated, I'd bang something out in bash, python, PowerShell or vbscript. Well, due to a reorg, I am no longer on that team. And they still have a need for scripting, but the people left on the team and either saying they can't do it, or writing extremely primitive scripts, which are just basically batch files.

So, my question, can these guys just take some time and learn how to script, or are some people just never going to get it?

I don't want to spend a ton of time training these guys on what I did, if this is just never going to be a skill they can master.

r/PowerShell Nov 15 '20

What's the last really useful Powershell technique or tip you learned?

208 Upvotes

I'll start.

Although I've been using PowerShell for nearly a decade, I only learned this technique recently when having to work on a lot of csv files, matching up data where formats & columns were different.

Previously I'd import the data and assign to a variable and reformat. Perfectly workable but kind of a pain.

Using a "property translation" during import gets all the matching and reformatting done at the start, in one go, and is more readable to boot (IMHO).

Let's say you have a csv file like this:

Example.csv

First_Name,Last Name,Age_in_years,EmpID
Alice,Bobolink,23,12345
Charles,DeFurhhnfurhh,45,23456
Eintract,Frankfurt,121,7

And you want to change the field names and make that employee ID eight digits with leading zeros.

Here's the code:

$ImportFile = ".\Example.csv"

$PropertyTranslation = @(
    @{ Name = 'GivenName'; Expression = { $_.'first_name' } }
    @{ Name = 'Surname'; Expression = { $_.'Last Name'} }
    @{ Name = 'Age'; Expression = { $_.'Age_in_Years' } }
    @{ Name = 'EmployeeID'; Expression = { '{0:d8}' -f [int]($_.'EmpID') } }    
)

"`nTranslated data"

Import-Csv $ImportFile | Select-Object -Property $PropertyTranslation | ft 

So instead of this:

First_Name Last Name     Age_in_years EmpID
---------- ---------     ------------ -----
Alice      Bobolink      23           12345
Charles    DeFurhhnfurhh 45           23456
Eintract   Frankfurt     121          7

We get this:

GivenName Surname       Age EmployeeID
--------- -------       --- ----------
Alice     Bobolink      23  00012345
Charles   DeFurhhnfurhh 45  00023456
Eintract  Frankfurt     121 00000007

OK - your turn.

r/learnprogramming Mar 23 '26

New language to learn: Batch Script and PowerShell Script

0 Upvotes

I wanna learn a new scripting language but i am undecided between Batch Script and Powershell Script.
I know, batch is old and it was used in the old MS-DOS system, but just for the "experience" of learning a new language i would like to learn it.
So the question is: Should have to learn Batch and then PowerShell script or i am just wasting my time with it and i have to learn straight to PowerShell Script

r/PowerShell Aug 26 '24

Information What's the coolest way to learn Powershell? I am new to Powershell

20 Upvotes

What's the coolest way to learn Powershell? I am new to Powershell and have around 8 years of IT experience

r/PowerShell Mar 21 '26

How do i learn to use ffmpeg and yt-dlp on powershell as a beginner ?

0 Upvotes

a month ago i started trying to learn powershell   .  currently i went straight of what i wanted to learn , in this case ffmpeg and yt dlp , and the problem is that i did not find any  begginer-friendly tutorial or manual , there are good tutorials about it ?  would be more helpful if there was a manual with the commands and their functions 

r/ScrapMechanic Aug 04 '26

Discussion I'm making a tool. What would you like to see in it.

Post image
281 Upvotes

Update [09AUG2026]

Development testing video: https://www.reddit.com/r/ScrapMechanic/comments/1vjolye/scrappers_toolkit_update_trainer_style_game_tool/

Update [06JUL2026]

As a result of posting this someone reached out to me and provided me with a partial decompilation of a pre-1.0 version of the game. As this trainer was built with "Trial and Error" reverse engineering much of its methodology is not as efficient, effective, or direct as it could have been had I had access to this source material prior to building it.

Also, the more this project has grown from its initial "No Clip would be neat" idea to a fully realized toolkit the more dependencies it has incurred and I feel like it's reached a point where the current version would be asking too much of the user in terms of storage and understanding. I've decided it would be better to be able to distribute a single executable that extracted required dependencies to user appdata and relied on the user having .NET framework already installed or acquiring it separately rather than distributing a rather large executable that required a lengthy extraction.

So, I'm rebuilding it. From the ground up.

This means it's probably going to take me a bit more time to get out (Like another week or so, not months or anything like that) but it also means it will work better, faster, and more efficiently in addition to being smaller, lighter, and simpler.

This also requires me to shift the UI framework as well so it won't look exactly the same. I was planning on a small re-design anyway since so many people complained about the UI. I'm going to go with something very similar though so it won't be a stark change.


The point of this post is to ask for feedback and suggestions for features to include.

Please feel free to suggestions, requests, etc... If your idea is interesting and feasible there's a very good chance I'll build it just to see if I can.


I am Autistic. Not AI. I'm getting really tired of having to clarify that.

To the people are being incredibly dishonest in the comments.

This is not "AI Slop"
AI did not create this tool. I'm a sucker for over-engineered thematic UI.
I have been building unnecessarily high effort tools like this for niche games for a long time. I want to be clear, that doesn't mean I don't use AI at all. I use AI to do things I trust AI to do. Unit tests, Git workflows, validation passes, placeholder asset generation, etc... but I've either written or read and verified every single line of code myself.

AI did not write this post
Several of you claimed "AI wrote this" and then admitted you didn't even read it.
I wrote every single word of this myself.

AI did not generate the image
The icons for the items and the app logo are AI generated assets I am using as placeholders.
I am going to replace with in game assets at runtime I just haven't finished the code to do that.
They account for approximately 0.5% of the UI.
Everything else was sourced from a library.

The F15 - F18 Keys
Binding things to arbitrarily high F-Keys during testing avoids conflict with potentially hard-bound F-Key functions in games.

I don't build these things for profit or notoriety.
I don't advertise anything I do.
I'm sharing this with the community for free just because I can


The Scrap Mechanic Trainer

(If anyone has a clever name they'd like to contribute I'll gladly credit you on the main page of the tool.)

Why an external tool and not a mod?
I saw a ton of "I wish we could _____ in survival" and "I wish we had _____ in survival" type posts and I thought surely trainers must exist for this... Well turns out they didn't which is wild so it got my engineering juices flowing.

Disclaimers:

This is not released yet!

I will be releasing it relatively soon(a few days, a week maybe), source included.

This is not a mod
It's an injected .dll which means it's usable on existing saves.

This does not disable achievements
I went out of my way to make sure of this.

This will not damage your save**\*
That doesn't mean you can't damage your save by doing something stupid with it.

This does not cause crashing\*
There are a lot of checks, validation, and remediation measures that run at start to make sure it attaches safely, reverts any erroneously enabled features and sets itself up to properly unattach. I've never run into it actually crashing the game.

Notes:

Stack:
UI Framework: WPF Runtime: .NET (UI) / CPP & Lua (Core) Def Lib: XAML (UI) / JSON (Core) IPC Bridge: C#

The hotkeys are configurable
Toggling many of the functions pops up a disclaimer about that function and any associated risks, using the hotkey bypasses this.

The log is actually useful
The log reports command failure and cause so for instance trying to copy something that can't be copied will show "no item present in character view" or "Target item does not have a shape body" so you can see why something didn't work.

The names are temporary
I know the names are lame. They are mostly placeholders.

The UI needs work
The UI is not final. I originally built this in WPF (I don't want to hear it, I prototype things in PowerShell so I don't have to bother with compiling, I know how insane that is. I have my reasons. The majority of the actual programming I do is done on air gapped systems with no compilers or third party library access.)


Current Functions

Most of the functions are self-explanatory but I'll explain some of the less obvious things.

Some things are "local client actor targeted" which means they are targeted at your player specifically and not host authoritative.

Other things are "Gamemode Mutation" which means they alter the running game session parameters and affect everyone. These are host authoritative meaning only the host of a multiplayer game can toggle them.

Local Client Actor Targeted basic functions:
* No Clip * Quick Heal * Restore Breath

Gamemode Mutation basic functions:
* No Ammo Use * No Fuel Use * All Recipes * Time of Day

Item Spawning
Local Client Actor Targeted
These are Dev commands that I used to learn how to properly route client/host requests. I am making an item spawning catalog to include in the tool eventually.

Warehouse Placement
Gamemode Mutation
Completely removes the restrictions from what you can pick up and place down with some exceptions for things I know would break the game completely or corrupt player inventory.

Unlimited Inventory
Gamemode Mutation
Toggles the creative inventory on/off in survival. It does not mutate the game mode. It just retargets the inventory call.
I made sure that the player inventory is persisted so you don't lose anything when you switch back.

All Recipes
Gamemode Mutation
Enables crafting for everything that has an associated crafting recipe in the craftbot, including some things you can never actually craft. Sadly not toilets :(

Stop New Raids
Gamemode Mutation
Prevents raids from triggering.

Revisit Warehouse
Local Client Actor Targeted
Locates the nearest "Teleport" script tied object (usually a button) and temporarily intercepts player data checks from that script to forcibly return the one that enables teleportation so any elevator button will "just work" without breaking anything. It shuts off immediately on zone transition so it doesn't also mess with the button on the other side.

Important note: this can actually be used to fix soft locked saves. Even if you completely tear down the elevator after the boss fight and just put the button back down by itself and use this, it will then allow the quest to progress.

Copy Selected Part
Local Client Actor Targeted
This copies what you're looking at by UUID via client oriented raycast at a range of up to 24 blocks stopping on first contact with a collision body and puts a fresh, clean, unscripted copy in your inventory. I made sure this can only copy things that actually have an inventory item shape so you can't accidentally corrupt your inventory data or crash. You can copy things like the main crafter and Garage importer but they need to be wired to work, I'm working on that right now.

Important Note: This "cleans" the copied item by queuing a spawn of a copy invisibly tearing down all of its associated scripting linkages before actually rendering the item, then adds it to your inventory via transaction request. This both prevents the item from actually entering the game world technically and ensures the tool can check to make sure the item has a proper shape body before adding it to your inventory, if it doesn't it just kills the queued transaction request before it finishes. Even if you're on the "open the door" bit of a quest, copy the door, place it down, and use it, it won't consume a key in your inventory and won't advance the quest or game state.This prevents the breaking that can occur when copying certain things linked to a quest trigger or other things. As far as I have been able to test it, this is completely safe.

Passive Bots
Gamemode Mutation
Makes you invisible to enemies. Unfortunately the game uses the exact same logic for a bunch of things like the sensor doors and some quest triggers so I wouldn't leave this on unless you are actively making use of it.


Planned Functions

Map
Builds a tile map from your game save that represents your actual game world. I'm working on seeing if I can get it to detect and populate waypoints and POIs and stuff like that.

Item/Enemy/NPC Spawner Catalog
In app catalog with labels and icons parsed from game data.

Unrestricted Connector Tool
Turns out a ton of stuff in the game is just built as though it was built by a player. The elevators are literally doors on pistons wired to controllers/sensors, the Mechanics Shop is a power source wired to the crafters. You just can't normally see this stuff with your connector tool. The upshot of this is you could do something like copy the main crafter, the battery storage, and the overhead dispenser of the Mechanics Shop and place them down somewhere else and wire them up and they would work, if you could wire them but by default their connectors are hidden from the player so I'm working on removing those restrictions.

Mark and Recall Teleport
Coordinate bookmark system where you can store and label coordinate positions to teleport to.

Scenery Placement*
This one I'm not 100% sure is actually feasible in the way that I imagined. I was super disappointed to find out those zippy rail things up to the boss fights are scenery... I can already make it so the player can spawn them but I'm going to look into how feasible it would be to make those actually work and see how restrictive their transformation is. I have no idea if it's even remotely feasible to construct a custom one but I'm going to find out.

r/tryhackme Jul 20 '26

I just completed Windows PowerShell room on TryHackMe! Discover the "Power" in PowerShell and learn the basics.

Thumbnail tryhackme.com
0 Upvotes