What do you wish you were better at?

As a self-taught guy (C#, PHP, some Java / JavaScript) that actually programs in a Sysadmin role because small company circumstances, my advice is to pick a language, get a highly recommended introductory book on it as to get the concepts down, then program all the time. Program on your free time and dedicate that practice to building functional applications that make your life easier at home and work. I feel like practicing with things you want to use opens a creative aspect and maintains the interest through the learning process, while the repetition of research and application of solutions in order to solve problems builds your toolbox and skills.

You can never stop learning, but at some point after several projects you'll notice that programming in a language you're beginning to understand on a deeper level feels different. It's more automatic and more of your focus is on how to best solve the problem using what you know or simply finding new and better ways, rather than how to simply make the app work. You know you're progressing when you look at the code in your first project and it's embarrassing as hell.

During the process it's important to heed good practice and, irrelevant of the fact that you may be programming a pet project with code no one else will ever see, it's important to get into the habit of creating understandable, reusable and extendable code. If you ever end up programming with a team, this is indispensable.

Anyway, with all of that said, If you're going to be on the Windows side of things I'd definitely recommend starting with C#. It's pretty straight forward after you understand the concept of Object-Oriented Programming. Visual Studio Community 2015 is a great IDE and it's free. Use it to learn how to build console & Winform apps, services, MVC web apps, anything.

Good luck!

/r/sysadmin Thread Parent