10
hard-earned lessons of a lifetime in IT
Here are 10 things I wish I knew as an IT
newbie.
1. They’re called
'fundamentals' for a reason
Technology is in constant flux, and success in IT means keeping
on top of new developments as they evolve. But it's not only unnecessary to
learn everything -- it's impossible.
Concentrate on the fundamentals. These will serve you much
better than detailed knowledge of the internal workings of transient hardware
and software.
In the early 1980s, I knew almost everything about how the Apple
IIe worked, to the point of rewriting the low-level disk drivers to make them
more efficient. Then the IBM PC came out. I enjoyed it, of course, but the
reusable knowledge in this experience would have been more easily obtained from
a textbook on operating system principles.
2. Marketing is not
evil
Well, it doesn't have to be evil.
When you communicate the value of your work to employers,
clients, or coworkers, you are doing the work of marketing. And it's not just
for folks looking to open their own business. If you ever pitch a project or
feature idea in a meeting, an understanding of marketing will be far more
valuable than fluency in any programming language. It also helps when you
realize that your résumé is actually a sales brochure and the product is you.
All of my writing skills were improved significantly, and
quickly, by studying marketing and copywriting. And I've learned that knowing
how to be persuasive upfront when it counts is far more valuable than being
right in hindsight.
3. Learn the
difference between opportunity and distraction
Opportunities are everywhere, but so are distractions. To an IT
pro, technology can be very seductive, especially new technology -- or obscure
problems.
Learning about the business you're working with allows you to
see past the tech into the heart of what is necessary for your company,
enabling you to add unexpected value. Re-inventing object-oriented computing
while trying to cram a 2D CAD system into a Commodore 64 may seem like an
opportunity to demonstrate your brilliance, but it's better to make sure your
hard work is on something meaningful. Believe me, I now know.
Honing your understanding of technology's place in business also
helps you see opportunities outside of your job, which is how your career
really grows.
4. If you don't have a
contract, you don't have a job
Even the best employers or clients have occasional payment
hiccups. Trust, but verify -- in writing -- and don't start work without a
deposit.
I once agreed to do a rewrite of an application from Basic to
Assembly language in three months and asked a friend to help me. After
delivery, the client was delighted with the results, but didn't pay us. A
contract lawyer might have cost a couple of hundred dollars. More important,
knowing in advance that the client was unwilling to sign a contract would have
prevented a $25,000 loss.
There are few lessons harder learned than those that touch your
livelihood.
5. MBAs know what's
best -- for themselves, not for you
You'd like to think that anyone with a higher-education degree
wearing a suit knows what's best. They do know what's best -- for them, not for
you.
Don't let your success depend on empty suits, empty promises, or
snake-oil salesmen. It's far too easy to wait: to be selected, to be noticed,
to be promoted, to be appreciated. We’re trained from childhood to trust
authority figures, respect elders, and believe that we're all in this together.
But when your 90-hour workweek architecting the product, coding the kernel, and
managing a staff of 25 developers suddenly evaporates because the fraud of a
CEO found out you got wise to his routine sabotaging of your team's work, you
learn real quick that business can get dirty.
6. Recognize the
patterns before they bite you
Many "executive" decisions are made accidentally, or
for bizarre reasons that have nothing to do with the problem, the solution,
logic, technology, economics, or you. Don't take it personally, but if you
detect a consistent pattern of poor leadership, questionable choices, or
shortchanging IT input, then get out of there quickly.
Especially when a company rarely has a fallback plan despite
your rumblings, then it's high time to have a Plan B of your own.
Oh, and when the owner of a startup keeps asking for more and
assures you "we'll take care of you," this does not mean what you
think it means.
7. Relational database
normalization will teach you clarity and economy of thought
I'm not kidding. This topic gets short shrift in most college
courses, but is a foundational design philosophy for structuring information,
recognizing patterns (especially missing elements), and identifying
dependencies.
The point is not to know how to normalize poorly structured database
tables (which is what most college exercises dwell on); the point is to learn
to quickly identify entities and relationships, and to think and design in
minimal, nonredundant structures.
Functional dependency is the Tai Chi Chuan of software development.
Master it. Stumbling upon and studying the work of Edgar Codd and Chris Date was the single most
important turning point in my career as a software designer.
8. Get your head out
of tech (to be truly inspired)
Inspiration and insight can come from anywhere. And if there's
anything I've learned about technology, it's that you have to turn off the
machines sometimes to truly understand them.
For example, writing science fiction helped me realize something
hiding in plain sight about writing software: You imagine something that
doesn't exist, then work backward from first principles to figure out how it
might be possible.
Here, reading is essential. And not just tech news and nerd
magazines. Business, finance, fiction, non-fiction, biographies -- your mind
always expands when you expand your sphere of knowledge.
Plus, reading (and writing) helps you learn how to organize your
work, present ideas, express thoughts clearly and succinctly, and observe and
improve yourself in the workplace.
9. Let your eyes
wander
Don't let yourself get pigeonholed or buried for more than a few
months on a project; otherwise, when you resurface, the tech world will have
changed.
The IT field is vast. Look outside your current job every once
in a while to stave off boredom and ossification.
Early on, I became extremely bored writing the same kinds of
applications over and over. Fortunately, I happened onMarvin Minsky's work and realized there was far more to
programming than what I had been doing; I haven't been bored since.
Then, after five years working with one very interesting
technology, I came up for air and found all the cool kids were talking about
some newfangled thing called the Internet. Good thing I looked up.
10. IT is more about
people than you think
Tools come and go, but people stick. In fact, contrary to what
you might think, people are the most important aspect of IT work.
The thrill of writing code to solve a problem is addictive, but
short-lived. The satisfaction from making life better for the people who use
your software is much more powerful and lasts far longer.
Do yourself a favor and get over yourself. Appreciate the work
of others out loud. Share credit generously. Listen thoughtfully -- to
colleagues, managers, especially clients and customers.
I like gadgets and problem-solving and inventing things, of
course. It was the essential kernel that drew me to this field, but I was
surprised to find out that I like people even more.
By Steven A. Lowe
No comments:
Post a Comment