Thursday, March 20, 2008
Internet Addiction
As members of the LDS church, we are able to avoid a lot of the addictive behaviors that are available in the world. For example, we don't drink, don't look at pornography, don't gamble, don't smoke, and (many members) don't even drink soft drinks with caffeine. The other day I was talking to a friend of another faith about addictive behaviors; he plays poker on the Internet and was of the opinion that although some people ruin their lives gambling, it is possible to gamble responsibly. At first, the conversation didn't seem to apply to me; don't I avoid all additive behaviors altogether? However, upon further reflection, I realized that the answer is no. With the Internet, it is possible to get addicted and ruin our lives - without breaking any commandments. Responsible Internet usage is a must in today's society; it is important for all of us to recognize the danger and realize that we are not immune.
Software Engineering
There is not one "magic" formula for building good software because different types of projects require completely different software engineering strategies. For example, in a professional development setting, most requirements are known up front; the design and testing of the project can be driven by requirements. However, software development in a research lab is a completely different experience. Requirements might change every day as new discoveries are made and new questions considered. Finally, open source development is another breed of software where coding happens by hundreds or thousands of developers; it is a constant struggle for simplicity! In each type of software development, different software engineering principles apply, but the different strategies are fundamentally too different to all follow the same principles.
Tuesday, March 11, 2008
My take on copyright law
Growing up, I was always surprised when some of my friends would comment that a particular science class was dull or boring. I was always fascinated by what the teacher had to say and always wanted to take some time and really think about the implications of what they were saying. It was only later that I would realize that while some of my friends weren't fascinated by science, they were enthralled by things that I generally avoided, things like law, economics, or business. I am grateful to live in a world where we all can choose our own specialty. I can worry about science and discovery and someone else can worry about something dull, like copyright law. So, how can we build a software model to find out which micro-RNA's are involved in cancer?
Success for Computer Science Students in a Flat World
If you want to better understand the world that we are living in today, I would strongly recommend The World is Flat by Thomas L. Friedman. Friedman does a great job describing the modern world, identifying the important issues that we are facing, and presenting all the information about each issue – both the good and bad. One of many points that Friedman makes in this book is that in today's world to be marketable we need to have specialized skills, often that span previously separate disciplines. This point is especially relevant to students graduating with computer science degrees; we are moving into a world where just writing code will no longer be a top-of-the-line source of income.
One advantage of the flat world is that companies no longer have to rely primarily on local employees in order to build a viable business. Remote and off-site work allow companies to hire from places like China or India to get quality work for a much lower cost. We have already started to see this trend happening in the software engineering industry. There is an increasing number of companies moving their coding work to foreign engineers who will work for less money and fewer health benefits. This movement poses a problem for computer science graduates who want to write code for their living.
Fortunately, there is still a way for computer science majors to be highly marketable in a flat world. As simple coding jobs fall out of the market in the United States, employers will be looking for software engineers with a level of expertise in other subjects. Engineers who can not only write code, but also contribute in other ways, will be in high demand.
For example, bioinformatics is great field to go into right now. Just over the last few years there has been a great boom in biological related technologies. Biologists everywhere have recognized the need to use computers in their work. Computers are cheaper and often more efficient than many of the traditional techniques in biological science. However, there is a problem in that biologists and computer scientists do not speak the same language, nor do they have related areas of expertise. This is where bioinformaticians find their success in the market. Not only do they have a strong background in programming, they understand biology. Bioinformaticians are a hot commodity in the market because of their ability to collaborate between two very different groups of scientists.
Bioinformatics is just one example of a high skill job that is available for those who want to write code. As the lower-skill jobs disappear for computer science graduates, they will need further specialization in other areas in order to be competitive in a flat world.
One advantage of the flat world is that companies no longer have to rely primarily on local employees in order to build a viable business. Remote and off-site work allow companies to hire from places like China or India to get quality work for a much lower cost. We have already started to see this trend happening in the software engineering industry. There is an increasing number of companies moving their coding work to foreign engineers who will work for less money and fewer health benefits. This movement poses a problem for computer science graduates who want to write code for their living.
Fortunately, there is still a way for computer science majors to be highly marketable in a flat world. As simple coding jobs fall out of the market in the United States, employers will be looking for software engineers with a level of expertise in other subjects. Engineers who can not only write code, but also contribute in other ways, will be in high demand.
For example, bioinformatics is great field to go into right now. Just over the last few years there has been a great boom in biological related technologies. Biologists everywhere have recognized the need to use computers in their work. Computers are cheaper and often more efficient than many of the traditional techniques in biological science. However, there is a problem in that biologists and computer scientists do not speak the same language, nor do they have related areas of expertise. This is where bioinformaticians find their success in the market. Not only do they have a strong background in programming, they understand biology. Bioinformaticians are a hot commodity in the market because of their ability to collaborate between two very different groups of scientists.
Bioinformatics is just one example of a high skill job that is available for those who want to write code. As the lower-skill jobs disappear for computer science graduates, they will need further specialization in other areas in order to be competitive in a flat world.
Sports Broadcasts Go Online
This post is based off of the article from The Deseret Morning News
It used to be that only television networks decided what sporting events fans could watch. Months before a game was to take place, networks would purchase the rights to the games that seemed the most interesting to the local fan base. Those fans who wanted to view sporting events that were far away or generated little interest were out of luck. However, as more and more game broadcasts become available online, fans no longer have to hope that the major TV companies will decide to broadcast the game they want to see. Soon fans across the country (and the world) will be able to watch any game in any sport that they want to see.
It used to be that only television networks decided what sporting events fans could watch. Months before a game was to take place, networks would purchase the rights to the games that seemed the most interesting to the local fan base. Those fans who wanted to view sporting events that were far away or generated little interest were out of luck. However, as more and more game broadcasts become available online, fans no longer have to hope that the major TV companies will decide to broadcast the game they want to see. Soon fans across the country (and the world) will be able to watch any game in any sport that they want to see.
Subscribe to:
Posts (Atom)