Friday, August 14, 2009

Happy Birthday

Happy Birthday, @murphy!


Please help me wish our leader and visionary @murphy a very happy birthday today*! Thanks for all you do for the IZEA Team and Community!

Ted Murphy cakeplows

(Ted: Today’s cake is for eating, not for shoving your face in!)

* I just realized after watching this video that I said August 6th! Ted’s birthday is actually August10th.

Bluelight Specials! Make sure you don't miss this!

Kmart is bringing back everyone's favorite:
8

Bluelight Specials! Make sure you don't miss this!

-Please begin your post with the following statement:
This post was sponsored by Kmart. All the opinions are mine

-Talk about what you remember of Kmart Bluelight Specials from the past.


- Also discuss what items you would LOVE to see participate in Bluelight Specials today! 


- Be sure to mention that this special is this weekend, only on 8/1.


- Lastly, make sure you tell your readers that there are over 40 great Bluelight Specials through the day in-store AND other great offers will also be at kmart.com ONLY this Saturday.

- Encourage your readers to follow @kmartdealsnnews for updates and more specials!

Additional information:
-Bluelight Specials are back at Kmart this Saturday, 8/1!” 
Special offers throughout the day on everything from patio furniture, to grills, to jewelry - all at Kmart Bluelight Special prices! 


Friday, July 24, 2009

Einstein: realy you are too great!!!!!!!!!!!

Are you tired of working? Have you checked your email for the thousandth time? Are you bored of chatting online? I’ve got something to cheer you up and throw your boredom out the window. It’s a new app called, Hey Einstein. This app offers a wealth of different quizzes to test your knowledge of topics from the Seven Wonders of the World, historical facts, or even a quiz on shark attacks! This is not your average online quiz, it’s challenging, fun, and you never know… you could be a genius!?


One of the great features in this application is that you can see how you stack up against your friends and connections. This feature really brings a competitive edge to the game – so try not to cheat by checking Yahoo! Answers when challenging your friends (wink wink).

Whether or not you are a history buff or science fanatic, this new app will provide you with daily entertainment. So, if you’re in the mood for a brain teaser and some wide ranging trivia then give Hey Einstein a try – you won’t be disappointed.

Thursday, July 23, 2009

What are you doing to build your brand?

What are you doing to build your brand?

We’ve talked about it multiple times here on the blog, but the topic of personal branding is always worth revisiting. It’s a vital part of growing a social media content creator’s audience and reach. After all, for these folks branding is the one thing others can identify with and recognize them for. Whether is exploring video, venturing out to industry events (or starting your own), or organizing Tweetups in your local neighborhood…these are all things you can do to extend your brand. This very topic is what Ted Murphy will be covering at his keynote session at our upcoming blog confrence

If you’re heading up to NYC for in a couple of weeks be sure to pick-up a copy of FeedFront Magazine - you’ll find an article (like the one below) contributed by Ted, and a tease about what he’ll be covering at Fest. You might also want to look for several of insider while you’re there - they can tell you a thing or two about developing personal brand.

picture-51

Saturday, May 31, 2008

No retirement plans yet, asserts Tendulkar

Already on the wrong side of the 30, Sachin Tendulkar is not getting younger anymore but he dispatches any retirement talks with the same disdain which is generally reserved for a rank half volley.

In a free-wheeling interview in CNN's Talk Asia programme, the 35-year-old batting great bares his soul and talks at length about his life and career. As he delves into the highs and lows, Tendulkar recalls the disappointment after India's first round exit from the 2007 World Cup. But for someone who possesses virtually every significant batting record, Tendulkar is just in no mood to walk into the sunset.

"There's definitely cricket left in me," he asserted.

He admits the 2007 World Cup debacle was particularly disappointing but Tendulkar said he managed to retain his hunger.

"It was a disappointing moment...A huge disappointing moment. But I came back and I started working...On my game. I trained harder and I wanted to perform better," he said.

Over the years, Tendulkar achieved what remained dreams for lesser mortals and the best compliment probably came from Don Bradman who saw his own shadow in the Mumbaikar. Asked about his personal choice, Tendulkar reveals the special place he has in his heart for a certain West Indian.

"I think that someone that I would like to watch is Brian Lara. I think he's special," Tendulkar said.

Asked about on-field skirmishes, like the Sydney racism row involving teammate Harbhajan Singh, and whether cricket remains anymore a gentleman's game, Tendulkar said, "Now that there's a lot of media attention on the players, and everything is put under a microscope so sometimes it's blown out of proportion, sometimes the player is at fault." More

Tendulkar has seen many an innovation since his 1989 debut and the ongoing Indian Premier League is perhaps the most radical of them. Tendulkar reckons IPL is not just cricket, but the Twenty20 extravaganza has probably evolved into a social phenomenon.

"It's a lot to do with the families, you know the outings in the evenings. It used to be the cinema, watching a movie or a play...But now it's the evenings...In the form of a cricket match where the whole family goes out together," he explained.

On personal front, Tendulkar tries to play the role of a responsible father who helps his children stay grounded. Recalling an interesting incident, the cricketer said once his daughter's teacher was telling the class about the restaurant named after him. And his daughter, ignorant about his father's star status, raised her hand and told the class, "Even my father's name is Sachin Tendulkar."

Friday, May 30, 2008

15 tips to getting the promotion you want, and the salary increase you will deserve!

15 tips to getting the promotion you want, and the salary increase you will deserve!

How do you rate a software developer? That's a fantastic question! There are so many theories out there, and there are so many forms that HR teams try and come up with to help you conduct performance review. However, what really makes a great developer? And if you are a Software Developer, how can you improve your career today! Below is my bible for rating the developers on my team. By following these tips and rules, you will improve your status from "good developer", to "great developer"!

1. Time spent writing great code
2. It's not about the quantity it’s the quality! However a twist to this is: It is about the quantity, and the quality. Far too many times you will get one of two scenarios.

In scenario A, you have a developer that pumps out code like mad, things seem to be working... then bugs start happening, you don't know why, seems to take forever to fix! Or they fix 10 and cause 5 more! But you get a lot of code...

In scenario B, you have a developer that seems so smart! You interview him and he knows everything about everything, can speak the theory up and down! Yet for some reason, you have assigned him three features, and three weeks later, he is still working on something that should have been done in 3 days! You are so confused! He is so smart! He knows everything about generics, multi-threading, and can explain pointers to your grandmother and make her excited to want to code! Why is nothing getting done?!

In your dream scenario, you get great code! Great code is done by a great developer that is super smart, knows what quality code is, and writes code like Tony Hawk rides his skateboard. It looks so natural! He or she is almost entertaining to watch! They also get it done at blinding speeds! They know how long each problem should take, and do not get caught up in finding the world’s best solution, that has multiple threads and layers, to write a game of pong. Bugs are nonexistent because they write unit tests for themselves, and just plain can code in their sleep! These guys are worth their weight in GOLD!

2. Interpretation of the problem

So there is a problem out there, with millions of ways to solve it. Some people are just natural quick thinkers and can come up with multiple solutions instantly. However, what a great developer would do is totally define the problem before doing anything! A great developer will create a document or whiteboard the problem out. They will email their managers and say things like "Can we meet so I can explain to you how I understand the problem?" Next they will start giving you various solutions, etc.

See, a great developer knows that the way they see the problem and interpret the problem, is probably not the way that the problem creator intended it to be understood. This is a key point, commit this to memory! A great developer will want to understand it fully, before attempting to approach a solution. Do you understand the problem 100%, no? 99%? Go ask more questions and be sure you are 100% clear!

3. How the problem is approached

So once you have clearly defined the problem, you start coding right? Wrong! A great developer will look at the layout, and start thinking of various options, and based on the problem, will start thinking about the best approach to solve the problem. I view this like a game of chess. You can know how all the pieces move, know all the rules of the game, but do you just start moving? No! You analyze the board, come up with a game plan, look at your opponent, and look at what he or she usually do. It’s the same case when you approach a problem.

Look at the problem, figure out what the outcome needs to be, what kind of time you have, the quality being expected, the tools you have to work with, etc. Then, start solving the problem.

4. Confidence in code

As a manager, how confident can you be in their code. Some developers you can say "I need this completed by Friday" come Friday, you get an email saying "I have checked the code into the branch, it is ready for testing" and you just know that there will be very little, if any, bugs found by the quality assurance team. On the flip side, there are some developers that will email you instead and say "I am still not done, and it will be done on Monday morning first thing." And you are nearly 95% sure that it will be there, however it will be ridden with bugs, and basically unusable for days, if not weeks, until bugs are completely ironed out of the code.

Bottom line: The higher the confidence you can have in a developer, the closer they get to being great developers! Imagine being your manager, and the weight you lift off their shoulders if he doesn't have to worry about your code!

5. Confidence in the solution

It's one thing to be confident in the code. If you have a great developer on your hands, you are confident in the solution. These great developers will be great architects. They are able to dissect the whole problem, and figure out how the problem needs to be solved. See it’s not just about coding with great code, it’s also largely about how you architect the solution! This is a key point, and really what separates the good, from the great in the software world.

6. Meets user requirements

At the end of the day, you can have the best code, and the best solution possible, with all the best architecture, but does it meet the user's requirement? It's possible not! And you have completely failed. Now there are various degrees of missing the mark, but a great developer will hit the bull’s-eye consistently! They find out exactly what the user wants, come up with a great approach, show the user what they will get every step of the way with weekly builds that have no bugs, and continue to build upon the last version. Requirements are bang on, and the users do the jig!

7. Staying up to date

Great developers are constantly updating their skills independently and proactively! They thirst for new knowledge and perfection like a cat with milk. They don't wait for their managers to come to them and set goals, ask them to take courses, or are given books to get up to speed on. They go and get these things on their own!

They find the conferences they want to go to, and send emails like "I would really love to go to Tech-Ed This Year! I will learn , and I will be able to contribute to . I foresee this saving us . If it's at all possible, can the company help me pay for this trip?” If someone sent me this, I would not only help pay, I would pay the entire trip!

Great developers are always attending all the user groups, like a .net user group for example, or a Java user group. They go to the "free local" meetings, and do whatever it takes to feed their brains! Do you read all the latest blogs and magazines? List your top 5 favorite development blogs right now! Can you do it? You should be able to drop them like you can do the actions to the YMCA! Stay up to date, it will stretch your mind! You will have the next big idea! You will be rewarded!

8. Contributes to team

You can be one of the best, if not the best coder, architect, most brilliant guy on the team, but as far as I am concerned, if you are not able to share and contribute to your team, you are losing about half your value, if not more! A great developer makes others great around them! See, a good developer keeps getting better and better, but doesn't share the knowledge they obtain, or how they obtain it.

They learn new things, find out about new technologies, but don't let anyone know about them! A good developer finishes their projects on time, but when push comes to shove, is not there for the rest of the team. A great developer is in touch with all the projects that are going on within the team, and is ready to lend a helping hand when needed! They will say things like "I noticed team A is working on , and I think I can help out, do you mind?"

9. Makes great meeting minutes

This is incredibly important! There is nothing worse than calling a meeting, taking the time to explain new concepts, new ideas, brainstorm, come up with great designs, and not have anyone taking meeting minutes! Even if you have a designated meeting taker, I want to see everyone showing up with a pen, and paper (developer notebook is preferred). A great developer takes great notes! They write out all meeting minutes, and at the end of the meetings can be heard saying "So just to confirm, my action items are: . Did I get everything?”

Next, a great developer will send their meeting minutes to the manger, listing the date of the meeting, the topic, and attendees. Following this, you will have the action items at the top, with who is the champion of the item. Below that, you have the detailed meeting minutes. A good developer, takes no meeting minutes, says yes every time you add something to his list... and hopes that his memory will serve him well. He then later emails you to check out his changes, and you cringe as you see he forgot a few things, but got 90% if it correct. This is a HUGE WASTE of time! For no reason at all! Take Great Meeting Minutes!

10. Teachable and takes criticism well

If you have read this far, then hopefully you are taking all this in and will be trying to implement some of my suggestions in your day to day development efforts. See, another key area is the developers’ ability to learn from others, and take criticism well! By making yourself a teachable person, you turn into a sponge, and absorb enormous amounts of knowledge faster! Your seniors are there for a reason! Sure, they might be rusty at day to day coding, but they have gone through the trenches, and been through hundreds of battles, and have the wounds and scares! They have the "Blink" instinct to make great decisions, and make you great! They are in the position they are in because they LOVE to see you succeed, and want to make you grow!

Of course, this is the ideal work environment, but that's where you want to be anyway if you are a great developer! I absolutely guarantee you, and promise you, that the better you can improve this skill, make yourself extremely teachable, make notes on suggestions and criticism, and make a point of improving them, the better chance you have at becoming greater than you have ever imagined possible! If you on the other hand, choose to think of yourself as "elite", and have nothing more to learn, you will always be stuck where you are. If you are not growing, you are not even staying at status quo, you are dying! Grow!

11. Always available when needed

This is a give and take. If you are working for a great company, they will be flexible with you. They should never question doctor’s appointments that you couldn't schedule after work, start times, end times, or lunch breaks. They should encourage you to go to the gym at lunch, pay for lunches when you go out with the team, etc. They should give you a few days off after some crunch time work. This list goes on and on.

However, with all those perks, comes responsibility, no question! If it’s crunch time, a great developer will suggest to you that he will come in on the weekend if needed. They will stay as late as possible and as late as is needed to ensure the job gets done! See, great developers take responsibility for their creations! Now, this is not a necessity of course, but it is the mark of a great developer. Some people just want the 8-4:30, and will be good developers, but they will never be great. Great developers are team players to the end, and view their work like art, and view their team, like a family.

12. Dress's professionally every day

You never know when a client will come by on a tour. You never know when you will be called into a meeting, not everything is planned. And when that time comes, you have to be ready to dance! A good developer wears normal clothes Monday to Friday, even stretches it with black jeans, and runners that look like dress shoes. On casual Fridays, they wear shorts, runners, and a T-shirt. When the tour comes by on Friday with a new huge account, you can’t call on him to join you for lunch because he is not dressed appropriately.

A great developer dresses in great business clothes Monday to Friday. They dress for success! See, by looking the part, you become the part! Of course, if you have no skills, you will not be promoted to a manager or team leader just because you dress sharp. But if you have great skills, and dress in a suit and tie, you have just catapulted yourself up in rank, no question. The 400 dollars you will spend on a decent suit and tie will pay you back within the year. I promise you!

13. Communication Ability

This is another critical category! There are so many good developers out there, but there are not a lot of great developers. Why? Because a lot of the good developers, are terrible communicators. There are many levels of communication, ranging from email, to small SCRUM meetings, all the way up to large executive meetings and your ability to contribute at the executive level. Then you get to "The Show" where you are presenting for hundreds of people, showing off software. While you don't need to get to the final stages, you need to be able to at least communicate your ideas clearly and effectively in meetings. The better your communication, the farther you will go.

Bottom line: If you want to be an executive, you have to be a 9 or 10 at communication. Even when you take meeting minutes, or send out status reports, you need to communicate extremely well! Don't just say "I fixed bug 1371" on your daily report! Show off; explain how hard it was to solve the problem, how long, or how quick you solved it! Explain the technology you used! And explain how you will ensure the problem doesn't happen again. Your status reports should not be a bad thing you don't like to do! They should be an exciting part of your week where you get to show off to your manager!

14. Goal Setting Skill

Good developers can get things done, and go throughout their day to day by doing what you tell them to do. They don't really think far ahead and think of what they want to be doing in a year, five years, or even 10 years. Some good developers know what they want... but have no real plan to get there! A great developer has the goals for the year, the next five years, and knows roughly where he will be in 10 years.

Great developers also take it to the next level by not only thinking about their goals, but also visualize it! They can see exactly what they will be doing in five years, to the level of where they will be doing it. Even more, a great developer will create a detailed plan for his next year, complete with courses he will take, projects he will complete, and relationships he will build.

15. Organizational Skill

The final key component that really brings everything together is organization. You may be the best developer in the world, but if you are not organized, you will fall apart and become bogged down! Eventually you will be overwhelmed and start losing your edge. Great developers keep an extremely clean desk, they keep all their notebooks, and write very clearly. They print out their daily outlook calendar of meetings and tasks. They have an inbox process to deal with emails, meetings, and new assignments. They keep file folders and can instantly pull up projects, meeting minutes, and other details when asked to produce them.

Bonus Tip: Passion!

One of my team members read my post and reminded me of something that every single person on my team has in buckets! Passion! Without passion in what you do day to day, you will not be a great developer, or great at anything for that matter. Lack of passion is the number one reason so many developers never become great! It is also the number one reason people do not succeed! A passionate developer will outperform even the best technical developers if they are not passionate about their job, their role, and their project. Think about it, if you have read this far, are you going to make an effort to make all the changes I listed? They seem simple, but without the passion to do these things, are you really going to commit today and be successful?

So there you have it! These are some of the key principles I am using in rating my development team during the review process. Mind you, I provide my team members with the best environment I possibly can, and in return I want great developers! And they want to all be great developers! You can use these rules to rate your developers, or if you are a developer yourself, please use this list to make changes if needed, and catapult your career past your peers!

Follow these tips, and you will get the promotion you want, the increase you have been waiting for, and you will overall be happier with your achievements! Try it out and post your results in the comments below! I'd love to hear from you! Also if have other points you think I should add, let me know!

Capability Maturity Model

This article explains CMM in detail, which may be interesting for software quality assurance fans-

The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process. The model describes a five-level evolutionary path of increasingly organized and systematically more mature processes. CMM was developed and is promoted by the Software Engineering Institute (SEI), a research and development center sponsored by the U.S. Department of Defense. SEI was founded in 1984 to address software engineering issues and, in a broad sense, to advance software engineering methodologies. More specifically, SEI was established to optimize the process of developing, acquiring, and maintaining heavily software-reliant systems for the DoD. Because the processes involved are equally applicable to the software industry as a whole, SEI advocates industry-wide adoption of the CMM.

The CMM is similar to ISO 9001, one of the ISO 9000 series of standards specified by the International Organization for Standardization (ISO). The ISO 9000 standards specify an effective quality system for manufacturing and service industries; ISO 9001 deals specifically with software development and maintenance. The main difference between the two systems lies in their respective purposes: ISO 9001 specifies a minimal acceptable quality level for software processes, while the CMM establishes a framework for continuous process improvement and is more explicit than the ISO standard in defining the means to be employed to that end.

Levels of the CMM:

Maturity Level 1 - Initial

Maturity Level 2 - Repeatable
• Requirements Management
• Software Project Planning
• Software Project Tracking and Oversight
• Software Subcontractor Management
• Software Quality Assurance
• Software Configuration Management

Maturity Level 3 - Defined
• Organization Process Focus
• Organization Process Definition
• Training Program
• Integrated Software Management
• Software Product Engineering
• Intergroup Coordination
• Peer Reviews

Maturity Level 4 - Managed
• Quantitative process management
• Software quality management

Maturity Level 5 - Optimizing
• Defect prevention
• Technology change management
• Process change management
• Structure of CMM
• Maturity Levels

Framework of Capability Maturity Model:
A layered framework providing a progression to the discipline needed to engage in continuous improvement (It is important to state here that an organization develops the ability to assess the impact of a new practice, technology, or tool on their activity. Hence it is not a matter of adopting these; rather it is a matter of determining how innovative efforts influence existing practices. This really empowers projects, teams, and organizations by giving them the foundation to support reasoned choice.)

Key Process Areas
Key process area (KPA) identifies a cluster of related activities that, when performed collectively, achieve a set of goals considered important.

Goals
The goals of a key process area summarize the states that must exist for that key process area to have been implemented in an effective and lasting way. The extent to which the goals have been accomplished is an indicator of how much capability the organization has established at that maturity level. The goals signify the scope, boundaries, and intent of each key process area.