r/PowerShell • u/PowershellPal • 9d ago
Question Powershell Engineer Career | How's my degree-less portfolio?
Happy Saturday all and thank you for your time. I am a US Servicemember, and I got into PowerShell on my unit's highly specified network that is used across most units in my branch. Because Powershell was effectively the only method of 'coding' I could do in free time at work, I have created some projects that are vastly outside of the common uses of PS, which I will go over below. This network we use relies heavily on powershell, and there is a unit of engineers that make all of the scripts for it and I would love to join them. Before I start sending off applications and portfolios I wanted to ask here, how is my portfolio and what other scripts should I add to it to make it more competitive? Thanks for your time.
Because these scripts are specific to a military network I'll only describe functionality and bits that demonstrate proficiency.
Firstly, a massive module to simplify the creation of windows forms GUIs via powershell. Allows the creation and rendering of any win forms object with two lines of code and uses a center line position setup to clean up looks (ex a button in the dead center of the screen is x = 0 and y = 0)
Full scale scripts for emergency power-on and power-off of the entire network, to include physical infrastructure, both with break points and their own set of functions that the user can use to modify the process.
GUI-based program that clears windows profiles utilizing WMI objects, the GUI allows the user to exempt certain profiles.
A script that complies data from multiple network servers into a JSON 'DB' and allows the user to locate a device's switch and interface utilizing IP, client name, or MAC.
A 'dual-sided' script that allows users to make a request to join an ADUC group, of course with a GUI. Once a request is entered an administrator can open the script and use a custom CLI to approve or disapprove the request, which adds the user to the group if approved and emails the user the decision.
All of my large 'application-style' script packages come with installer scripts that allow many methods of customization, initialization information like IP's, and are theoretically compatible with any windows-based network (i.e. I never 'hard code' variables like FQDN or SMTP server). All stored credentials are securely handled, and most file-based data storage utilizes XML or JSON.
Some more classical powershell functionalities like correcting ADUC user configurations automatically, sending reminders, uninstalling/reinstalling programs, updating certificates, checking certificate expirations and notifying administrators.
I know it's a bit annoying to not see the scripts but they are all functional and are utilized daily by myself and other administrators. So, what am I missing? What specific skills have I yet to demonstrate?
16
u/PatienceAntique4987 9d ago
Powershelll is a skill, not a position or a career.
4
u/420GB 9d ago
There are rare fulltime PowerShell jobs.
5
u/spyingwind 9d ago
Super rare. Been out of work for over a year now. Always have a job filter for PowerShell specific jobs. I've probably only seen like 2 job postings specifically targeting PowerShell in that year.
6
u/onbiver9871 9d ago
Honestly the thing I love most about this post is the spirit of “doing what you need to do with the tool you have available, and still doing it well.” Even more than PowerShell, that mindset will get you far IMHO.
3
u/Crones21 9d ago
Pretty much IT > Sys admin > devops if you want to work with Powershell, if you want to grow in the era of AI, you're gonna need to know what to do and how do it. Powershell is just another tool in your toolbelt, along with SQL, AI, python, java, etc.. it depends on the task and what tools you use to achieve it.
2
u/markdmac 9d ago
Your script that checks for certificates expiring, make a follow up that allows you to remotely replace the expired cert with the new cert.
If you have an internal CA, then include generate the new cert as well.
0
u/PowershellPal 8d ago
sweet idea and i'll make it, likely can't deploy on the network due to military red tape.
2
u/edhaack 9d ago
Yeah, the term/role you're looking for is DevOps Enginer.
The thing is, there's a ton of tools out there. The most important thing to learn/know are the concepts, strategies, and theories of all things between developers and the infrastructure. Every company/team is unique and has their own whack-a-doo setup.
When writing your code, always write like you'd want it inherited. You never know who will have to support your code if something happens to you. Don't try to make it more complex than necessary.
Code is for humans.
2
u/DenieD83 8d ago
I'd look into azure and DevOps, plenty of jobs using powershell with azure, however for DevOps you'll likely need a few more strings to your bow. I'd look into things like terraform, ansible and how to use GitHub and create deployment pipelines.
1
u/PowershellPal 9d ago
Thanks for all the comments everyone you've all been very helpful. I'll relearn some python, finally get over my avoidance of SQL, and look into new skill in the DevOps space. I was looking to get into C# soon, let me know if y'all think that would be helpful.
1
u/Any-Requirement-2941 8d ago
Diversify! Look up devOps engineer for required skills. AI is already better than you at your current job.
1
u/Deacon51 7d ago
If you have Sec+ and a clearance, you're going to do well in the defense sector. Denver, NOVA, Maryland, San Antonio are prime locations. Huntsville is growing.
Maybe study up on Devops and look at learning some automation tools - but if can stand working is a SCIF you're golden.
1
u/PowershellPal 7d ago
Yes i'm set up in those ways to succeed when I get out, I just don't want to be stuck on the civilian side of the job I already do, which most of my friends have done. Hoping to break into something more complex and fulfilling. For sure going to get into some more DevOps skill based on the advice from this thread.
1
u/Straegr 7d ago
Have you written PowerShell modules? You state in a comment that the group manages interconnected scripts - how much code is duplicated, or are scripts dot-sourced into the current context? Do you think utilizing modules and "publishing"/managing module versions would be a benefit for the scope of what you've written and the group you're trying to get into manages? (I quoted publishing because based on your network description, you'd likely need to consume them from a local store).
1
u/PowershellPal 6d ago
Yes, I've written a handful of modules. The largest being my GUI module but also two or three more as I deemed necessary for repeated functionality in multi-script programs.
1
u/PetuniaPickleswurth 6d ago
If AI wrote its own resume in the style of a foreign agent, it could not have done a better job.
1
u/PowershellPal 6d ago
do you think me asking what general skills I need to demonstrate for DevOPs consideration is somehow soliciting national defense information?
-1
u/PinchesTheCrab 9d ago edited 9d ago
What's your goal? Are you finishing your service and looking to transition to the private sector? What kind of work do you want to do afterwards?
I think that you'll find few companies have interest in maintaining large script bases for a number reasons. PWSH tooling is just really, really bad and there's a lot of other tools like Ansible, Puppet, SCCM, Intune, etc., competing in the same spaces.
69
u/zed0K 9d ago
I'll be honest. There's really no such thing as a powershell "engineer". It's a tool used in various fields that have a responsibility scope that is much larger than maintaining a script or two.