There’s more to just reaching 100,000
lines, though. It’s about discipline. It’s about learning fundamentals.
It’s about finding the very difficult scenarios, and how to solve them.
Ultimately, writing 100,000 lines of code before you even graduate, is
about experience. You will be properly molded as a programmer and
developer.
The #1 challenge that students face,
however, is finding what to
code. How do you just sit down at your computer, and start coding? You
need a project, or a problem to solve. You need something that will keep
you motivated to write the problem. www.pythonchallenge.com is a perfect fit. Each page on the site
presents you with a problem. You code the challenge in the Python
programming language and modify the URL with the answer, moving on to
the next challenge. Although it’s a far cry from writing 100,000 lines
of code, it’s a good challenge that will stretch your mind, and get you
coding. There are many other examples and challenges online to get you
coding.
Don’t forget about mathematics: Coming
from a Mathematics major, I can back this point up until the cows come
home. Programming and software development require a great deal of
logically thinking through problems. Just the other day, a friend of
mine and I were discussing technical questions that are asked in
software development interviews. Usually, they are fairly nasty, going
back to the fundamentals that you learned while in college, or studying.
However, most of the problems presented, if they’re a good interviewer,
are logic-based, and this is where your skill as a mathematician will
shine.
For example, one question in just such an
interview could be “Here is an array of randomly placed integers. Write a
program that sorts the array.” While your skill as a programmer will
shine, your skill as a mathematician will shine brighter. Even if the
syntax is bad, and would not compile, the logical thought process behind
the algorithm is what the interviewer will be looking for.
I’ve heard complaints from students
year-round that what they are learning in math class, they will never
use in their career, or in real life. My rebuttal has always been that
they are further from the truth than they realize. By learning the math
skills that they are, even if it is differential equations or triple
integrals, they are honing their skill in logic. Being able to sit down,
and workout even the most insane and unrealistic math problems means
that you are able to think through a problem, and come up with a
solution, going from one step to the other. If you can do this without a
well-formulated equation sitting in front of you in black and white on
textbook paper, then you are skilled indeed. Learn math.
Finally, work strategically: When
looking for a computer programming or software development job, as the
tip suggests, look for a job that encourages growth and an employer that
is willing to train your, increasing your skill and potential. There
are good programming jobs and there are bad ones. The bad jobs will put
you in tasks that are mundane, and don’t stretch your imagination. The
same thing over and over. Initially, there may be a learning curve when
hired learning the task, but after several repetitions, day after day,
the learning curve levels and the job becomes boring and mundane.
So, you want to pick a job that takes you
from the mundane to the exciting. The only jobs that encourage this
culture are jobs that encourage growth and learning. For example, at my
current job at introPLAY, I recognize, as well as my boss, that my
Python skills are very new and unexperienced. While I was hired for my
frontend skills in HTML, CSS and JavaScript, the company I work for
fosters the training and learning that is necessary for me to learn
Python and help progress the speed of development for the company. Even
more so, as is with most web development positions, new problems present
itself daily, and I am constantly battling how to tackle the problem at
hand. This mental stretching and learning is a great work environment.
So there you have it. Some great advice
for CS students looking to get into the field. To be honest, I wish I
would’ve known some of these tips when I was attending school. In fact, I
wish some of the faculty would’ve taken the time to go over these as
well. These tips are pearls of great worth, and if taken seriously, will
propel your development career far and fast.
No comments:
Post a Comment