Yeah, you seem to really have the GUI side of things down for your visual representation. I wish I knew that aspect half as well as you do. I just found out last night that the SysnativeBSODApps I designed the GUI for had a major flaw: no DPI awareness. I'm running a 1920x1080 resolution system that has 125% Display settings, so when I opened the apps, I only saw about 60% of what I had intended the user to see. Spent most of the evening yesterday learning about DPI awareness and how to scale things based on the DPI settings, and then I spent the better part of today implementing it.
Where did you learn how to put the GUIs together and how to program in general? Most of what I've learned is self-taught with a little guidance from my dad who is a software developer.
Programming in general has all been self taught. Inspired and influenced by other pretty advanced, self-driven programmers, that i've met throughout my life. I started the basics of programming with batch at first once long ago, then progressed from there. I now know a multitude of languages because of that. Scripting languages such as Batch, Perl, Powershell, and others, to compiled languages such as VB.NET, C#, C/C++, Java, etc... To some extent. I'm most involved with the .NET framework though.
Security has also always been something that I have been involved in. I knew a guy that had a career in Bell security systems. His job was basically to crack into Bell's system, and if he found a security flaw, write security measures to prevent against the flaws he found. I've learned a lot from some very talented members among certain forums as well. Quite a few of them, it had always amazed me for why they didn't work for the security group somewhere at Microsoft, although they did teach me lots.
GUI representation... I've always been slightly involved in Graphical design, so combining concepts from what I know about visual representation, and programming, I can usually come up with some good software design for the UI itself. Knowing how image file formats as well (through past experiences) has also helped me. I've written a PNG file format parser, and compression methods, and i've also dealt quite a bit with BMP file formats. These help you as well for how the graphics are drawn and depicted on-screen for your UI; transparency properties, colors, ect...
I know people who are game developers, database administrators, webmasters, automation programmers, security analysts, and general desktop software developers though. Each of my contacts with these individuals in my life, has helped me improve ever so slightly with my own knowledge of various aspects in computers, which extend past just the programming. Sometimes I find, knowing a little about everything, is better than a lot about one thing.
Knowing past the .NET framework is essential as well for understanding of how Windows forms work. Which are all given the helper of the Win32 API. So if you look into how the Win32 API works, this may also help you out a little. Especially for what I tried to do with the graphical interface for this program. "Drawing" to the non-client area of the form, is not just a simple task. There's various functions in Windows API's though that help you "override" and control the way a Windows form is shown.
~Ace