About Me: I am currently a Computer Science major at San Jose State University.

Sunday, October 6, 2013

Agile: Collaboration at its Finest


http://www.noupe.com/wp-content/uploads/2010/04/Waterfall2.jpg
Just like a real one, it flows in one direction and is hard to go back.

When you find yourself working in a group with a product deadline off in the distance, there are many ways to work together as a team to produce a shippable product. There are some strategies based on the Waterfall model, which focuses on incremental stages of development. Each stage of development is executed in sequence. Generally, each stage has its own theme, like a planning, researching, testing, or development stage. While it sounds like an orderly and efficient way of executing a project, there are many who believe it to be quite inefficient. For example: you are half way through the development phase of a service that assists the client in baking cookies, but now the client suddenly changes his mind and wants to cook pies instead. Being halfway through the project with this sudden paradigm shift will invalidate much of the work that was accomplished during the previous stage relating to cookie baking. This results in the waste of numerous dollars and man-hours. As a result, this sequential strategy became less popular, and a new model known as Agile began to gain prominence.


http://upload.wikimedia.org/wikipedia/commons/5/50/Agile_Project_Management_by_Planbox.png
short, sweet, and to the point.
The Agile model was first introduced in early 2001, when a number of software developers met and discussed ways to improve productivity. It was there they published the Manifesto for Agile Software Development. Agile differs from Waterfall in one key area: instead of having a long line of different phases, the Agile method breaks up the development cycle into numerous short work periods called sprints, with the intention of delivering smaller, finished portions of the project  to the client. The Agile method is described in much more detail here. During each sprint, there are daily meetings called scrums.  During these 10-20 minute meetings, the development team, the client, and a facilitator called the scrum master gather and discuss the team’s progress on the project. The scrum master helps direct the flow of the meeting and acts as an intermediary between the team and the client. During each meeting the team reports to the client three things: what they have finished, what they are working on, and anything that is blocking their progress. These meetings allow the client and the team to continually improve the product and quickly react to any blocks that the team experiences, along with any shifts in the requirements put forward by the client. This more natural development cycle both saves time and money by catching problems early instead of halfway through the development.  For the project I am currently involved in, we are using what I would call Agile lite. Since we are all students, it is very difficult to meet every day with the client, so instead we are having Scrum meetings every other week for an hour a day. While it does not fit the mold of Agile perfectly, I can definitely see how this method is superior to the Waterfall method in every way.
 

Friday, September 20, 2013

LinkedIn and Branding: don’t get left behind!


Are you currently in college pursuing a degree? Do you want to start putting your name out there and make yourself noticed in an increasingly crowded job market? Well one of the best ways to do that is to join a professional social media website like LinkedIn1. This website is a place that lets both businesses and job seekers like you connect in a meaningful way. In addition, you can also use LinkedIn to search for people you know, and then make connections with them. Who knows? They may get offered a job that they think you are more qualified for and then send it your way.

Now you may be wondering, “Why should I bother with LinkedIn? Surely there are other ways of looking for a job in my field.” Well I am going to tell you why you should care. First off, 37 percent of job recruiters are increasingly using the internet to find quality talent to employ2. As to why you should use LinkedIn, many different website rankings list LinkedIn in their top ten most popular websites3. From this fact alone, you can see that LinkedIn is not a place you should disregard.

Now that the importance of LinkedIn has been stressed, now it is time to make a profile. It is quite simple to create on, but it is much more difficult to make a good one. The first step is to provide a nice picture of you. It should be very formal with good lighting and a neutral background. Then you need to fill in as much information about yourself as you can. At the very top there is a summery area where you can provide a short bio about yourself. You should be concise and to the point about yourself. In addition, state your strongest points here along with your ambitions. There are many fields that focus on different topics, like your expertise and education background. When describing your level of expertise, use words like expert, knowledgeable, proficient, and familiar with to describe your level of understanding of each skill. This helps avoid any possible misunderstandings when a recruiter looks at your profile. Once those are filled out, make sure you add to any other fields with pertinent information.

Now that your profile is nice and professional, you are done right? Wrong! You cannot be passive with a service like this. You need to actively seek connections with people you know. Ask them to endorse your skills and write recommendations about you. Then start following companies that are in your field to see if and when job openings are announced. The most important thing is to not wait for opportunity to come knocking, instead go out and make your own opportunities.

Friday, September 13, 2013

QR codes: Don't be intimidated by them!



Scan Me!

I am going to level with you guys, up until last week, I dismissed those boxy assortment of pixels known as QR codes as being quite superfluous. I never really bothered with trying to scan and read them mainly because I felt that it seemed like just another fad that would fade away. But now after I experimented with them to see what they can do, I can say that these new codes are much more versatile than any old fashioned bar codes can ever be. While old fashioned bar codes can only encode up to 20 digits, a QR code can be used to encode over 7000 digits or 4000 letters, and with that much storage space one can use these codes to save many different types of data.  With a QR code, a business owner can simply store a text message that will be printed when they scan it, it can be an email address to contact the owner for any questions or comments, if you want a more immediate response you can encode a phone number, or if your business has a website, you can have your code represent your website’s URL. All of these possible uses hardly cover everything one can use a QR code for.

For those who are new to using QR codes, there is a very low barrier to entry. All you need are four things:

1.       A smartphone with some sort of camera(iPhone, Android, Blackberry, Windows Phone)
2.       Software in the form of an app that can decode a QR code and read it( I personally recommend ShopSavvy inc.’s QR code reader available on iPhone, Android and Windows Phone)1
3.       An internet connection in case the QR code is a URL or an email.
4.       This one is optional, but if you wish to start making your own QR codes, there are many free services out there that generate codes. http://goqr.me/#text is a free, streamlined service that I have used to generate the codes on this blog.

When you have these simple tools anyone can take advantage of the easy transfer of information that QR codes provide. This ease of code generation unfortunately leads to a very troubling problem: there some immoral denizens of the internet that could potentially create QR codes that lead to websites that download viruses onto your device. They can accomplish this by finding a QR code that is already posted somewhere and stick their own fake code on top of it. They key to avoiding these types of scams is to find a QR code reader that displays the URL before taking you to the website to ensure that the URL goes to a trusted location( the reader I mentioned does this). Also when you scan a code, try to avoid URLs that are shortened. While many of these are just harmless links, those scammers can use the smaller URLs from sites like bitly.com to further obscure their websites. All in all, QR codes are extremely versatile tools for those who want to provide easy ways of providing information.
Don't worry, this just points to my blog! be careful with these codes.


Friday, September 6, 2013

Social Networking Security or Lack of When Promoting Your Brand: tips to protect your brand from malicious intent.



In recent years, the Internet and social media has become an extremely powerful tool for many small businesses. Many local businesses lack the capital that giant corporations have to put towards big budget television commercials, radio ads, and wide ranging ads on popular websites. In order to make themselves heard, many small businesses utilize social media websites like Facebook to broadcast their brand and their products to their prospective customers. Since these websites are often the only source of interaction between the two parties, it is of up most importance that the owner makes sure that her Facebook page, Twitter account, and any other social media service she has signed up for is as secure as she can possibly make it. If it is not secure, then it is only a matter of time before someone tries to break in and take control; and if they do manage to get in, they could start posting false information about your brand or use your account on that website to lure others into giving up their information, which not only harms your customers, it destroys any sort of trust the consumer has in your company.

There are a number of ways that someone with malicious intent could compromise your social media presence, some are out of your control, while others can be can be controlled by you. One very recent example of vulnerabilities beyond the user’s control occurred when a Palestinian hacker posted on Mark Zuckerberg’s Facebook page, even though he was not a friend of Zuckerbergs1. Luckily, this man was trying to be a Good Samaritan by making Facebook’s security team aware of this vulnerability, instead of using this for his own gain. This also shows an oft hidden fact about internet security in general: no matter how secure something is, eventually someone can and will find a chink in the armor.

While some aspects of securing your social media presence are out of your control, there are many simple steps that the user can take to minimize risk. This pdf2 gives a lot of insight on how to protect your page, and by extension, your brand. While it is mainly a Facebook centric article, many of its tips can be applied to any other social media site. When it comes to a password, one should always use upper and lower case characters interspersed with special characters. These are much more difficult to guess. Every few months or so, that password should be changed. While surfing the internet, only visit websites you trust, because if you do not you run the risk of downloading some kind of malware that could compromise your account. And if you have Firefox and want to be very picky about what accesses your computer, install the NoScript addon3, which prevent any website you visit from running any JavaScript, Java, or Flash plugins on that website unless you want them to.


3.       http://noscript.net/