Can you elaborate on this? Where does “the code you’ve written” come from? Do you produce it in school projects? Or is it from jobs you might take on the side? Are you expected to be passionate enough about programming to have a bunch of code that you wrote for fun and practice lying around? Is it a mix of all three? What should I be doing with my time?
Are you expected to be passionate enough about programming to have a bunch of code that you wrote for fun and practice lying around?
Yes, and more than that. You are expected to have written code for fun and personal use and maybe for profit and maybe just to help friends. Your code isn’t supposed to be lying around but rather be in a place like GitHub. It is good if you have contributed to an open-source project, preferably a high-profile one. It is even better if you have your own open-source project, especially if it looks cool and attracted other developers.
Employers want to look at your code because of two angles. One is that good programmers enjoy what they are doing. They like to program. People who like to program do program and not just on the job because they are paid for it.
Two is the ability to code. College degrees are not necessarily indicative of the actual ability to write good code. But being able to show directly that yes, you have written good code, is.
Fair warning: the next two pieces of advice contradict each other :-)
Piece one says that you don’t seem to enjoy coding. If you don’t you are not going to enjoy a job as a programmer. This means you will not be a good programmer and might end up being miserable in a job which consists entirely of doing what you don’t like. Find something that you enjoy doing.
Piece two says that you need to find something besides your future art degree. Something that is called a marketable skill (BFA isn’t it) which will allow you to become employed after graduation.
I know a girl who graduated from an Ivy League school with an art degree last summer. Guess what she is doing now? She is a waitress in a local pizza joint.
Employers want to look at your code because of two angles. One is that good programmers enjoy what they are doing. They like to program. People who like to program do program and not just on the job because they are paid for it.
Depends on the employer. There’s a lot of demand for programmers who aren’t Google-quality. Granted, you’ll likely be a corporate code monkey maintaining an accounting system somewhere, but it’s a living.
Piece one says that you don’t seem to enjoy coding.
I don’t know if this is really true about me. Sometimes I love it and sometimes I hate it, to be honest. I’ve pretty much hated it in college, but this might just be because of the way the courses are taught.
Something that is called a marketable skill (BFA isn’t it) which will allow you to become employed after graduation.
What are other examples of marketable skills to you?
As an aside, while I know and accept the fact that statistically BFA pays pretty poorly and has relatively high unemployment, I don’t understand it. Every company in the world needs a designer in some form or another. Who needs an anthropologist, a philosopher, a historian, a sociologist, a psychologist, etc.? And yet we are told that getting a college degree is definitely a good idea. Maybe there are a whole pool of white-collar jobs that have nothing to do with any particular major, but are only available to people who can signal their intelligence in a way that art majors can’t?
And yet we are told that getting a college degree is definitely a good idea.
People remember that it was good for them, and don’t realize that tuition has gone up while quality of instruction has gone down since they graduated. Google “higher education bubble” to see that not all people are saying that anymore.
I’ve pretty much hated it in college, but this might just be because of the way the courses are taught.
This was sort of my experience. Buy the right books and build interesting projects in the time you would be spending on classes, and you’ll probably enjoy it a lot more. You don’t need a degree in computer science to get a job as a software engineer; some experience/projects and the broad, shallow knowledge required to do well in typical interviews (and all those other interviewing skills I suppose) are enough.
You sound like you might enjoy Hacker School, by the way.
An easy test. Do you code on your own, not because something external (like homework) requires it, but on your own volition, because it’s a natural thing to do? Do you get into flow state while coding?
What are other examples of marketable skills to you?
In your context just look up post-graduation employment rates by college major. Engineers and accountants will do well. Women Studies majors, not so much.
Every company in the world needs a designer in some form or another.
Most companies need a designer only occasionally and that does not justify keeping one on payroll. If a company needs a new logo it can hire a design company or a freelancer.
Maybe there are a whole pool of white-collar jobs that have nothing to do with any particular major
Yes, they are typically called “administrative assistant” or some other variety of a junior paper-shuffler. They are rarely satisfying or lead to a career.
Do you code on your own, not because something external (like homework) requires it, but on your own volition, because it’s a natural thing to do?
No
Do you get into flow state while coding?
Yes
In your context just look up post-graduation employment rates by college major. Engineers and accountants will do well. Women Studies majors, not so much.
Yeah, I already did this. Science has always been far and away my least favorite subject in school, so science and engineering are definitely out. Math and economics seem to be the next best things after computer science, but neither of these, while interesting to a certain extent, exactly seem like buckets of fun.
Changing what you like is basically about discovering new aspects of an activity. Changing what you are good at is straightforward. It’s about learning skills. Changing what people are willing to pay you money for is a lot about going out and meeting the right people.
You also don’t have to limit yourself to things that other people have as established career paths. There less competition if you use your creativity to go to a path that has no one else on it.
there’s always someone on github who could use help with their open source thing.
Any chance you could point me at one or two?
Background: I enjoy coding, but run into problems with high-level motivation. Point me at something to do, I’ll do it (and likely enjoy myself) but when it comes to doing the pointing myself I draw a blank. Most of the code I’ve written in the last year has come from frustration with inadequate tools at work, which is productive for learning but not for sharing.
I’m currently most proficient with Python, have dabbled in C++, and commit to spending an hour each with the first two open source things anyone points me at. (2x 25 minute pomodoros, this weekend.)
Some of my stuff would be hard to contribute to without a basic background in something like chemical kinetics or partial differential equations, but my main project also kind of has the opposite problem: libMesh has a pretty dated and incomplete unit test suite, and an atrociously dated Debian package, in part because anyone with enough finite elements experience to hear about the project tends to perpetually have more urgent work occupying their time than tedious unit test and dpkg writing.
I’m not sure “want to help me write tedious stuff?” is a good solution to your motivation problem, though. If I was looking for something to jump into for fun, I might try MineTest, a Minecraft clone in C++/Lua which is surprisingly complete but still has a lot of serious limitations. If “most proficient with Python” is the deciding factor, maybe take a look at Matplotlib? A friend of mine is one of the major developers there, and I’ve been impressed by how fast it tends to supplant gnuplot/matlab/etc as the scriptable-graph-generator of choice for researchers who play with it.
Can you elaborate on this? Where does “the code you’ve written” come from? Do you produce it in school projects? Or is it from jobs you might take on the side? Are you expected to be passionate enough about programming to have a bunch of code that you wrote for fun and practice lying around? Is it a mix of all three? What should I be doing with my time?
Yes, and more than that. You are expected to have written code for fun and personal use and maybe for profit and maybe just to help friends. Your code isn’t supposed to be lying around but rather be in a place like GitHub. It is good if you have contributed to an open-source project, preferably a high-profile one. It is even better if you have your own open-source project, especially if it looks cool and attracted other developers.
Employers want to look at your code because of two angles. One is that good programmers enjoy what they are doing. They like to program. People who like to program do program and not just on the job because they are paid for it.
Two is the ability to code. College degrees are not necessarily indicative of the actual ability to write good code. But being able to show directly that yes, you have written good code, is.
Fair warning: the next two pieces of advice contradict each other :-)
Piece one says that you don’t seem to enjoy coding. If you don’t you are not going to enjoy a job as a programmer. This means you will not be a good programmer and might end up being miserable in a job which consists entirely of doing what you don’t like. Find something that you enjoy doing.
Piece two says that you need to find something besides your future art degree. Something that is called a marketable skill (BFA isn’t it) which will allow you to become employed after graduation.
I know a girl who graduated from an Ivy League school with an art degree last summer. Guess what she is doing now? She is a waitress in a local pizza joint.
Depends on the employer. There’s a lot of demand for programmers who aren’t Google-quality. Granted, you’ll likely be a corporate code monkey maintaining an accounting system somewhere, but it’s a living.
I don’t know if this is really true about me. Sometimes I love it and sometimes I hate it, to be honest. I’ve pretty much hated it in college, but this might just be because of the way the courses are taught.
What are other examples of marketable skills to you?
As an aside, while I know and accept the fact that statistically BFA pays pretty poorly and has relatively high unemployment, I don’t understand it. Every company in the world needs a designer in some form or another. Who needs an anthropologist, a philosopher, a historian, a sociologist, a psychologist, etc.? And yet we are told that getting a college degree is definitely a good idea. Maybe there are a whole pool of white-collar jobs that have nothing to do with any particular major, but are only available to people who can signal their intelligence in a way that art majors can’t?
People remember that it was good for them, and don’t realize that tuition has gone up while quality of instruction has gone down since they graduated. Google “higher education bubble” to see that not all people are saying that anymore.
This was sort of my experience. Buy the right books and build interesting projects in the time you would be spending on classes, and you’ll probably enjoy it a lot more. You don’t need a degree in computer science to get a job as a software engineer; some experience/projects and the broad, shallow knowledge required to do well in typical interviews (and all those other interviewing skills I suppose) are enough.
You sound like you might enjoy Hacker School, by the way.
An easy test. Do you code on your own, not because something external (like homework) requires it, but on your own volition, because it’s a natural thing to do? Do you get into flow state while coding?
In your context just look up post-graduation employment rates by college major. Engineers and accountants will do well. Women Studies majors, not so much.
Most companies need a designer only occasionally and that does not justify keeping one on payroll. If a company needs a new logo it can hire a design company or a freelancer.
Yes, they are typically called “administrative assistant” or some other variety of a junior paper-shuffler. They are rarely satisfying or lead to a career.
No
Yes
Yeah, I already did this. Science has always been far and away my least favorite subject in school, so science and engineering are definitely out. Math and economics seem to be the next best things after computer science, but neither of these, while interesting to a certain extent, exactly seem like buckets of fun.
You need to find something that satisfies three criteria:
You like it
You are good at it
People are willing to pay you money to do it
It’s really up to you to figure out what “it” is.
What if “it” doesn’t exist?
That means you have to change one of the things.
Changing what you like is basically about discovering new aspects of an activity.
Changing what you are good at is straightforward. It’s about learning skills.
Changing what people are willing to pay you money for is a lot about going out and meeting the right people.
You also don’t have to limit yourself to things that other people have as established career paths. There less competition if you use your creativity to go to a path that has no one else on it.
Then you have to put on your big-boy pants, suck it up, and deal with it.
Note that (1) is adjustable by you, within limits. Note that (2) is also adjustable by you, also within limits.
Fun, and practice, and there’s always someone on github who could use help with their open source thing.
Source: myself, and everyone else on github who could use help with our open source things. ;-)
Any chance you could point me at one or two?
Background: I enjoy coding, but run into problems with high-level motivation. Point me at something to do, I’ll do it (and likely enjoy myself) but when it comes to doing the pointing myself I draw a blank. Most of the code I’ve written in the last year has come from frustration with inadequate tools at work, which is productive for learning but not for sharing.
I’m currently most proficient with Python, have dabbled in C++, and commit to spending an hour each with the first two open source things anyone points me at. (2x 25 minute pomodoros, this weekend.)
Some of my stuff would be hard to contribute to without a basic background in something like chemical kinetics or partial differential equations, but my main project also kind of has the opposite problem: libMesh has a pretty dated and incomplete unit test suite, and an atrociously dated Debian package, in part because anyone with enough finite elements experience to hear about the project tends to perpetually have more urgent work occupying their time than tedious unit test and dpkg writing.
I’m not sure “want to help me write tedious stuff?” is a good solution to your motivation problem, though. If I was looking for something to jump into for fun, I might try MineTest, a Minecraft clone in C++/Lua which is surprisingly complete but still has a lot of serious limitations. If “most proficient with Python” is the deciding factor, maybe take a look at Matplotlib? A friend of mine is one of the major developers there, and I’ve been impressed by how fast it tends to supplant gnuplot/matlab/etc as the scriptable-graph-generator of choice for researchers who play with it.
yes