I figure it would be easier going from sysadmin stuff to information security, but what about software development?<p>I am a new graduate looking for his first job, ideally as a software developer.
I did that route.<p>My experience in MY environment:<p>Sysadmin/support is a very different gang from the Dev group.<p>So I started with simple scripts (before cfengine/puppet).<p>Later I did some coding to hibernate machines using MFC.
After I started using python to generate inventories and to admin the whole University I used to work.<p>Then the first site on Django.
After another one in Django.<p>Later a project in Django.<p>Then some Consulting.<p>And then a big one project in Django being consumed for a lot of customers.<p>Now If I get my code from firsts projects I think:<p>"Serious.. This code sucks look this..."<p>My suggestion:<p>1. Accept that your code will be bad;
2. Accept that it will not be "smart";
3. Once people ask for more features you will understand "Why" there are design patterns and best practices;
4. Once you are making money, you will understand the need for git, CI/ CD, testing.<p>Sure you can learn about it first, but you <i>really</i> understand when you are on the field battle.<p>So today I have 2 CVS one for Sysadmin/Devops and Other for Developer as people have a hard time understanding that I can do both very well.<p>E.g., Today I finished a feature for a customer CRM python system, and later I set up an Asterisk PBX on cloud and a postfix setup.<p>Keep learning, practicing, and it will compound over years<p>PS. By doing well I mean: I am not updating my LinkedIn for 3 years as someone may do a tempting offer... I admit I afraid of the right proposal and say goodbye to some customers.
in terms of getting started, maybe first focus on getting a job that gives you a good opportunity to gain experience in the kind of work you want to do.<p>one way in might be with some "consulting" / professional services firms -- the ones i have seen do tend to play the game of getting the senior people to win the contract then filling most of the roles with relatively junior inexperienced hard working people who need to grow into the roles... If you end up in such an environment and there's a few experienced colleagues you can learn from, that might be okay. but perhaps with such employers you probably have very little control over which project you end up assigned to, and might end up allocated to a project where you are expected to work hard learning a bunch of legacy technology / manually resolving issues instead of learning how to automate.<p>another option might be to go in through the "configuration management" type route, as another commenter suggests. e.g. try to get hired for a role based on your sysadmin background, but in an org that's already doing a lot of automation of ops stuff / continuous integration / automated deployment, where there's at least one experienced person you can learn dev skills and get feedback on your programming/scripting from.<p>if after a couple of years you end up being okay at both sysadmin & dev roles, and actually good at one of them, there should be quite a lot of opportunities for work.
I made the leap from DevOps to full time dev, but it took a lot of work on my own, as well as a lot of interviews to find someone to take a chance on me<p>Another thing to consider is once you have devops on your resume', you will be hounded by recruiters still trying to hire you to do it...
Software developing really improves your sysadmin skills, as you'll code your own administration/automation software.
Also, interacting with APIs manually makes you understand a lot better how systems work.
In general, software design/development is a completely different set of skills then sysadmin/devops.<p>They do overlap when you need to actually deploy your app.
I am a part time sysadmin for a tech company and have my own business developing websites and apps.<p>If you want to be a software developer be a software developer. Are you asking the question because you are thinking of taking a sysadmin job?