Mike said:
And yet "A journey of a thousand miles begins with a single step."
Would it really have been better to say "hey, I'm a newbie and I want
to know how to become a web programming god."? If you think so, then
consider that my amended question.
"You must pay for conformity. All goes well as long as you run with
conformists. But you, who are honest men in other particulars, know that
there is alive somewhere a man whose honesty reaches to this point also,
that he shall not kneel to false gods, and, on the day when you meet
him, you sink into the class of counterfeits."
Ralph Waldo Emerson
Step 1: Lurk here and determine what advice is valid, and how to weight
the free opinions rendered. (Even for free, some of what you see here
is over priced.)
I am going to assume the use of the term "mid level" was in reference to
position (i.e. worker as opposed to manager), not the degree of
proficiency to which you aspire. That may have given some here fodder
for reproach, as might "web programmer."
You may already know that this ("web programming") is the successful
melding of various disciplines. There are the "technicians" and the
"artists", and you will find that the successful are the ones that can
recognize their strong suits, while still appreciating the value of the
others. An artist may be able to create the geometry and color schemes
to make a page/site aesthetically appealing, while the technician can
whip up the mechanics of PHP, MySQL, java, javascript or even Flash
(though Flash is itself a mixed discipline) to provide an "engine."
Regardless of which school you find yourself in, the end product will
have to be valid current markup, and style. So if you tend to be the
mechanic, focus on those skills that make you proficient in the "engine"
that produce valid output for the artist. If you are the artist, focus
on the skills that allow you to convert the mechanical to the beautiful.
If you aspire to be both recognize your personal biases, and be
willing to "change hats" readily.
This takes you back to step 1, and learning to pick out the various
pieces you need to enhance your own inventory. Determine who are the
technicians, and who are the artists, and recognize how they have
integrated their strengths to compensate for their weaknesses.
Step 2: Validate your HTML and CSS, and learn the whys as well as the hows.
Since you are a "long-time programmer" you should appreciate that there
limitations to trying to establish metrics ("what skills a web
programmer should have.") For example, lines of code per day, may
provide a measurement of productivity, but it may encourage inefficient,
rambling, bloated code.
I am going to risk making another assumption (take it for what it's
worth.) I am assuming you are interested in augmenting your portfolio
to either strengthen your current position, or improves your
marketability. If it is the former, you have the advantage having some
perspective on the needs, and deficits of the organization, and can
focus on filling those needs. If it is the latter, you will have to
find a way to package a demonstration of your value that in itself may
require proficiency in your weaker areas. That means if you are a
technician, you have to have an artistic presentation of the end
product, and if you are an artist, you will need to show how you worked
with the "engine" to produce the art.
simple starting point.
- Be able to produce valid html in an efficient manner.
- Be able to do the same with CSS.
- Be able to recognize and create pleasing presentation.
- Be able to produce accessible pages.
- Have a fundamental understanding of the difference between content and
presentation, and how to properly separate and implement each.
- Have a fundamental understanding of the relationship between semantics
and HTML.
- Be able to recognize and produce "fluid" layouts without sacrificing
the tenor of your design. IMHO learn the limits of fluidity in a
design. ("Lord grant me the serenity to accept the things I cannot
change, the courage to change the things I can, and the wisdom to know
the difference." - Saint Francis of Assisi)
- Be able to appreciate that even mastering these things is no insurance
of producing "good" web pages since "good" is a relative term.
Hope this helps.