Want to Learn Javascript.

Can You Teach Me to Code-Program?

31. March 2009 03:05 by Scott in   //  Tags: , , ,   //   Comments (0)

Training the un-wanting is just plain hard.

Can you teach me to program/code?  I get this question a lot in my day to day life.  I have fallen for it almost 100% of the time and in total, about 10 times in the past two years. Friends ask me if I can teach them how to program.  Other Friends want to create nifty little applications and need to know how to start.  Then there are those that wish they knew, but don't know where to start.  Every time I tell people I am a full time developer, I tend to get the question.  The problem here is not that I get the question, its that 99% of the time I say yes.  I actually don't really remember the last time I said no.

The United States along with other countries such as South Korea, India, Parts of China, Australia and Parts of England are now fast becoming post industrial countries.  They are losing their manufacturing expertise and moving to more of an intellectual work environment.  In this work environment, most people sit on their butts all day in front of a computer and get something done.  In a work where the computer rules the office space, people want to manipulate their computers more and more.  They want to figure out how to change information and manipulate the way things work. So because of this post industrial revolution, people want to learn how to program.  Take for example, MySpace.  You have to know how to develop for the web in order for you to make your page more personal.  Its becoming more and more mainstream to hack a bit at code.  It used to be the things that nerds do and now every kid on myspace.com has coded a little bit.

 


Photo by Wonderlane

 

I have one friend who wanted to create a small application for user management of their organization (I ended up doing most of their work).  I have another friend who wanted to learn how to create online games for Myspace.  I sat down with him for a couple of hours and banged out some code.  For the next week, he experimented a lot.  Then he just fell off and I no longer heard him talk about code.  I just had another friend who knew a bit of C and C++ in which she asked me if I can teach her to code.  I said yes for the plain fact that its hard to say no.  I learned to say no a while back and people tend to confuse me with someone as selfish or self absorbed.  I usually let it go as that for the short answer.  The long answer for those closer to me is I almost always said yes to things and became overwhelmed with things to do.  It happens to everyone that says yes too much, so I had to learn to be a bit more selfish or people would just step all over you.

So, how do I make sure that the people I teach are actually going to continue doing it?  This is a question I ask my self a lot and still don't have an answer for.  For every person I taught; I have tried to seduce them to being my partner in crime but it just doesn't seem to happen.  I still don't know how to keep these people working on code.  To keep developing, to keep moving and firing.  The point is, I need to start saying no to these folks as well or I need to bind them to a contract that says we are going to build this together and this will be how you learn to code.  By helping me build this application, I will teach you how to code.

Thanks for listening.

If you liked this post, please be sure to subscribe to my RSS Feed.

Interview with Scott Pio on Programming

13. March 2009 03:30 by Scott in   //  Tags: , , , , , ,   //   Comments (20)

I was interviewed a while back for a paper about software engineers from Stephen.  He gave me several questions and I tried to answer them to the best of by abilities at that time.

1. What do you enjoy about your job?

My job is a little different than most Programming jobs, because I do it for the government.  I work on a special specific project that contribute to national security and even international security.  The fact that as a government contractor you have to take a large amount of security measures to make sure your software doesn’t break in front of the customer during mission capable times is something to be stressed over.  Most software these days can have several hundreds of “known” bugs, but when your a government contractor, you need to make sure your software is vetted with no “known” bugs or problems.  Testing in this environment can be large while writing the actual software it self can be small.  The problem has to be thought through before one line of code is written.  There is a famous quote that goes “80% mental, 20% execution” and programming is no different.  You don’t want to have to rewrite your code so a lot of mental thought has to go into it.

On a side note, my almost favorite thing to do is experiment.  Most programmers are required to push out a certain amount of code a week.  I don’t have any restrictions and have the ability to experiment a lot.

2. What characteristics make a great programmer?

Characteristics and values are two different and two of the same thing.  A man named Ben Rady said it best in terms of values:

Programmers value:

  • Working software
  • Clean Code
  • Rich Communication – I think he meant here that you must be able to tak back and forth with another programmer.
  • Flexibility over efficiency
  • Sustainable Pace – Don’t over pace your self
  • Simplicity – Code needs to be as simple and as fast as possible.

I take those values to heart.  As a programmer you must have those in order to work in the field.  You don’t have to be ethical, but you need to start with those values.


Photo by Joi

As for characteristics:

I would base it off a list generated by Steve Riley, (he made the list and I will explain it a bit more.) 

  1. Be a great problem solver – If you think about it, software is solving most problems today in the world.  In either making life just plain easier or just solving a paper process.  Someone has thought about all these problems when they first started and most software made today just makes those problems just easier and faster.  This is a number one for me.  You must be good problem solver.
  2. Being Lazy and driven at the same time – When you are lazy, you want the fastest and easiest possible solutions.  When you are driven, you will get the job done no matter what.  If you combine the two, a programmer who is lazy and driven will both find the fastest and easiest possible solution and make sure he gets it done.
  3. Ability to understand other peoples code – A simple fact is, as a programmer you will be going over other peoples code in either examples you find or old code that has done the project your now upgrading.  To give you the best example of this.  Microsoft Excel 2003 and 2007 have completely different code bases.  The code is completely different.  The programmers need to read the old Excel code and generate their new code.  A simple but not very well known fact is that Microsoft programmers took Excels old code, Commented it OUT entirely and rewrote the code.  The commented out code is STILL in the 2007 source code because they always want to see how the programmers in the past did it.
  4. Have a passion for programming – Its going to be your life long job, I would hope you have a passion for it.
  5. Love learning for the sake of learning – If you don’t learn, you will NOT succeed in the programming world today.  Code, Frameworks and new languages come out every two years or so.  The programming art is still very young.  The community is still very young and in its infancy.  Its still growing up.  You have to realize this and keep up with the community.  It is a requirement.  You have to enjoy to keep learning.
  6. Being good at math – Now I don’t know the stats of how many programmers actually deal with real math, but I think its probably dwindling a bit.  A professor out of MIT said “A good Programmer has been programming for 2 years.  A Great programmer has been programming for 6 years OR has been programming for two years and has taken some algorithm classes.”  That quote explains it all.  Its about how high you want to go on the totem poll.
  7. Having good communication skills – You have to clearly express your thoughts to other people.  They don’t have to be socially inept, just make sure they can give a little straight talk.
  8. Extreme Optimism – It goes right along with problem solving.  You have to believe you can do it or you will never be able to get it done.  There are big problems at my company that I experience on a daily basis.  You have to make sure you believe you can get it done.

3.    In detail, what do you do in a typical day?

I can’t truly explain in detail, but for the few few minutes of my day, I look over any email that has been sent.  My email is somewhat the first notification if my software has failed.  So I see if any problems happened over night. I then catch up on any reading that is needed.  I don’t surf the internet, but I must spend a few hours a day researching and learning.  Due to programming being my full time job, I do require that I catch up on the recent news and try to learn something each day.  I don’t pick up a book, but I actually read a bunch of articles and code demos online till about 11am.  I have subscribed to about 50 or so blogs that I go through each day.  I can justify it by not having to pick up a programming book each day at work.  Instead I get the free stuff out on the internet. I would suggest every programmer do the same thing.  Its another reason why the IT book market is crashing terribly.  Everything is being learned now these days from demos and tutorials online.  There is no need for a book really these days.  At about 11 am after getting into work by 8am, I start to get into the mode of programming. I work on code for the rest of the day.  I think Microsoft expects their programmers to write about 200 lines of code a day.  I think I touch this and sometimes surpass it.  I code in ASP.NET and C#.  So does Microsoft.  These days, It is a known fact that Microsoft uses 98% C# and no C++ anymore.  C++ is starting to mellow out.  I go home at 6pm each day after a full days work and taking a few 5-10 minute breaks in between. I then start programming on my startup projects at home.

4.    Where does one look for programming careers?

Just throw your resume up on Career Builder and job listing sites.  If you have at least a years experience, its not hard to get a job these days. Even though the economy sucks, Technical recruiters are still seeing a double digit growth in recruiting for IT related jobs.  By the time recruiters salvage through career builder, you could probably get a few calls a month for programmers in your area.  Its still very easy to find a job as a programmer.  Look for job boards.  Most big bloggers these days have job boards.  They are a great place to start.  I must say, that if you can code and are in college or highschool still, don’t think about getting a job.  Think about creating a startup business.  Create a website and make a bit of money off of it.  Venture capitalists are looking to seed money into startups more than ever these days because of the economy.

5.    If you could go back in time to your first day on the job, what advice would you give yourself?

Don’t fret, everything will happen in time. You will learn all you need to learn and you got the job.  Now all you have to do is keep it.

6.    What are some downsides to being a programmer?

I get bored super easy at work.  There is no challenge for me.  Its all meaningless.  Its almost like getting to do busy work assigned by your teacher.  They just give It to you for you to stay busy.  Programming can be like that sometimes…

7.    What is the best thing about being a programmer and why?

This is an easy one.  If you have a big imagination, its super easy to create anything you want a computer to do.  Its one of the most gratifying things in this world.  It’s the same reason why bridge builders love to build bridges or why architects love to design.  When they see there work done and in use, its absolutely a thrill.  The programmer though has the ability to make software faster and cheap.  Bridges still need many people and could cost millions.  Software doesn’t need many.  Its very easy for a programmer to get started and have an application working and in use two months down the road.  It’s a thrill to build something and see it working.

8.    Tell me something about your self?

I got expelled out of high school for hacking.  I was the first in my high school to be caught for hacking.  It was a first for them.  When I went back the next year, I was not allowed to touch a computer at all, unless supervised.  I was surprised I got my security clearance with that on my record.  I was still underage, but at the age I got hired and the investigator to go back ten years, they could have seen that on my record.

9.    How did you acquire your job?

You know, this is an interesting topic.  My college had plenty of those college board jobs.  The job boards you get straight out of college.  Well I had a bit of technical knowledge already after working a bit in a good environment at my work study position on campus.  I went to career builder and for the next 5 weeks every weekend, I would apply for up to 75 jobs each week. After that, I got a few calls and then I nailed one.  As good as that.  The pay was low, but all I wanted was the experience to start off with and now I get calls from Microsoft that I turn down just because I don’t want to move.

By the way, for your paper, My name is Scott Pio, my domain is www.spoiledtechie.com and www.scottpio.com.  If you need more bio about me, go to spoiledtechie.com and click on the about tab.

Scott Pio


If you liked this post, please be sure to subscribe to my RSS Feed.

The Passionate Developer

11. March 2009 03:46 by Scott in   //  Tags: , , ,   //   Comments (0)

If you figure out what your passion is, you know what to start on next.

Here I am trying to figure out what to build next.  I find my self almost completely done with DrinkingFor. Not wanting to continue building on it due to the amount of sites out there about drinking games.  Lets call it an experiment for the good coder who wants to get better and leave it at that.

I find my self getting a little bored with coding.  Not truly bored, but tired of doing it for nothing.  I haven't really created anything special yet, and have a ton of ideas, but I haven't started one.  I have sifted through all of them trying to figure out which to run with next.  One of my ideas which I wrote down on paper just got launched a few days ago by someone else.  I am truly proud to see it doing so well, but it makes me think I wish I had executed it instead of drinkingfor.  It seems to be getting a lot more folks on it than what drinkingfor is doing.  I thought about building a competitor to it and just build faster than them, but they seem to be doing a good job and would rather let them have the fun.


Posted by ktylerconk

I decided to sift through my ideas again and find something I was passionate about instead of finding something I would make money from.  I needed to find something I enjoyed instead of something that would just bring in the dough.  I settled on an idea that I think would be a bit challenging and fun all at the same time.

The point of this post is not much, but should make you think about what you build next.  Find something you love and develop something from it.

Im going to try and not get bored from this project.

Thanks for listening.

If you liked this post, please be sure to subscribe to my RSS Feed.

Thats Why No-One Will Remember Your Name

4. March 2009 03:04 by Scott in   //  Tags: , ,   //   Comments (79)

I often tend to think about life and how I am doing and how far I have come.  I want to make sure that my life is currently at its fullest.  That I am actually enjoying everything I do and learn.  In one of my brief moments, I have realized that I do live a pretty decent life.  I also realized that my life is fast approaching old age, 25 to be exact.  I know its not that old to people in their 30's, but its always older than what you want it to be.  Im closer to becoming extinct.  You, like every one else on this planet lives a finite life and its what we make of it that tells how people will remember us.  This reminds me of a quote out of Troy(2004) the movie.

Messenger Boy: Are the stories true? They say your mother was an immortal goddess. They say you can't be killed.
Achilles: I wouldn't be bothering with the shield then, would I?
Messenger Boy: The Thesselonian you're fighting... he's the biggest man i've ever seen. I wouldn't want to fight him.
Achilles: Thats why no-one will remember your name. 

Achilles is remembered still to this day about the things he accomplished in the past.  Human history is a interesting thing.  Do you think that 1000 years from now, someone will remember you? Someone will remember Barack Obama?  Someone will remember George Washington?  I ask this question to my self plenty of times.  In the old days, when there were very few historians, history could not remember every single person on this planet.  History only told about the well known, the greats.  Do you truly have to fight the biggest and strongest man anymore to be remembered? Do you really have to work hard to create something beautiful that will be remembered?

I keep questioning three things in my life.

  • Will I be remembered?
  • Did I have fun doing it?
  • Whats next?

Photo by HAMED MASOUMI

To break these down, two of the three points have to deal with fun and excitement while the third has to do with history.  I want to make the argument, that its your life, your journey and your expectations.  If you live a great life and enjoy what you have done, then why try to be remembered.  Why even care about being remembered if you had a great life.

I argue that life and the journey is not about being remembered, but by creating a great life.  Your life is all you have.  Why worry if anyone else remembers it.  You remembered it and thats all that counts. This doesn't mean that I don't want to be remembered because I do.  This means that you don't have to fight or kill the biggest man that you have ever seen or fight that hardest fight you have ever fought.  What it means is just have fun doing it and if the history books choose to remember you, then they will.

So the question I am asking you is why are you working on your next idea, your next project, your next adventure?  Are you doing it for others approval or are you doing it for your enjoyment.  Don't create something that others will remember, create something that you will love and enjoy.

My goals in this life are vast and far between, but they are for me and are my hopes and dreams. Not others.

If this post effected you in some way, let me hear how in the comments. Thanks for listening.

If you liked this post, please be sure to subscribe to my RSS Feed.

The Rules of an Entrepreneur

25. February 2009 03:48 by Scott in   //  Tags: , ,   //   Comments (18)

You know, I have always wondered like every other entrepreneur what makes some people just so successful and others not successful.  I wrote a blog post a while back on one of my other blogs, I thought I would move over to this one because well it was just so damn popular.  In working with my startup or just one of my start up ideas at DrinkingFor I have to live by the rules stated in that post in which I also found them at GoDaddy in which Bob Parsons is the original author.  I am not trying to take his stage, but rather spread the ideas. Make them known to more people in more places in more types of crowds.  He wrote some 16 rules to live by and I just wanted to express them to the technical crowd that reads this blog.

A vast many of these can be used in an entrepreneur type environment and I feel thats where I am moving more and more every day. So to be as powerful and rich as Parsons, I will start by living by what he says are rules to live by.

1. Get and stay out of your comfort zone.
I believe that not much happens of any significance when we're in our comfort zone. I hear people say, "But I'm concerned about security." My response to that is simple: "Security is for cadavers."

2. Never give up.
Almost nothing works the first time it's attempted. Just because what you're doing does not seem to be working, doesn't mean it won't work. It just means that it might not work the way you're doing it. If it was easy, everyone would be doing it, and you wouldn't have an opportunity.

3. When you’re ready to quit, you’re closer than you think.
There's an old Chinese saying that I just love, and I believe it is so true. It goes like this: "The temptation to quit will be greatest just before you are about to succeed."

4. With regard to whatever worries you, not only accept the worst thing that could happen, but make it a point to quantify what the worst thing could be.
Very seldom will the worst consequence be anywhere near as bad as a cloud of "undefined consequences." My father would tell me early on, when I was struggling and losing my shirt trying to get Parsons Technology going, "Well, Robert, if it doesn't work, they can't eat you."

5. Focus on what you want to have happen.
Remember that old saying, "As you think, so shall you be."

6. Take things a day at a time.
No matter how difficult your situation is, you can get through it if you don't look too far into the future, and focus on the present moment. You can get through anything one day at a time.

7. Always be moving forward.
Never stop investing. Never stop improving. Never stop doing something new. The moment you stop improving your organization, it starts to die. Make it your goal to be better each and every day, in some small way. Remember the Japanese concept of Kaizen. Small daily improvements eventually result in huge advantages.


Photo by _nickd

 

8. Be quick to decide.
Remember what General George S. Patton said: "A good plan violently executed today is far and away better than a perfect plan tomorrow."

9. Measure everything of significance.
I swear this is true. Anything that is measured and watched, improves.

10. Anything that is not managed will deteriorate.
If you want to uncover problems you don't know about, take a few moments and look closely at the areas you haven't examined for a while. I guarantee you problems will be there.

11. Pay attention to your competitors, but pay more attention to what you’re doing.
When you look at your competitors, remember that everything looks perfect at a distance. Even the planet Earth, if you get far enough into space, looks like a peaceful place.

12. Never let anybody push you around.
In our society, with our laws and even playing field, you have just as much right to what you're doing as anyone else, provided that what you're doing is legal.  If the law is unfair to you and others, you should do everything in your power to see that doesn't happen anymore going along with not allowing anyone to push you around. Imagine if Rosa Parks would have obeyed the laws! [Thanks Katrina]

13. Never expect life to be fair.
Life isn't fair. You make your own breaks. You'll be doing good if the only meaning fair has to you, is something that you pay when you get on a bus (i.e., fare).

14. Solve your own problems.
You'll find that by coming up with your own solutions, you'll develop a competitive edge. Masura Ibuka, the co-founder of SONY, said it best: "You never succeed in technology, business, or anything by following the others." There's also an old Asian saying that I remind myself of frequently. It goes like this: "A wise man keeps his own counsel."

15. Don’t take yourself too seriously.
Lighten up. Often, at least half of what we accomplish is due to luck. None of us are in control as much as we like to think we are.

16. There’s always a reason to smile.
Find it. After all, you're really lucky just to be alive. Life is short. More and more, I agree with my little brother. He always reminds me: “We’re not here for a long time, we’re here for a good time!”

 

If you liked this post, please be sure to subscribe to my RSS Feed.