I am not a computer science graduate but probably feel more confident than most due to my experience working for several people with different nationalities and personalities. In retrospect, I would have not chosen Computer Science as my major even if I knew that 6 years later, it would be my job to do web applications. I would have chosen either Commerce (which I did finish) or Psychology. Why Psychology? If you understand people and organizations, you win. And I think I see a lot of companies who are really good at making apps that attempt to understand people including the company that just hired me (Thank you very much to the project manager and CEO for considering me for the job).
Why Rails? Why Ruby
Often, productivity has little to do with programming languages and web frameworks. If you're a genius in PHP then use PHP all the way. Use the language that makes you happy and doesn't make you curse the day you decided to be a programmer. Ruby makes me happy. End of story.
What Makes Social Networking Apps Viral?
I would have to think outside of web applications and computer science. I would just reflect on my own behavior. It seems like I spend a fraction of my free time on two social networks: Twitter and Facebook. As much as I want to communicate with my family and friends and to actually talk to them face-to-face (and not through Facebook), we work in different locations. Some of them work in a different region in the country or in a different country and I thank Facebook that despite the fact I don't get to see them, I still more or less know how they are doing.
"The ability to engage online with friends is slowly replacing more traditional forms of entertainment, like watching television."
The statement is correct except for the adverb "slowly." The Facebook user count is over 300 Million. Check out their statistics. A very huge market. I just saw a video on how to create a simple Facebook application in 10 minutes. And there's definitely a lot of good ideas running through my mind right now.
Business Opportunity in Creating Viral Apps
"As users benefit from new choices in the applications available through Facebook, developers can build their business at the same time. Applications within profiles will remain free of advertising, but Facebook is allowing developers to make money within their canvas pages, through advertising, or transactions that they control."
I understand clearly that building apps have a cost even if you're a sole developer but there are ways to start without shelling out so much money and spending too much time that you forget about yourself. There is a question: "what can you do with just 2 hours a day and not much money?" Some would probably say prostitution or talk about illegal if not disgusting stuff. I'd say you can probably do a Facebook-Rails application for 1 month or less with less than 3 hours a day of your time. You can also disregard Facebook and think less about API's and more on developing your own application which doesn't highly depend on third-party integration.
If it's so Effin' Hard, Then It's Probably Not Worth Doing
Outside-in development using RSpec or Cucumber is the answer to most of the woes of developers and companies. This is something present in the development process of most Ruby programmers. I would spend more time focusing on doing BDD (Behavior-Driven Development) for my own projects at least. More time on that rather than just designing interfaces. If I know the result of something and I can visualize how it will look like in a page and how the application will used by people before I even code anything then I have a direction and I do not have to wear a shirt that says "If it's so effin' hard, then it's probably not worth doing" because I wouldn't work on something that can't be done.comments powered byDisqus