Programming?
Techytach
Member Posts: 140
Don't see this discussed much (I guess cause its a cert board.)
Just got my CCNA and was thinking of trying to pick up a programming language while I search for a networking job. Not really for the networking side (or maybe there is a job for that?) just to see if I like it. Also weighing my options on what jobs I can realistically get in my area. Not sure if there are enough entry level networking jobs to land one (haven't seen any yet) but maybe I can get an entry level software dev job.
I guess my question is, has anyone picked up programming, hated it, gone to another IT job, or vice versa? Hated networking or sys admin and gotten into programming and loved it? I guess I am just curious to hear experiences to or from programming jobs. If you liked it as a hobby but maybe hated it as a job. That kind of thing.
Just got my CCNA and was thinking of trying to pick up a programming language while I search for a networking job. Not really for the networking side (or maybe there is a job for that?) just to see if I like it. Also weighing my options on what jobs I can realistically get in my area. Not sure if there are enough entry level networking jobs to land one (haven't seen any yet) but maybe I can get an entry level software dev job.
I guess my question is, has anyone picked up programming, hated it, gone to another IT job, or vice versa? Hated networking or sys admin and gotten into programming and loved it? I guess I am just curious to hear experiences to or from programming jobs. If you liked it as a hobby but maybe hated it as a job. That kind of thing.
Comments
-
EagerDinosaur Member Posts: 114I am programmer and I generally enjoy programming, so I'm only partially qualified to comment.
On the rare occasions I'm called on to do network-type stuff (eg. investigating connection failures with Wireshark, debugging TLS-handshake problems, diagnosing MTU issues, etc.) I find I enjoy that as well. Although I never enjoyed crawling round on the floor looking for missing 10Base2 terminators. On that basis I'd say there's some overlap between the motivations and skills of programmers and network engineers. -
Techytach Member Posts: 140EagerDinosaur wrote: »I am programmer and I generally enjoy programming, so I'm only partially qualified to comment.
On the rare occasions I'm called on to do network-type stuff (eg. investigating connection failures with Wireshark, debugging TLS-handshake problems, diagnosing MTU issues, etc.) I find I enjoy that as well. Although I never enjoyed crawling round on the floor looking for missing 10Base2 terminators. On that basis I'd say there's some overlap between the motivations and skills of programmers and network engineers. -
the_Grinch Member Posts: 4,165 ■■■■■■■■■■There's a whole course on Python for Network Engineers. Seems there are some tasks you can automate to make things a lot easier for yourself.WIP:
PHP
Kotlin
Intro to Discrete Math
Programming Languages
Work stuff -
JoJoCal19 Mod Posts: 2,835 ModI'd recommend learning Python. I'm seeing not just in security, but in networking and sysadmin jobs asking for Python scripting (sometimes other scripting languages as well). It's a good skill to have regardless of where you are in technology.Have: CISSP, CISM, CISA, CRISC, eJPT, GCIA, GSEC, CCSP, CCSK, AWS CSAA, AWS CCP, OCI Foundations Associate, ITIL-F, MS Cyber Security - USF, BSBA - UF, MSISA - WGU
Currently Working On: Python, OSCP Prep
Next Up: OSCP
Studying: Code Academy (Python), Bash Scripting, Virtual Hacking Lab Coursework -
spicy ahi Member Posts: 413 ■■□□□□□□□□check out https://pynet.twb-tech.com/ He teaches Cisco automation using python. I never took the plunge because I moved out of networking but many of my former subordinates who are still in the network field took his courses and now swear by him.Spicy :cool: Mentor the future! Be a CyberPatriot!
-
the_Grinch Member Posts: 4,165 ■■■■■■■■■■Think of it this way, you could use Python to pull the configurations from your routers and switches then compare them to a previous version to look for changes. Was this a change your organization made? Is it a change an APT made? A lot of times the networking equipment isn't looked at or updated so this would provide a method to at least monitor it.WIP:
PHP
Kotlin
Intro to Discrete Math
Programming Languages
Work stuff -
networker050184 Mod Posts: 11,962 ModThere are definitely a lot of career opportunities that pay well for network people with programming skills. You'd be future proofing your career more than just having networking skills alone for sure.An expert is a man who has made all the mistakes which can be made.
-
Techytach Member Posts: 140Thanks for the advice. Was actually thinking of python as well. Will give it a go.
-
DoubleNNs Member Posts: 2,015 ■■■■■□□□□□I also recommend Python.
Alternatively, Golang is taking off recently. So is Node.JS.
Then there's also Powershell and Bash if you want to be closer to the systems side of things.Goals for 2018:
Certs: RHCSA, LFCS: Ubuntu, CNCF CKA, CNCF CKAD | AWS Certified DevOps Engineer, AWS Solutions Architect Pro, AWS Certified Security Specialist, GCP Professional Cloud Architect
Learn: Terraform, Kubernetes, Prometheus & Golang | Improve: Docker, Python Programming
To-do | In Progress | Completed -
Slowhand Mod Posts: 5,161 ModThe language you want to work with isn't quite as important as the conceptual knowledge of how programming "works", in my opinion. Python's a good choice, but if you have the opportunity to take an "Introduction to Programming" course, like as an evening class at your local community college, jump on it. It'll probably be taught in C or C++, but it'll be well worth it to really learn those fundamentals, (and possibly see what other courses they have, like Object-Oriented Programming and/or Data Structures & Algorithms,) which all carry over to other languages. The syntax changes, but the fundamentals stay the same; it's the extra bells and whistles that make each language unique and useful in its own way.
If you're not much for classroom learning, there are lots and lots of online resources, too. Video courses, ebooks, you name it and it's out there.
Free Microsoft Training: Microsoft Learn
Free PowerShell Resources: Top PowerShell Blogs
Free DevOps/Azure Resources: Visual Studio Dev Essentials
Let it never be said that I didn't do the very least I could do. -
alias454 Member Posts: 648 ■■■■□□□□□□I wouldn't consider myself a programmer but I do know how to be moderately dangerous. I agree that learning the concepts of programming are a definite bonus for you when working in just about any IT related job. In my current role, I don't write applications but do a lot of scripting and one off automation jobs. My background with web application development has helped me tremendously. I like doing sys admin work but enjoy adding in some pepperings of development.“I do not seek answers, but rather to understand the question.”
-
srj Member Posts: 58 ■■■□□□□□□□I will echo Python has a recommendation especially if you don't have a programming background. If you take the C/C++ class, you'll learn about static typing, pointers, polymorphism, etc. which is basically a bunch of crap to confuse people new to programming. Where you want to be at is learning about functions, classes, loops, etc.
After Python, you can move onto a statically-typed OOO language like Java or C++ if you choose to. You probably won't find the need to unless you decide to become a developer. If you really become interested in how everything works at a low level, you can move onto an intro to assembly class from there. I recently took it and will probably never use it on a daily basis, but it did help to improve my understanding of how programming works closer to the hardware.
I think that Python has some clear benefits:
- It is designed to be usable and make sense: https://www.python.org/dev/peps/pep-0020/
- There aren't 50 ways to do everything that simply confuses new programmers (Ruby)
- There is a strong community and there are plenty of tools/frameworks. You can use Django/Flask to build websites, you can extend SaltStack/Ansible for configuration management, and there are many libraries available.
- It is installed on many OSes by default (including any variant of Linux I've ever used).