Karl Martino – 1/10/98
Funny story how I came to be a programmer/systems analyst/database administrator/web developer (you pick the day and the hat changes).
I was working at Sears telemarketing as a phone sales person. I came into the place a 19 year old with everything to gain. I had no home at the time, I was living in a squat then, and I honestly believed I had no future whatsoever. Most importantly, I had no one to give me guidance.
For the first time in my life – I became a success. Consistently I was one of the best sales people they had. Here, I didn’t need to worry about who I was. No one could see me, on the other side of the line. In fact, I noticed a trend, the outcasts were the best at this trade. Those who had low self esteem, for whatever reason, kicked ass.
Those above me and beside me noticed my enthusiasm. Soon I was training others. And motivating those who were not doing so well. We had a good product and a great customer base – all it took was some confidence in your self and you could do well. This was an important lesson for me. One I try to hold on to.
I became a full time trainer and lead person. Motivating people became my stock and trade. And I loved it. I felt like I made a difference in peoples lives for the better. But I held on to that position for such a short time before they made me a supervisor.
That’s when the walls caved in. Now I had to hire and fire people. Now I had real responsibility.
I had to know when to be stern and strong and when to bend. And I was not good at it! It wore heavy on me. I had nightmares. My friends thought I had lost it. And I did.
With my performance failing, my manager gave me the option of moving to our data entry position or try to ride out the wave, and maybe get fired. The data entry spot was going to be it, but not all.
I had been reading magazines about databases and programming languages. Something I haven’t had any real experience with (besides a short time with BASIC and a C64 I sold for Christmas gifts many years before), but saw possibilities. We had a 386 that was running an outdated sales tracking program that did not fulfill the businesses needs.
I mentioned to my manager that if he let me purchase a database product (Paradox for Windows 4.5) what we could do with it. And he let me. Under the condition that if I was not successful in this, that I would pay the consequences. And away we went!
I created programs to track attendance, sales productivity across customer demographics, forecasting of leads and goal projection, human resources, etc…. With each program my skills increased. I began to understand what a relational database was. I began to understand what an ad-hoc query application was. And I designed them. Soon I was training people to do data entry on my applications. Whoever owned the data would do the data entry, leaving me
to create further. I loved it!
But I was unique within Sears Telemaketing. There was nowhere for me to go upward. And by 1996 I mastered Paradox and wanted more. So I made a couple of phone calls and was convinced by a headhunter to go to Chubb and take a Client/Server class.
I was scared of the prospect of going back to school, I quit HS in 10th grade and wondered if I was good enough, let alone would it be worth it. Ten grand was nothing to sneeze at. I was working and couldn’t get financial aid in the form of grants to go, so I would need to take out a large loan. So if this didn’t work, my already poor fiscal state was gonna get much worse. Richelle, my love since I was 17, encouraged me. She always believed in me and stood by me in my hardest times. Even when others told me to forget about this crazy idea, she said to believe in myself. I enrolled.
At that class I impressed a person who became one of my best friends and a great co-worker, Pat Trongo. His companyneeded someone experienced in Paradox for Windows (they were moving from Paraodox for DOS)…. a few interviews later and I landed the job!
Chubb gave me a good foundation for my career. I learned Visual Basic, C, Unix, Sybase, and Powerbuilder. They became the cornerstones of what I taught myself in the future.
Those I worked with side by side, those who were my motivators and confidants, and especially Mary, Paula, and Joan who had became my mothers, Richelle, for believing and loving me, Joe, Debbie, Sara and Robin, my old bosses for giving me the chance, and Pat for reaching out to someone he barely knew and trusting….to all the people who told me I could make it….all I had to do was believe… I owe all this to them.
How Can You Start?
Many times you will see introductions to programming that take you right down into the details of what you are doing. They drown you in the particulars,and be quite intimidating. For many (and almost all old-school) programmers, there was but few routes to learn programming, and this made the most logical sense. First learn how software works – then learning to make new software.
I took a completely different approach. One that was not so overwhelming. One that required no schooling to get started, but encouraged you to take it in order to satisfy curiosity and be able to create better software.
First:Buy a PC if you don’t have one. I don’t care if your school has one… you need one at home to practice on. It doesn’t matter as far as learning goes what type of PC, although there is more support out there for Windows programmers. Actually… these days that probably isn’t true. I got started on a Commodore 64. Took a break for five years, and came back to it at Sears in the early nineties when Windows ruled. These days you have many more viable options for the beginner. And by viable I mean systems where there are many books, websites amd people to help you along the way. I would still recommend Windows, and now, probably Mac OS-X as starting places. Not having to wrestle with an operating system will allow you to focus first on the higher level basics and then dig deeper.
Some day you will install Linux. It’s guaranteed. It’s a right of passage. But doing that out the door is not required. No matter what don’t get discouraged!
Second:Play with the PC. “What?”, you say. Yes…play. Use it. Play video games. Use your word processor and make a resume. Do a household budget. Play some songs. View some pictures. This gives you a general idea of how software works. The more you play… the more you learn. Ever wonder why it seems like kids have it easier with this stuff… it’s because they play!
Third:Get a programming language on your computer. You already have one that is extremely powerful, but hard to use at first – shell scripts. I would skip that for now.
You just may have another language lurking on your computer if you have Microsoft Office – Visual Basic. It maybe a subset of the full language, but if you have Excel, it is enough of a full fledged programming language to experiment with and learn from. Back in my early Sears days, Lotus 123 and it’s macro language served as a similar starting point for myself.
If you do have Excel, and use it to track home finances for example, or at work, experiment recording keyboard macros. Name them. Then use the Visual Basic editor included with Excel to view the source code it’s written for you. Experiment. Record various keyboard macros and notice the code that is generated. Edit the source code by hand. You are using a programming language right there. One that’s extremely powerful out of the box. It exposes you to the full functionality within Excel and most of the Microsoft Office suite. From here – yes here – you can now learn the basics of logic, procedural programming, and user interface design. If you are doing this at work – you have a tool that can make your co-workers lives easier. If they are using Excel, design forms and spreadsheets with macros that take the tediousness out of their daily tasks.
If you don’t have Microsoft Office, maybe you have a desktop database? Paradox for example? FoxPro? Access? Each of these desktop databases include programming languages that you can use to build tools that make people’s lives easier. The second step in my career, the really important one, was learning Paradox, as I documented above. Desktop databases are not to be underestimated. They give you a great background in building applications. To this day there are a few FoxPro programmers I know that I know I could put up against any project and they will beat out anybody else interms of building a quality program in a short amount of time.
If you don’t have these tools on your system it’s time to bite the bullet and actually install a prgramming lanuage. On to step four!
Fourth:Download or buy a programming language compiler. “What’s that?”, you ask. Well computers actually only understand commands as series of ones and zeroes. One meaning on and Zero meaning off. It’s a pain in the butt to program that way. People did a long time ago. Luckily for us, programming languages were created so we can write commands in a close to english like manner to create programs (software). A compiler will take your commands and turn them into the ones and zeros for you. When you record keyboard macros with Excel it actually writes these english like commands for you!
You have probably heard of a few popular programming languages by now – C, Pascal, Visual Basic, Delphi, Perl, Python and Java. Many of these are available for free and you can download them from the web. I highly recommend Perl, Java and Python for the beginner programmer. They are downloadable for free. Buy the full-bore Visual Basic environment or Borland’s Delphi if you want to cough up some dough. Delphi and Visual Basic, in particular, if you are interested in writing software that has graphical user interfaces (GUIs). You can write these in other languages, but nothing comes close to VB or Delphi in terms of how simple they are for the beginner.
Fifth:Write your first program! Most programming environments get you started by
putting you through a tutorial. Take it. And then build your first program. You can do it! Your first efforts will suck. Yep. But you will get better with practice. Download examples from the internet. Examine the source code. See how other people have done what you’re trying to do.
The Web Alternative:Get an account with a web hosting company that supports CGI (which means Perl most of the time), MySQL, PHP, and Python. Start by creating a basic web site. Learn HTML doing so. Then download from the web freely available CGI programs and install them – like message boards, weblogging tools like MovableType, and file management tools. Examine the source code. Edit the source code. Write your own CGI scripts.
Finally:Don’t get discouraged. Learn from others. Keep trying. You’ll get better in time. As you do, explore why things work the way they do. Go to classes. Read books. Use search engines, message boards, and newsgroups like mad. Reach for the next level.
Thanks to Dave Bauer for the critique and some of the ideas presented above.
Peter Norvig: “Teach Yourself Programming in Ten Years”
As of 4/25/99 I began work as a web applications developer at philly.com – the newspaper site for the Philadelphia Inquirer and Daily News! Wow! Here is the letter I gave for my resignation:
“It is with deep regret, that I am informing you that I have accepted a position at another company. My last day will be on 4/23/99. I have enjoyed and benefited greatly from working with you, for DecisionOne. It has been a positive experience in my life and my career. I will be forever thankful for all I have been allowed to learn, and experience, the responsibility that was entrusted to me, and especially the friendships I have made, and the people I have been blessed to meet. I will carry them with me in my years to come.
Thank you,-Karl Martino”
What an adventure life can be.