Becoming a great (or even a competent) designer or developer takes time and practice. There are no shortcuts.
The issue is that many of us think that without becoming great (or even just competent), there's little point to attempting it at all. That's where I come in.
Both design (a very diverse field, with sub-specializations and sub-sub-specializations, et cetera) and software development (ditto) are _disciplines_. You don't have to master them in order to become conversant with the fundamentals.
Designers can learn the rudiments of programming. Variables, logic, control of flow. These are not difficult concepts to master, and they are universal among languages. Even the principles of object-oriented programming are accessible without going to a four-year college.
The same is true of design, however skeptical programmers may feel about it. Artistic ability seems to be innate, creativity so hard to define that programmers write the field off, like wishing that you had red hair when it is brown. Nothing could be further from the truth.
Others have pointed out in the comments that the best course of action is to start small and localized. Learn about typography; it has a lot of impact given that we read a lot of text on our screens, and it's a field with a lot of simple, prescriptive rules. Learn a little about cognitive theory—how our minds process our sense of sight, and how you can help the viewer's mind process your message more efficiently. Learn a little color theory.
As software engineers, we are constantly learning a new language, a new framework, a new version of something. I fail to see why design topics are verboten in this regard, except for irrational fears. You're going to suck at first, but is that really different than how good you are the first time you pick up a foreign framework and start playing with it?
Becoming a great (or even a competent) designer or developer takes time and practice. There are no shortcuts.
The issue is that many of us think that without becoming great (or even just competent), there's little point to attempting it at all. That's where I come in.
Both design (a very diverse field, with sub-specializations and sub-sub-specializations, et cetera) and software development (ditto) are _disciplines_. You don't have to master them in order to become conversant with the fundamentals.
Designers can learn the rudiments of programming. Variables, logic, control of flow. These are not difficult concepts to master, and they are universal among languages. Even the principles of object-oriented programming are accessible without going to a four-year college.
The same is true of design, however skeptical programmers may feel about it. Artistic ability seems to be innate, creativity so hard to define that programmers write the field off, like wishing that you had red hair when it is brown. Nothing could be further from the truth.
Others have pointed out in the comments that the best course of action is to start small and localized. Learn about typography; it has a lot of impact given that we read a lot of text on our screens, and it's a field with a lot of simple, prescriptive rules. Learn a little about cognitive theory—how our minds process our sense of sight, and how you can help the viewer's mind process your message more efficiently. Learn a little color theory.
As software engineers, we are constantly learning a new language, a new framework, a new version of something. I fail to see why design topics are verboten in this regard, except for irrational fears. You're going to suck at first, but is that really different than how good you are the first time you pick up a foreign framework and start playing with it?