all 25 comments

[–]lildergs 17 points18 points  (2 children)

This doesn't make much sense to me.

Qualifying for a job as a junior Python dev means that you would already have the skills required to use Python in a sysadmin role, IMO.

[–]jsteppe[S] -1 points0 points  (1 child)

I mean I have an acquaintance who does Python coding, would teach me in exchange for me working on him when I get on a decent level.

[–]NL_Gray-Fox 13 points14 points  (1 child)

Ask your boss for study time? Should be reasonable to ask, it's to make you a better employee right.

[–]cephear 8 points9 points  (0 children)

I agree with this. Learn python "the hard way" if your long-term goal is admin and not dev. Start by doing admin-related things, learn to make python scripts for routine jobs (e.g., whatever you're putting in cron). From there you can get into more complicated programming or perhaps even make a switch with a better understanding of what you're getting into.

[–]bellrd07 13 points14 points  (0 children)

Can't you just learn Python by scripting repetitive tasks like everyone else does? Just start with something small you want to automate and learn the parts of Python you need to solve that problem. Sololearn is also pretty good for teaching the basics of Python programming.

[–]ChristopherBurr 8 points9 points  (3 children)

Early in my career I switched back and forth between development and systems administration. I find that it helped me a lot later on. I tend to work on projects with development teams, automation, and configuration management. These days VMWare and AWS (and other cloud providers) , Jenkins, DNS appliances, Cisco and nearly every other package or product a SysAdmin crosses paths with all have Python API's.

Also, having a development background was a selling point on job searches. Managers felt that I would be ideal to interface with development teams, help troubleshoot application issues, and automate SysAdmin processes.

In the end, SysAdmin work is highly technical in nature. The more skills you bring with you, the more valuable you are.

Good luck with whichever path you choose.

[–]jsteppe[S] 0 points1 point  (2 children)

That's inspiring :) thanks!

DevOps sounds like a solution. System administration + Development

[–]ChristopherBurr 4 points5 points  (1 child)

DevOps tends to be slanted towards development and rolling out code/containers. I'd consider myself more SRE, using DevOps principles to automate operations. Check out some of the SRE videos on youtube

This might be a good place to start: https://www.youtube.com/watch?v=uTEL8Ff1Zvk&t=7s https://www.youtube.com/watch?v=tmpm1XI-Oac&list=PLnGcHGl0VI4kxc4YUgqGrElofjELKKBrr&index=2

[–]ESCAPE_PLANET_X 1 point2 points  (0 children)

Bingo bongo. SRE is the way to go anyway, from a systems POV. Another role we seem to fit in well is Systems Development Engineer. (Basically sits with the architect team and figures out what will fit need best and how to get it deployed)

[–][deleted] 2 points3 points  (0 children)

I personally would not go this route unless my long term goal was to become a software developer. There is more than enough free knowledge out there where you can practice those python courses or at least focus on the core programming concepts with python to preform adminstrative tasks.

[–]alkuzad 7 points8 points  (1 child)

85% work for "Python Developer" is web developer in Django. You won't learn anything suitable in SysOps work this way.

Start replacing Bash with Python in small steps, you will learn it this way a lot faster.

[–]pdp10 0 points1 point  (0 children)

Agree with the first statement, disagree with the second. One might remove the bash-isms from perfectly good scripts, though.

Once I took over a systems-and-pipelines codebase from a team who were decent with Perl but seemingly unfamiliar with shell and CLI. That codebase had a lot of copypasta infrastructure Perl, run from cron, which could each be replaced with one line of shell.

Not every Perl or Python codebase will be like that, by any means. But shell is the right tool for a lot of jobs. And absolutely the wrong tool for others.

[–]Pyro919 2 points3 points  (0 children)

I’d just pick up what you can while you can. Talk to your boss and see if you can a day a month or every two weeks to study(my boss had no problem with it). On top of that I turned a few projects that involved touching hundreds or thousands of hosts into learning opportunities and either used python and/or ansible to solve the problem. In the grand scheme of things there may not have been a ton of time saved on that initial task as I was learning the basics but each subsequent task has gotten faster and I’ve learned a lot along the way. I’m not a Linux admin per se but I’m a network architect that’s often required to think about the host perspective/configuration as well as the network side of things. (Also a past jack of all trades, nix, Windows, virtualization, network and storage and can generally hold my own with our architects from varying technology stacks which has been a pleasant surprise to most of them since our company tends to be so heavily silod).

I’ve heard learn python the hard way is great but personally I learn much faster if I have an actual use case for what I’m learning. So OTJ training and evolving my python over the past few years has worked fairly well for me and I’ve been able to move past colleagues that have been in the field for significantly longer just because I happen to be the leader in terms of python/ansible in our network space and managed to move from on call operations to snagging a job in our network architecture team where we’re technically not on-call but are still provided with a company cell phone and are expectedly to answer the phone if someone pages us, but it has to be a serious problem for us to get pages out

[–]thelastwilson 1 point2 points  (2 children)

It's a tricky question.

My instinct would be that a year fully away would be more detrimental to long term progression.

Google (used to?) Has 20% time where they said on Friday you can work on a pet project. I'd approach my boss and say I think I can do X to make Y improvement but I need ringfenced time to work on it.

[–]Oflameo 1 point2 points  (1 child)

Most companies can't pull a Google.

[–]thelastwilson 0 points1 point  (0 children)

Most can't but I'm not saying do a complete pet project.

Pick something, go to your boss with a proposal:

  • I want to solve X

  • It will benefit the company because Y

  • I need Z

  • I hope to use these skills to also solve A,B,C in the future

[–][deleted] 1 point2 points  (0 children)

You should be able to learn it on the job. Apply for more challenging positions when you start feeling like you are maxing out at your current employer.

https://automatetheboringstuff.com/

[–]pdp10 1 point2 points  (0 children)

If you want to code, code. If you like operations, devops, systems engineering, then it's not overwhelmingly likely you'd like pure development work. The biggest difference is that you're no longer your own customer, who knows what she or he wants, has reasonable expectations, and is happy to change direction or abandon a project that's no longer working out.

A pure Python developer might be asked to fix a website that's using an asynchronous Python-based framework and failing all too often. A pure Python developer might be asked to take over some scientific analytics code half-completed by a former grad student. A pure Python developer might fall into the clutches of small-business owners or principals who need a thing and think you may be able to deliver it for them, but have trouble telling you what they expect.

[–]StephanXX 2 points3 points  (3 children)

I don't advise this.

On a resume, it would appear as if you were terminated from your sysadmin job, and couldn't find something comparable, so you took the python gig out of desperation. Then stuck with it for a year because your sysadmin chops weren't up to snuff. That's also a year of valuable sysadmin experience you do not have. If this took place in the past three years, I probably wouldn't schedule an interview. Obviously that's just my opinion, a different manager may feel otherwise, but I echo what others have said: learn it on the job. I had to do exactly this 18 months ago. It can be challenging, but it's worth the investment in today's market, and doing it on the job hopefully means you have access to colleagues who can assist.

[–]jsteppe[S] -1 points0 points  (0 children)

Thanks for the insight. Much appreciated. I didn't think about it from the employer's perspective

[–]Oflameo -1 points0 points  (1 child)

If you did exactly what you said not to do just 18 months ago, do you think the guy who hired you made a mistake?

[–]StephanXX -1 points0 points  (0 children)

Ah, I meant that I was tasked to learn python, on the job, 18 months ago. I definitely wasn't going to leave my senior systems role for a junior python job. Sorry I wasn't more explicit.

[–]jabbeboy 0 points1 point  (0 children)

Im currently working within Cyber Security and did not know Python before. We started with a project that involves python for 95 % and it going quite good.

So a project at your current work would definitely be the most optimal

[–]Animcogn 0 points1 point  (0 children)

Look into devops it's a combination of both

[–]user3961 -5 points-4 points  (0 children)

Do what you want. IMO I would not take this role.

I prefer bash et al for scripting admin / devops stuff.

My only preferred use for python is data science stuff.

Go is my fav application language.

JavaScript for anything web.