Literally dozens of studies. Source: Rapid Development: Taming Wild Software Schedules. I don't have the book on hand anymore, but I only read half of it, and there are endless studies over decades sources and analyzed. The science universally shows that crunch is counter to productivity.
I wanted to add that if you're brand new to PowerShell then you should take a look at <em>PowerShell in a Month of Lunches</em>.
Also, take a look at /r/PowerShell. There are fantastic people in there, and they're incredibly knowledgeable.
The best way to learn anything depends on your learning style. Some people learn better by reading, some by watching videos, and some by doing. It's important to know how you learn effectively.
That said, my recommendation is to find a routine task you do regularly and figure out how to do it automatically with PowerShell. Do you archive old report files to a specific directory structure? Learn about Copy-Item
. Do you manage Exchange, SCCM, O365, anything like that? They all have automation support with PowerShell. There are even community modules that support a lot of third-party products - for example, the JiraPS project allows you to manage JIRA items with PowerShell, including creating new issues, commenting on existing ones, and closing them out.
If you prefer reading, the book <u>Learn PowerShell in a Month of Lunches</u> is often recommended - but it's very important that you actually follow along with the exercises in the book. Type them and run them on a live computer whenever possible.
If you prefer videos, I suggest the Microsoft Virtual Academy series on PowerShell. These are a bit long, but they do a great job of teaching you both concepts and practical knowledge.
Hope that helps!
Learn Powershell in a Month of Lunches
Also, SS64 has a great Index/reference of PS commands.
Another good thing to do is to start searching the web for "how do I $taskName in Powershell."
If you’re looking for resources that may be helpful, have you tried the “Learn PowerShell in a month of lunches” series by Don Jones? https://www.amazon.com/dp/1617294160/ref=cm_sw_r_cp_api_i_fJafCb1K1VSKQ
Also, Microsoft Virtual Academy has a good training course with Jeffrey Snover (https://mva.microsoft.com/en-US/training-courses/getting-started-with-microsoft-powershell-8276)
They’ve been a major help to me and I had no experience coding prior to them.
https://www.amazon.com/dp/1617294160/ref=cm_sw_r_cp_apa_fabc_r74aGb8T88YNW
That book helped me learn all the basics and then some that I needed, when I started learning powershell. I still use it as a reference for writing scripts even after reading it too. It is super helpful and gets you learning the shell, the syntax of the script, and how to find information in the shell to do what you need. I can't recommend this enough.
Ticket: "I cannot change the order of my displays from control panel anymore"
Ticket Closed
Resolution: Git gud, scrub
Works for me, too.
Here's a different link to the book on Amazon UK.
If that still doesn't work, the ISBN is 978-1680501278.
Depends on your previous knowledge of scripting/programming but if little to none I'd recommend
Learn Powershell in a month of lunches: https://www.amazon.com/dp/1617294160/ref=cm_sw_r_cp_apa_glt_fabc_3H478HT6G3ZY175PXSHD
I'm not aware of a fourth edition. You want "Learn Windows Powershell in a Month of Lunches". This is the one I have but it's third edition: Learn Windows PowerShell in a Month of Lunches, Third Edition: Amazon.co.uk: Jones, Donald, Hicks, Jeffrey: 9781617294167: Books
There is also "Learn Powershell Scripting in a Month of Lunches" - This has a yellow cover and should be read after the above book. It goes into writing scripts you can reuse but you need to know the basics in the first book before you can really get into this.
There is also another called "Learn Powershell Tool Making in a Month of Lunches" - This is an older version of "Learn Powershell Scripting in a Month of Lunches". They renamed it in later versions.
I think if you applied the Postel's law conventionally to this function, you wouldn't end up with either variant discussed in the article but with an entirely different one.
The function in this case would accept a possibly empty list and always return a list item. You would achieve that by essentially weakening the type system, for example by returning a zero initialized value or some placeholder value (NaN, nil, Infinity, "", 0, undefined, Object, interface{}, {} etc.)
Essentially you would disguise an inconsistency, which leads to what the Wikipedia article discusses under "Criticism". In my own words: a "bug is a feature"-system of patched-overness.
I much prefer the 'fail-fast' mantra (example: Erlang community).
If I remember correctly there was a statement in this book like (paraphrasing): always search the bug upstream.
Combining this debugging principle with the above: If your program fails earlier then you end up searching less because the failure condition is already pushed upstream.
If you push the variance downstream you possibly end up with a proliferation of error handling, workarounds and types.
https://www.amazon.com/dp/1617294160/ref=cm_sw_r_cp_apa_glt_fabc_WG7E0NR7WXYNM1H67Z28
That book is probably one of the best books I've ever read for learning a topic. Other than reading that book, I would suggest finding something you want to automate and then plugging that into Google. I think the first script I ever wrote was a mass reboot of all workstations in my domain. I just googled it until I found where someone else did it and then tweaked it for my use.
Thank you for the post.
>This can be very challenging if the manager is a non-technical guy.
The company creates industrial automation automation solutions and my manager not only manages software but also other facets of the product. He is an aerospace engineer by training. He told me in my first meeting I have steep learning curve ahead of me but I should not panic.
>....you should look for mentorship outside and bring the knowledge in.
How do you suggest doing this? I am thinking of reading Code Complete and asking questions on the Software Engineering Stack Exchange website.
Not really fair to link to a PDF copy of the book. It's a fantastic book and worth purchasing and supporting the author.
Second this, it is pretty inexpensive on Amazon and full of good stuff. I had been working in Powershell for about a year or so off and on before I picked it up and have already filled in a lot of gaps in my knowledge from just the first few chapters.
I bought my print edition from Amazon and you also get a free LiveBook (online book where you can post questions, small community of people there too, seems active enough). Powershell in a month of lunches
​
Definitely a great book. There are others too, the one I pasted is primarily just for learning the basics of the Powershell CLI. There are others for really learning how to script and build with Powershell more in-depth.
I got my copy off amazon - https://www.amazon.com.au/Learn-Windows-PowerShell-Month-Lunches/dp/1617294160/ref=sr_1_1?crid=3E05CQGIIHRNB
It's a fantastic book. Another one more or less the same note (tough less conceptual and more practical) that I found enlightening was web scalability for startup engineers.
Nice article. I'd like to see you do one about a topic other than Moya, though. I feel like the Moya fans already know Moya, and are specifically using a framework like Moya in order to not fully learn how something like URLSesssion works, let alone FRP.
I recently did a PR on someone's project that had implemented Moya and it was my first introduction to it. TBH I was not impressed and would never recommend someone using it again.
I couldn't believe that such a popular (from my view) networking framework has Alamofire as a dependency. The creators of Moya really need to read this book
It really depends on what you want to learn but two good books that I would recommend are Web Scalability for Startup Engineers and Designing Data-Intensive Applications. They contain information on some of the most common topics in computer science.
Invata pe cont propriu, daca nu stii React/Vue/Svelte incearca sa vezi cum e.
Invata despre programare in general, de ex. cartea Code Complete sau despre limbaje Seven Languages in Seven Weeks
The possibilities are endless.
It's not a PowerShell book. It's a programming book which also applies to PowerShell.
It greatly changed the way I code/script for the better.
If you're looking at web architecture, this was a book recommended on this subreddit that I also recommend. It goes into scaling of web apps & databases, and how they should be designed so that they can be scalable. It also talks about cache servers, stateful vs stateless web browsing, and other topics related to being able to scale a web application effectively.
"Web Scalability for Startup Engineers" - https://www.amazon.com/gp/product/0071843655/ref=ppx\_yo\_dt\_b\_asin\_title\_o04\_s00?ie=UTF8&psc=1
i recommend at least knowing how vim uses modal editing. i highly recommend the book Practical Vim: Edit Text at the Speed of Thought https://www.amazon.com/dp/1680501275/ref=cm_sw_r_awdo_G97YCSRRJQ3DVMN7VV8N
I recommend this book, “Debugging”, by David Agans: https://amazon.co.uk/Debugging-Indispensable-Software-Hardware-Problems/dp/0814474578
I enjoyed reading it, even as a veteran software engineer - it should be required reading for all new programmers IMNVHO.
Lots of folks recommend PowerShell in a month of lunches, but I never ended up reading it.. I mostly learned from search engine queries consisting of "powershell <cmdlet name> <two to three words describing what you're doing>" which usually results in links to stackexchange and coding blogs.
If you want some beginner reading material (I had these on a Kindle that I read during bus commutes), DM me and I'll send you a link to some PowerShell eBook PDFs. They're about a decade out of date (they describe PowerShell 2.0 and 3.0), but they're still good for an introduction to the language.
Think of it as two domains: what you and how you say it.
​
What you say
​
How you say it
Did you read "Learn Windows PowerShell" first or did you jump right to "Learn PowerShell Scripting"?
Here is a great book that will give you all the best practices: Building Microservices: Designing Fine-Grained Systems https://www.amazon.com/dp/1491950358/ref=cm_sw_r_cp_api_glt_i_R3SNDVK3E3BHX2K3KDFT .
If you are looking more around scaling out microservices and related distributed computing, you can check out https://systemsdesign.cloud
Just to add to the list - I found the book Web Scalability for Startup Engineers really helpful as it's more in depth than the usual suspect resources OP mentioned.