Sunday, 30 November 2014

10 Professional Development Tips For Programmers

Great developers are the rock stars of the tech world: They are always in demand, they get the best perks and they work with innovative companies of all sizes. However, achieving this rock star status is a long journey. Along the way there are skills you need to add to your toolbox and habits you need to develop if you plan on moving into that corner office.

With IT unemployment at 2.6 percent, competition for development talent is fierce and opportunities abound. However, you still have to work to land top spots. Like most IT professionals, programmers have several areas they should focus on in order to keep their careers on track and their skills sharp. To identify the key areas, we asked developers and hiring experts for advice on professional development and the skills necessary to keep moving up the corporate ladder.

1. Staying Current Requires Continuous Learning
Technology is ever-changing and staying relevant means you must change and evolve with it. Self-learning through books or media, boot camps, meet-ups, conferences, internal training offered by your employer or volunteering are all viable ways to grow your skill set.

"The state of software development changes so rapidly that regardless of what technology you work with today, aspects of that technology will be different in five years, and maybe be completely gone in 10 years," says Robert Treat, a developer for more than 15 years and CEO of OmniTI. "Even if you keep your focus on a narrow tool set, there will always be new versions of software that add features and change behaviors. Because of this, you need to find a mechanism for continuously learning new technologies that may not be in use at your current day job. Side projects, open source community involvement or working in companies that work with a wide mix of technologies are good ways to overcome this."

2. Problem-Solving Skills
"Some companies put a great premium on problem-solving skills and give logic exercises or puzzles instead of a coding quiz. Their feeling is that it's not so much your ability to code in a particular language, but your ability to creatively solve problems that demonstrates whether you will be a high performer. Since many companies use a variety of languages depending on the application, they want people who can easily transition between various languages and tools," says Tracy Cashman, senior vice president and partner of Information Technology Search at WinterWyman.

3. Communication and People Skills
The days of the introverted, hidden-away IT people are gone. Make way for the IT pros who understand that different groups of people need things communicated differently. "Many [in] development roles found it perfectly acceptable to work only by yourself and grunt occasionally at a passing coworker. While those roles may still exist in certain situations, most dev roles today require a certain level of interpersonal skills, especially due to the increase in agile, team-oriented development. The most extreme form of this would be paired programming where two developers are actively working together and reviewing each other's work," says Cashman.

From inside the trenches of development, Web architect Brian Dunavant shares his perspective on communication, "As a senior developer, it's easy to become jaded and dismissive of user bug reports or junior developer issues. Force yourself to recognize this impatience and avoid it. Yes, they will probably be wrong most of the time, but this is a teaching moment, or opportunity to help your customer. And for the time they aren't wrong, you potentially solved the problem and learned something new."

4. Networking and Personal Branding
Most people find their next job opportunity via networking. That's even more so in the technology field. Branding is all about showcasing what separates you from the rest of the pack. This two-punch combination is an effective defense against reorgs, downsizings and outsourcings, but it's more than just adding connections on LinkedIn. It's about forging relationships.

"The good news is that as a developer, your skills are probably highly sought after. The bad news is that if you aren't out there actively networking, you may not even know what great opportunities are available to you. Often I find developers have the least developed LinkedIn profiles. They may be afraid of being called by recruiters, but they are also making themselves invisible to hiring managers who often do their own hunting on LinkedIn. At a minimum, any good developer should be attending meet-ups and expanding their circle. Most hires are made by referral or prior knowledge of someone's skills," says Cashman.

Treat offers this tip for developers looking to raise their visibility in their area of expertise: "When it comes to branding, nothing works better than a technical blog where you showcase things you have learned and projects you have been involved with. When potential employers go looking for experts on a topic or technology, this personal branding can help lead them to you."

5. Code Documentation and Neatness
Not many developers enjoy going through poorly formatted, undocumented code to troubleshoot, but it happens all the time. While you can't control everyone else's coding standards you can make sure your output is tidy and understandable. "The key things to focus on in these areas are the ability for people new to a project to be able to come up to speed quickly, and automating significant portions of your development process, such as syntax checking, code formatting and other similar grunt work. Clean code and clean documentation do help with these goals, but remember that they are paths to the goals, not the goals themselves," says Treat.

"My philosophy - as is the philosophy of most professional software engineers - is that you are putting your name on this work. Well-designed and well-written code shows respect for your profession as well as your clients," says George Liu, owner of Tellahilim LLC, an app development company.

6. Master Naming Functions
Developers have different opinions on naming conventions, but you probably should have a strategy to ensure your code is easy to read, follow and understand. "The key to naming conventions is consistency. As long as developers choose a linguistically meaningful pattern that would be readable by his or her successors, the actual pattern can vary. One stipulation for enforcing a particular naming convention is when the code is added to the project with a previously defined standard," says Leon Fayer, software developer, solutions architect, and vice president of OmniTI.

7. Get Familiar With Agile
"This is almost a given for most development positions these days. Even if a team uses a combination of waterfall and agile, there are usually continuous development and releases in some form. Companies want people who can be adaptable and effective at iterative development," says Cashman.

Treat agrees, but offers this warning: "The days of months and months of heads-down software development are dying, as people move to more iterative processes. It is worth every developer's time to read the agile manifesto, but beware that like all religious texts, it is often interpreted in different ways when it comes to practice. Similar techniques to be familiar with would also include reading about continuous delivery, and continuous deployment. Flexibility and regular communication are a part of all of the best software development shops now, so developers should prepare for that."

8. Get Familiar With a Native Mobile Platform
While our experts point out that this isn't necessary to be a successful developer, they also point out that this is an area with huge demand and continues to build momentum as the world becomes more mobile-driven. "Software development is a large enough field that as a developer, you can actually ignore mobile development and still have a fruitful career. That said, mobile platforms are quickly replacing desktop platforms, so it is in a developer's best interest to be familiar with the technologies involved. At a minimum, if you are doing any kind of Web development, it's important to read up on responsive design and mobile first methodologies," says Treat.

"As the world becomes more mobile-device driven, so too does the development world. Companies are actively developing their products for mobile platforms, recognizing that is the way many customers want to do business, whether it's on their Android or iPad. Those who haven't worked with mobile technology may find themselves dated when it comes time to find a new position," says Cashman.

9. Project Management Skills
If you plan on moving up in your career, project management skills are a smart place to invest your time and resources. "I always encourage developers to become familiar with secondary skills and roles that have a heavy impact on the work they do, and project management is no different. Developers who can't participate in managing projects will have a diminished level of influence over the projects they work on. Even if only for personal reasons, it's a good idea to have some methodology for ensuring the process you are using for development makes sense," says Treat.

10. JavaScript, CSS and HTML5 Skills
In smaller and medium-size companies a lot of dev pros pull double-duty and are asked to handle these types of jobs. This is another area that isn't a necessity, but when it comes to job searching it's something that could sway a potential hiring manager. "Having Web/UI skills makes you that much more of a well-rounded candidate. Developers are often asked to wear multiple hats. While bigger teams may have the luxury of having a strong front-end developer who can focus more on the look and feel of the application, there are many times when hard-core developers are asked to handle this work as well," says Cashman.

Thursday, 27 November 2014

10 Things Every Learner Needs to Know

Will the effective skills your participants are learning about in the classroom translate to what they do in the workplace? As someone who cares deeply about this question (someone who has devoted the past 42 years of her life helping people learn), I’m going to make two bold statements, and then make a recommendation. 
  1. Without a basic understanding of how learning happens, which is outlined in the rest of this article, there is very little chance that program participants will actually implement what they learned.
  2. Very likely, no one has ever attended a training program with this perspective. 
It’s important to give your learners a clear understanding of the kind of follow-through they’ll need to perform to ingrain new work habits. I strongly recommend that you reproduce the following information, give it to every learner, and have them read it (and, ideally, discuss it) at the beginning of every program.
1. KNOWING what to do isn’t the same as DOING it.
You can learn what to do through classroom instruction, books, videos, and articles. But this aspect of learning is only the beginning. Acquiring knowledge doesn’t guarantee that you’ll apply it when you need to. As Morpheus told Neo in the sci-fi movie, Matrix, “There’s a difference between knowing the path and walking the path.” Behavior is what counts. And most behavior in a busy workplace is a result of habit, not conscious decisions.
2. Skills, habits, and routines are hard-wired in the brain.
You need to appreciate what’s really going on when you master a new skill. When you repeat a behavior, the brain cells involved in the behavior are stimulated to connect with each other. With enough repetition, physical circuits form that enable you to repeat the behavior easily and quickly. This is true whether it’s your golf swing or the way you deal with other people. This means that the way you do things now is already hard-wired in your brain. It also means that to improve a skill or work habit, you need to rewire your brain.
3. The brain will wire itself for both good and bad habits if you repeat the behavior often enough.
Your brain doesn't distinguish between effective and ineffective patterns. It will never say, "Wait a minute, I can't program that for you because it will cause you problems.” No, it will simply start connecting the brain cells for the behavior each time you repeat it. This is why you could end up interrupting people when they’re talking. Or yelling at them when you get upset. Or procrastinating when faced with a difficult decision.
4. Most adults have wired a lot of bad habits over the years.
During your life so far, you’ve developed “your way” of doing lots of things. And your way of interacting with others probably includes a few behavior patterns that cause problems. This is because practically nobody was taught the best practices when they were young. You picked up ways of dealing with family, friends, co-workers and others “on the street,” so to speak. And some of these patterns may not work well when dealing with managers, team members, and customers.
So, when you attend a training course to learn better ways of dealing with people, you don’t walk in with a blank slate. You have your own familiar, comfortable ways of handling things. Your challenge will be to do the work after instruction in order to rewire your brain.
5. Take responsibility for your own learning.
A trainer can show you how to improve. Your boss can encourage you to change, but only you can make this happen. Only you can do the work to rewire your brain for a new skill or work habit.
6. Rewiring for a new skill will take a lot of repetitions.
What happens in the classroom is a great start, but it’s just the beginning. Most of the effort of learning has to happen after instruction. Back on the job, you’ll need to use what you learned. Like mastering a sport skill, it will take practice, practice and more practice before the brain cells involved will physically interconnect into a circuit that makes the skill feel natural. So you must do the reps, or you’ll eventually go back to your old way of doing things.
7. Accept that at first you’ll have failures and setbacks, and don’t give up.
Even if you value what you learned and fully intend to implement it, at first you may forget to do so. Or if you make a conscious effort, the skill may feel awkward and ineffective. Almost everyone experiences this kind of frustration initially. The habits you already have get in the way of the new habits you’re trying to adopt. You’ll be tempted to give up trying. You may think, “This doesn’t feel right. I don’t think this is going to work for me.”
The key is to persist past this “crunch point.” If you keep trying, you’ll forget less often. Your efforts will start to achieve results. Keep trying and your “failure rate” will eventually approach zero. The new habit will become dominant. You’ll find yourself performing the new, improved skill without consciously deciding to do it.
8. Focus on one skill or work habit at a time.
If you’re an ambitious individual, you may want to correct several behavior patterns all at once. This would be a mistake. In a busy workplace, you’ll find that it’s hard enough to apply one new skill repeatedly. Trying to work on several skills simultaneously will water down your efforts. You won’t get enough reps to improve any of them.
So focus on one area until it starts to feel natural and you’re having success. Doing so will be an outstanding personal achievement. Then you can focus on improving something else.
9. Learn from your mistakes.
Your early efforts may be discouraging, but you can use these experiences to improve. Ask yourself: What happened? What did it happen that way? What should I consider doing differently to get better results? There are lessons to be learned from every experience, if you take time to reflect on it.
10. Get help.

Ask people who care about your development—your boss, co-workers, other training participants—to help you stay focused, encourage you and hold you accountable. This kind of support coaching can accelerate your learning. Ask for their input, ideas and feedback. Ask them whether they’ve noticed improvement, and get their suggestions for how you can perform better.

Wednesday, 26 November 2014

The Most Important Skill for Software Architects

I trust anyone reading this post title most probably is expecting to see something like UML Design, OOP Design, writing code, etc. I would not consider these in required skills list, these are I would say, mandatory skills for a Software Architect. In my opinion, the most important skills for Software Architects are the communication skills.

The importance of communication skills

In Microsoft .NET – Architecting Applications for the Enterprise (2nd Edition) book, the role of the software architect is defined as a person who ties together the requirements and specifications, and one of the most important responsibilities of the software architect is mentioned to be the acknowledgment of requirements.
This requires a lot of communication with people of different profiles and various knowledge of technical jargon (project managers, business analysts, potential users, etc.), and it is a natural expectation that Software Architect should speak the language of business rather than the other way around.
Speaking the language of business is one part of the communication. Next comes communicating that business knowledge and requirements to development team. In my experience, I have seen several situations that developers and business people were speaking about the very same solution, but the language terminology they used made everybody think that they are speaking about two different solutions.
It is the technical skills of planning, designing, development, and implementation of a software solution that qualifies one for the position of Software Architect, but in my opinion it is the soft skill of communication that is the most important skill for software architects and the skill that makes one an appropriate choice to be in that middle point of the team. As my boss says, we must talk talk talk.

What can you do to improve your communication skills?

Of course there is no silver bullet to this problem. We humans tend to be unique in our behavior and skills, and as such the recommendations can not easily be generalized. However, I have three points which I can recommend to anyone:
  1. Seek for sincere advice from people around you, be it your family, your friends, or your colleagues. Generally, it is not easy to get someone to sincerely tell you what they think. People sometimes don’t like to tell what they think and sometimes they are afraid of being percepted as criticizing others, so they don’t tell you exactly how you are being percepted unless they get this freedom from you. Try to make people feel comfortable saying what they think about your communication skills and appreciate sincerely their comments.
  2. Spend some time with yourself thinking about your communication with others. What did you say, what was your intention to communicate and how was it percepted? This could be very helpful to find your weak points, on which you should focus to improve.
  3. Read the book How to win friends and influence people by Dale Carnegie. This is one of the best books I have read and I can confidently recommend this book to anyone. It has an immense set of advices which are very useful for improving one’s communication skills.
You can find plenty of advice from different resources on internet, from books, and from people around you about how to improve your communication skills. Pay attention to the input you get especially from people, you will appreciate it at the end.

Tuesday, 25 November 2014

Here's The 1 Question You Should Ask In Every Job Interview

"This question gives you 'insider information' about the position and the interviewer's perspective on the organization."Job interviews should be a two-way street where both parties - the candidate and the employer - have the same goal: to figure out if there's a fit.


The best way to do this as the interviewee is to ask questions. The right questions.
Career experts Katharine S. Brooks and Lynn Taylor say that what you ask may vary depending on the industry, company, or job you're applying for - but they agree that despite the circumstances, there's one question all job candidates should always ask, no matter what:
Who succeeds in this position?
Another way to phrase it: How would you define success for this position?
"This question gives you 'insider information' about the position and the interviewer's perspective on the organization," explains Brooks, the executive director of the Office of Personal and Career Development at Wake Forest University. "This is the type of information you can't find easily on the internet."
Taylor, a national workplace expert and the author of "Tame Your Terrible Office Tyrant: How to Manage Childish Boss Behavior and Thrive in Your Job," says as the hiring manager answers this question, they'll probably give you insight as to exactly how your career goals align with their priorities.
"Their response will likely elicit such invaluable input as specific skills they seek (you'll pick up a lot more nuances than what's included in a written job listing); the real priorities for the job (you'll know this because of emphasis and time spent on each); an inside perspective of what it takes to secure the position (they're in effect telling you specifically how to sell yourself according to their needs); and their culture, work ethic expectations, and style," she explains.

It's important to remember that you'll be spending most of your waking hours at work, so you want to help ensure that the position will be challenging, motivational, and rewarding. "Each of your questions should elicit as much information as possible, not just about the work itself, but about your prospective boss' work style and the culture," Taylor says. "Having chemistry with your potential manager and others with whom you'll work can often trump the work itself. And there are ways to ascertain that before you commit."
This question in particular will equip you with a benchmark against which to work, she adds. "If you accept the position, you'll always know whether you're following the mission."

Sunday, 23 November 2014

6 Ways to Break a Tech Addiction

Do you immediately check your phone when you’re alone or have a free moment? Do you get distracted easily at work by the web? Perhaps you’re that person with the wise idea to film a concert on your phone.
Getting stuck in a digital rut is all too common today. People have become enslaved to their devices and it’s tough for them to regain control. Breaking free means drafting a new contract with technology and setting up boundaries that work.
Here are six common habits of a tech addict and ways to resolve them.

1. Skip the morning digital check-in.

Waking up to a techie breakfast of checking your email, Facebook or Instagram likes that you scored since midnight isn’t that nourishing. It saps productivity by flooding the mind with a full plate of everything before you've had a chance to focus on the bigger picture.
Swap the mobile activity by truly becoming mobile in the morning. Do some light stretching or yoga, brush your teeth, read a newspaper or meditate for 10 minutes. Work will be waiting for you in the office.

2. Ward off Internet interference.

You’re in the zone and working on the design of a presentation for a client. Then ding! An email arrives and you’re gazing at four videos of cute kids throwing cereal. Finding your bearings and getting back into the flow of work can be a real challenge, just like trying to do so after consuming a plate of very spicy food for lunch.
Interruptions are a drag, and there are various tools to get them under control. Install a browser extension like StayFocusd and set time limits on visiting certain websites. Or turn off your Wi-Fi for an hour. Better yet, step away from the computer entirely and grab a notepad.

3. Avoid putting out the never-ending fire.

Some say, “With great power comes great responsibility.” But they might as well add, “And zero time to get it all done.”
Managers are often dragged into meetings or fire drills that require immediate attention and suck up the entire day. Mindfulness meditation is a technique that many find useful to instill a sense of presence and regain focus.
Develop a practice and make it part of your daily routine.

4. Stop always being available 24/7.

Technology lets people be reached and work no matter the place or time. With devices in the pocket, work-life fences are down and people are always set to be on. Yet taking breaks is good for the mind.
Who hasn’t had the Monday morning awakening when solutions magically appear to resolve giant problems? Getting there means being ruthless in creating space from screens. One day a week, consciously put in the effort to avoid anything digital. If you’re in need of a longer duration away from digital life, check out Digital Detox.
This Bay Area organization has hosted more than 500 individuals on mindfulness retreats, leading prominent tech companies in day camps and conversations to uncover ethics, healthy technology habits and best practices.
Founder Levi Felix, who is a friend, also runs Camp Grounded, the 100 percent off-the-grid summer camp for adults, “When we unplug for longer periods of time, we reconnect with with our own novel thoughts, our creativity heightens, blood pressure lowers and we are able to truly take stock in what's most important in life,” he tells me in an email.

5. Stop web searching for everything.

Remember exploring hiking trails without using Yelp or taking a risk to check out a pizzeria because it smelled delicious? Trust the gut more and dig inside to find the right answer. While at work, trust your intuition and surprise yourself with your own talents. People are prone to browsing the web for inspiration, but original work demands digging into a personal set of beliefs and experiences. Even if you fail, you’ll learn a ton.

6. Try shedding a phone or two for a while.

Phones can create a barrier between the holder and the subject, and in a way contaminate the purity of an experience. Life is always in high-definition. It’s important to create phone-free zones and times.
At my house, phones are banned during dinner. My friends and I play phone stack at restaurants, piling all the phones in the middle of the table. Imagine a pyramid of phones: Whoever picks up his or hers first pays the entire bill.
Next time you feel the need to pull out your phone and capture the moment, soak it in with your eyes and appreciate it. Over time, the anxiety of not being able to snap a photo of a cool fire hydrant will fade away, and you’ll just be there. Most of IT candidates that make it to an interview are quite qualified, but the one who ultimately gets the job offer must be more than qualified. He or she will have to prove they go beyond expectations and have the right stuff to be an asset to the company. Every day I speak with IT hiring managers in a variety of industries, and regardless of the type of IT role or project, there are six traits that hiring managers routinely say make a great candidate. 1. Extremely coachable and adaptable Often a candidate's education and skillsets are just not enough. Because IT is an ever-changing environment, it's more important that candidates be coachable and adaptable. These traits are at the top of an employer's "must have" list and are equal to a candidate's ability to fit into the company's vision and culture. New hires who are coachable and adaptable are open to change, appreciate fresh perspectives, keep challenging themselves, have higher motivation, and take action to move themselves and the business forward. 2. Willing to go beyond job description Most IT departments feel that candidates who demonstrate that they're willing to go above and beyond are a rare find. The ones who are willing to do whatever it takes to get the job done always stand out. One way to determine whether a candidate is willing to give it his or her all, plus more, is to look at past behavior on a previous job and contact references. Also, when interviewing IT candidates, ask them to describe a time when they went over and above to achieve success on a project. Ask what they did in their last job that was new and put into practice by the supervisor. These types of questions are part of behavioral-based interviewing, a great way to determine behavior patterns and success in a particular job. 3. High emotional intelligence It once was thought that a college degree was the best measure of potential and a predictor of a candidate's success. Now emotional intelligence (EI), often associated with soft skills, is seen as an important factor in professional success. EI is the ability to monitor one's own and other people's emotions and use this information to guide thinking and behavior. With high EI, a candidate is more likely to learn quickly on the job, be competent, work effectively in a team setting, have problem-solving skills, negotiate effectively, and demonstrate leadership potential. More companies are putting employees through critical thinking and personality assessments to gauge EI. 4. Hybrid employee The hybrid employee is a generalist and a specialist all in one. A generalist tends to be someone who knows quite a few technologies but only at an average level. A specialist knows only one or two but at an expert level. A hybrid knows about a great many things at an advanced level and can adapt to any type of project. With a hybrid employee, you're basically getting two people in one. 5. Passionate about profession Passionate people genuinely care about the company, team, and project. They don't allow themselves to get bogged down by difficult personalities or office politics. Passionate people dig in for the long haul, even when it's incredibly challenging. They strive for continuous improvement and innovation and are up on the latest IT trends through research, training, and participation in industry associations and conferences. 6. Entrepreneurial spirit Today's younger candidates are driven by an entrepreneurial spirit that we've rarely seen before. Employers consider it a type of mindset, attitude, and approach to thinking that brings about change. It's about seeing the big picture and taking ownership and pride in projects. Once on the job, candidates with an entrepreneurial spirit tend to be self-motivated. In fact, just recently one of my clients told me that he’s looking for people who don't have to be micromanaged. His day is filled with juggling budgets, resources, and new projects. Therefore, he needs people who can work independently as well as on a team, handle multiple tasks with confidence, and thrive in a fluid IT environment. I assured him that candidates like that really do exist.

Read more at: http://www.informationweek.in/informationweek/news-analysis/298787/traits-candidate?utm_source=referrence_article

Thursday, 20 November 2014

5 Technology Roadblocks Costing You Great Talent

Companies put a lot into recruiting great talent -- nearly $110 billion a year, according to a 2013 study by Deloitte. In addition to the money, companies are also investing time and patience into finding and hiring great talent.
However, when it comes to technology and recruiting, how many of us are shooting ourselves in the proverbial foot without realizing it? In my opinion, there are five major technology-related roadblocks killing candidates' experience and causing companies to miss out on great talent:

1. Companies fail to re-engage candidates.

One of the biggest mistakes companies make is failing to re-engage candidates, an October 2014 CareerBuilder study found. A candidate who isn’t hired for a certain position may turn out to be a perfect fit for one that opens up later, but organizations that don’t maintain relationships with viable candidates lose them.

These candidates have already expressed interest in the organization, so companies could save time and effort by reaching out to them for future positions. However, only 38 percent of human-resource professionals re-engage candidates every six months or more, while more than a third report they have moved on to more current candidates.

2. Companies lose interested, but passive, candidates.

Just because a candidate may not apply immediately upon reading your posting doesn’t mean they aren’t interested in applying later. However, 57 percent of HR professionals don’t use any tools to capture candidates who didn’t apply to their jobs. In fact, 39 percent of job seekers feel the ability to leave their contact information with an employer and apply later is extremely or very important, according to CareerBuilder.
In addition, two in five job seekers would like to receive emails about new opportunities opening up at companies. By getting interested candidates’ information, companies can build a talent pipeline for future openings.

3. The application isn’t accessible on mobile devices.

Nine out of 10 job seekers say they will use their mobile device during a job search sometime in the next 12 months, a 2014 Glassdoor survey reports. That means if you don’t have an application that’s accessible on mobile devices, or if it doesn’t line up well with the interface, you’re missing out on a lot of potential talent.
Companies can combat this by offering an application that’s accessible on mobile devices, or through the use of mobile apps. In addition to job searching, 44 percent of job seekers expect to be able to apply for jobs from their mobile device, so not offering mobile applications costs a lot of companies great talent.

4. Using automated responses.

When companies are flooded with applications and resumes, it can be difficult to get back to each individual candidate. It’s easy to use an automated email response or generalized application service, but 39 percent of job seekers don’t feel that’s enough. They’re looking for personalization, the CareerBuilder study reports.
Sixty-two percent of job seekers are expecting more personalized communications, which could be anything from a personalized email to a phone call from a recruiter after an application has been submitted (which, in fact, 67 percent of job seekers expect!). Companies that don’t respond to each applicant may find themselves losing great talent to organizations that do.

5. The application process is too complicated.

According to CareerBuilder, 53 percent of human resources professionals think having a long application is good because it filters out candidates who aren’t truly interested.
While this may be true, making the application process too complicated also filters out potential candidates who may not have the patience for a long application. A shocking 60 percent of job seekers reported not finishing an application because it was too long.
So how long is too long? While the CareerBuilder survey found 37 percent of recruiters ask 15 or more questions on an application, job seekers say an application should have 10 questions at the most. In addition, 29 percent of job seekers believe the application process should take 10 minutes or less, with 62 percent saying it should take 20 minutes at the most.
It can be hard enough to recruit great talent without hidden roadblocks. By avoiding these technology-related mistakes, companies can widen their talent pool and find and hire the best talent for their organization.

Wednesday, 19 November 2014

10 hottest IT skills for 2015

The pace of job growth in IT may be slowing down, but it’s still moving at a strong clip.
A healthy 24 percent of the respondents to Computerworld’s 2015 Forecast survey said that their companies plan to add more IT employees in the year ahead. While down from 32 percent and 33 percent in the previous two years, the fact that a number of employers still anticipate growth indicates that the prospects for expansion in the IT ranks are good.

Moreover, the kinds of technical skills in high demand are those needed for enterprises in expansion mode, suggesting that organizations are continuing to invest in their IT infrastructures.
“There are large initiatives [underway], and you have to have the people to get those done,” says Jason Hayman, market research manager at TEKsystems, an IT staffing and consulting firm.
Here’s a look at the 10 IT skills that the 194 IT executives who responded to our survey said will be most in demand heading into 2015.

1. Programming/application development

• 48 percent of respondents said they plan to hire for this skill in the next 12 months.
• Last year’s ranking: No. 1
As was the case last year and the year before that, IT departments are more likely to have job openings for programmers and developers than for any other position.
Programming certainly tops the list of skills sought by Blake K. Holman, senior vice president and CIO at Ryan LLC, a Dallas-based tax services firm. Like many others, he’s looking for developers who can move his organization forward. But, given the demand, he’s struggling to find the talent he requires. “It’s been very difficult to find folks with good development skills,” he says, explaining that he can find workers with some development aptitude, but landing programmers and developers with enough experience to handle the scale and complexity his company demands is challenging.

2. Project management

• 35 percent of respondents said they plan to hire for this skill in the next 12 months.
• Last year’s ranking: No. 5
Demand for project managers jumped four spots up the list this year, and that doesn’t surprise Leon Kappelman, lead researcher for the Society for Information Management’s (SIM) IT Trends Study.
There is some catching up going on now, because there was so little investment in recent years, he says, noting that companies need project managers who can oversee large projects that span the enterprise. Darren Ghanayem, vice president and CIO in the commercial and specialty business division of Indianapolis-based health benefits provider WellPoint, says the list of complex initiatives on deck has created more demand for solid project management expertise. That has him turning what were outsourced jobs into staff positions, and he, too, says finding the right talent is challenging.
Good project managers need a mix of business and technology acumen along with the ability to bridge those two areas, he says. They also need experience in leading teams using specific methodologies, such as agile and waterfall. And Ghanayem specifically needs people who know how to move a traditional waterfall shop to an agile one. Given such intense requirements, he says it’s not surprising that demand for project managers is on the rise.

3. Help desk/technical support

• 30 percent of respondents said they plan to hire for this skill in the next 12 months.
• Last year’s ranking: No. 2
IT leaders say they still have a growing need for help desk and technical support staffers because ongoing projects expand the list of devices and applications that their departments must support. “Demand for this position is a function of growth,” says Andrew C. Jackson, president and co-founder of BravoTech, a technology staffing firm in Dallas, and a member of the SIM Management Council. Jackson notes that the growing number of companies adopting bring-your-own-device programs has also fueled the need for more support professionals, because both the volume and variety of hardware and software within organizations is proliferating.

4. Security/compliance governance

• 28 percent of respondents said they plan to hire for this skill in the next 12 months.
• Last year’s ranking: No. 7
Executives and board members are willing to spend more money on security because security breaches are making headlines these days. SIM’s research shows that IT departments are beefing up their security ranks; security ranked seventh on the organization’s list of most significant IT investments for 2014.
Cynthia Nustad, enterprise vice president and CIO at HMS, an Irving, Texas-based provider of cost containment services to healthcare payers, says organizations like hers face an ever-increasing number of threats. So she’s expanding her security team, which has already nearly tripled in size during the past five years. She says she’s seeking more specialized security talent; the positions she’s filling include one focused on incident management and another focused on threats and vulnerabilities.
“The demand to secure data is paramount, and the people who understand security -- the architects, engineers or subject-matter experts -- are very hard to find,” Nustad says.

5. Web development

• 28 percent of respondents said they plan to hire for this skill in the next 12 months.
Last year’s ranking: Not ranked
Matt Leighton, director of recruitment at Mondo, a tech staffing agency, says that Web development expertise is one of the hardest skill sets to find. “The influx of demand has not been met with the talent readily available -- there is a gap in terms of what the companies want to do and the talent that is out there to execute these initiatives,” he says.

6. Database administration

• 26 percent of respondents said they plan to hire for this skill in the next 12 months.
• Last year’s ranking: No. 6
Database administration is a tried-and-true IT role -- one that’s always needed in any organization. But the buzz around big data is what’s driving much of today’s demand for people with this skill. “You’ve got the ability to crunch massive amounts of data, but you still need to understand how your database has been put together,” says Terry Erdle, executive vice president for certifications and learning at CompTIA, a wireless industry trade group.
In fact, IT staffing firm Robert Half Technology’s latest IT Hiring Forecast and Local Trend Report, released this past summer, found that 52 percent of U.S. technology executives listed database management as the skill set in greatest demand within their IT departments.

7. Business intelligence/analytics

• 24 percent of respondents said they plan to hire for this skill in the next 12 months.

Monday, 17 November 2014

10 ways to stay on top of emerging technologies

                      Knowing your way around established technology isn't enough anymore. You also have to look beyond today's solutions and be ready for what lies ahead.


hero


The pace of change in the technology sector seems to accelerate at an ever-increasing rate. Here are 10 ways to keep up with new and upcoming technologies.

1: Watch the consumer space

Most of the recent innovation is happening in the consumer space, particularly around what could broadly be called mobile (smartphones, tablets, consumer-oriented cloud services, connected cars, gaming, etc.). It's no longer appropriate to ignore consumer technologies as not "enterprise grade." Everything from the iPhone to personal cloud storage got its start in the consumer space and then migrated to the enterprise. Ignore the consumer space at your peril.

2: Find a technophile

While some might call them "nerds" or "geeks," every organization or social circle has a technophile or two who are always up on the latest tech trends. IT is the traditional home for these types, but increasingly, marketing and product development are home to people who religiously follow technology and are more than happy to provide their perspective on what's happening.

3: Read Engadget

Engadget.com is one of the best sources for all things consumer tech, and it even covers the occasional enterprise development. The amount of news it produces can be overwhelming; I generally use a news aggregator like Feedly.com to skim headlines or occasionally check the headlines at the site. If Engadget is too much, The Wall Street Journal provides a less exhaustive overview of consumer and enterprise technology.

4: Call an expert

Not sure of the impact of all this rapid change on your company? Call an expert who can provide an overview of what's going on in the space and suggest how it might affect your organization. But be wary of "experts" who also have something to sell you -- their recommendations often include writing a large check made out to them.

5: Get your hands dirty

If you really want to experience future technologies, there's nothing like building something with them. If you're interested in evolving mobile platforms, you could build your own "Hello World" mobile app or set up free trial accounts on the myriad cloud services. The web is rife with tutorials that let you get into the most intimate details of these technologies with a couple of afternoons' investment of time.

6: Play a game

If your children have a modern gaming system, play a game or two and see the connectivity, media distribution, and social networking options provided by the system. Gaming often pushes computing platforms to their limits, and current game consoles are becoming generalized media and communication devices as well.

7: Go to a big box store

I do most of my shopping online, but I still try to visit a big box retailer like Best Buy on occasion. There's nothing like seeing and touching the actual product, and you can also get a sense of which manufacturers are generating consumer interest and whose products are in a dusty corner of the store.

8: Have a personal R&D budget

While it's likely not possible to buy every cool new device that hits the market, set aside a pool of funds to acquire an occasional consumer electronic device that represents a broader industry trend. Wearables are hot at the moment, and many of the fitness trackers and entry-level smartwatches are fairly affordable and well worth the $100 or so merely to keep informed on what's going on in wearables.

9: Read the occasional "big brain" book or article

Beyond the next one to three years, much of where technology will go is pure speculation; however, it's worth paying attention to some of the futurists who spend their time considering the outer limits of technology. While many of the predictions around quantum and organic computing, artificial intelligence, and other futuristic trends seem more like science fiction than science, it's worth considering the distant future as well as the more immediate term.

10: Get outside your department or industry

I'm often amazed at how some industries will be years ahead of others on certain technologies. At large companies, even single divisions may be pushing the technological envelope while others remain firmly planted in 1994. Try to identify the organizations or industries in your area that are deploying newer technologies and spend some time with friends or peers discussing what technologies they're deploying today and what they're watching for deployment tomorrow.

Sunday, 16 November 2014

5 habits that can turn interviewers against you

Having spent the last decade recruiting, I've had many a conversation with hiring managers after a candidate exits the interview. And, while I always hope for exceptional feedback, sometimes the news is not so glowing.
Sometimes, the candidate has done something so annoying to the interviewer that, at best, she is now questioning her interest in keeping this person in the running.
What are the things that drive interviewers the most crazy? Listen and learn.

1. You arrive super early

Everybody knows that you're an idiot if you show up late for an interview. It's completely disrespectful of the interviewer's time.
But showing up insanely early is also going to make you look like a jerk. Why? Because, when you arrive more than five or 10 minutes before your meeting, you're putting immediate pressure on the interviewer to drop whatever she may be wrapping up and deal with you. Or, she's going to start the interview feeling guilty because she knows she just left you sitting in the lobby for 20 minutes.
A secondary problem with showing up early is that it says, "Hi, I have absolutely nothing else going on in my life, so I'll just park it here in your company lobby." You don't want that. If you arrive super early, hang in the parking lot or a nearby coffee shop until just a few minutes before your scheduled time.

2. You're so over-rehearsed that you act like a robot

Once again, we all know not to show up to an interview completely unprepared.
Fewer of us, however, realize that it's entirely possible to arrive over-prepared. Are you someone who thinks through every possible question that you suspect might be asked, writes out verbatim "best answers," and then practices them in the mirror (or with a friend) until you're beyond exhausted?
You might think you're doing yourself a solid, but what you're actually doing is putting yourself at risk for coming across as robotic or, worse, disinterested.

When you're hyper-prepared and hanging on the edge of your seat waiting for certain questions for which you've prepared to be asked, you will likely have a very hard time engaging in genuine conversation with the interviewer.
And interviewers don't tend to hire detached people who can't seem to have a genuine conversation. Certainly walk in prepared, but force yourself to not memorize or over-rehearse the practice questions.

3. You head into the TMI zone

Is your underwear riding up your rear end as you sit in that interview? Did you totally run a red light (and nearly sideswipe a school bus) so that you could be on time? Did your husband lose $15,000 at a craps table in Vegas last weekend? How interesting — yet all completely off-limits conversation topics while you're in the interview.
Even if you're interviewing for a role within the most free-wheeling, fun-loving organization, the fact remains that you are in an interview. Never, ever get wooed into believing that the casual nature of the environment frees you to enter the TMI zone.
Be friendly and conversational, for sure. You want this crew to feel that you'll fit in around the joint. Just never, and I mean do not ever, cross the line into TMI. When in doubt, leave it out.

4. You're a clear and obvious WIIFM

Guess what interviewers want to know when they meet with you? First and foremost, they want to know what you can do for them. What can you do to make that company money, improve businesses processes, grow the organization and, importantly, make their lives easier?
That said, when you bust out with an immediate litany of WIIFM (what's in it for me?) questions, you look both arrogant and, frankly, unappealing.

Of course you want to know what the benefits are, how much vacation you get, and if you get a cell phone, company car, and corner office. But in the early interview stages, all the hiring managers and HR people really care about is what you can do for them. This is a business they are running, not a club.
Making you happy will be important if they want you, but you're not even going to get to that stage if you make your list of demands clear too early.

5. You don't say "thank you"

I'm not just talking about the after-interview thank you note here. Surely, sending an immediate thank you out to each person with whom you've met is critical. But it's also super important to thank the interviewer enthusiastically before you even part ways.
Certainly, it can be stressful and exhausting to shuttle through hours of interviewing at a company, to the point it all starts feeling like a bit of a blur. But if you really want this job, you need to stay focused and energized, and you absolutely must end strong. A strong, genuine,
"Thank you so much for taking the time to meet with me — it was great to meet you" will go a long way.
"Thank you so much for taking the time to meet with me — it was great to meet you" will go a long way.

Interviewing can be among the most stressful things we do as adults, especially when we need the job badly. It's definitely never a breeze. But keeping a cool head, arriving prepared to engage in conversation, and staying focused on the value you can bring to that organization is going to help you make it through with flying colors. People hire people, not robots, not jerks, and not people who don't value their time.

Keep this top of mind as you march forth and conquer.

Friday, 14 November 2014

Scary Job Interview Questions

 Every autumn, front lawns are decorated with scarecrows, plastic skeletons and nylon cobwebs. But if those setting out Halloween decorations wanted to truly frighten passersby, they would build a pretend office and re-enact job interviews from years past.
For many of us, nothing quickens the heart rate or sends a chill down our spines like a job interview. Career counselors often say to expect nightmares and an increased fear of dying the night before a job interview.
But unless you plan to interview for a position as Dr. Frankenstein’s lab assistant, job interviews shouldn’t terrify you.
Fear of interviewing is natural, but easily explicable: It’s your anxiety about the unknown.
If you can head into each interview with a better understanding of what to anticipate and how to address it, you can turn a tricky situation into a real treat.
WHY ARE YOU LOOKING FOR A CHANGE?
Start by determining exactly how you will describe to interviewers why you're interested in the open job. Perhaps you’re seeking more responsible, an opportunity to learn more or maybe your current workplace is just starting to feel as monotonous as a string of scary movie sequels.
No matter your motivation, your response should be germane to the position for which you’re applying.
Don’t say, "I’m stuck in a rut at my current job." Instead reply, "I want to take on new challenges, and this position’s responsibilities intrigue me."
Nothing in an interview makes the interviewee seem quite as ghoulish as specifically citing pay. Instead, focus on what elements of the job might mean a pay increase, such as: "I am ready at this point in my career for the responsibility of a management position."
WHAT ARE YOUR GREATEST WEAKNESSES?
Feels like a trap, doesn’t it?
Go with the cliche, “I work too hard,” and you risk coming off as both disingenuous and unoriginal.
Answer too forthrightly—“sometimes I lose focus” or “I have bad anxiety attacks,” and you risk becoming your own worst enemy. The Fifth Amendment protects you against such self-incrimination, but you’re afforded no such right in a job interview.
Be honest and avoid being vague. Pinpoint a specific skill that interests you but you have not yet mastered. Discuss what steps you plan to take to learn that skill. This can be a software program, a managerial technique or just about anything that could pertain to the position you're interviewing for.
WHAT IS YOUR DESIRED SALARY?
For many interview questions, there isn’t necessarily a right or wrong answer. When it comes to salary demands, on the other hand, your response must at least be within a certain ballpark since the hiring organization has a budget with which to operate.
If this question sends you into a panic, fear not. Research salaries for the same or similar positions in your area to get an understanding of the range you should request (all job postings on CareerCast.com include a link to average salary levels for that job).
Don’t get greedy—your new job could do its best Invisible Man impression if you propose an outlandish price range. But don’t shortchange yourself, either.
Low-balling your own salary requirement is a road to self-sabotage.
Maybe there are other interview questions that leave you sleepless. No matter the topic, know that preparation and planning can turn any frightening job interview into a walk through the park. After all, you wouldn’t stroll into a spooky, abandoned house without a flashlight, would you?



Thursday, 13 November 2014

10 ways to advance your IT career

                      Worried that your IT career might stall out? These 10 practical strategies can help you achieve your goals as an IT pro.


hero
Image: iStockphoto.com/Maxiphoto

When I talk with up-and-coming IT'ers, I sometimes encounter a sense of fatalism. It's as if they feel their jobs are preordained and they'll be assigned to a "dungeon job" forever. It is a mistake to think that way, because there are many steps you can take to advance your career and your understanding of IT, regardless of the situation that you find yourself in.
Here are 10 things you can do to develop your IT career.

1: Seek out the hidden silver lining in the situation you are in

I always had strong communication skills, so early in my career -- when I was trying to focus on the technical side of IT -- I invariably got reassigned to training or documentation and not to the technical jobs I wanted. I eventually did spend time on the technical side, and what I ultimately found was that my ability to explain technologies and applications in plain English to end users and business decision makers was a valued commodity. It eventually led to my promotions to project manager and then to IT director and CIO, because employers were looking for someone who could explain (and sell) IT to outside stakeholders.

2: Get into the business

Even if your goal is to become the chief systems architect or a database administrator, those who take the time to read corporate annual and quarterly reports and to understand the business are in the best position to deliver value that is appreciated and rewarded. The best news of all is that once you learn how to get on top of the business for your job, you can take this ability with you anywhere you seek employment.

3: Take a sales/marketing course

Many IT'ers have an inherent dislike for sales/marketing, which relies on intuitive skills, perceptions, and communications -- and not so much on logic and task-oriented skills. Yet the key to business is dialogue and being able to sell both yourself and your ideas. If you are a heavily task-oriented person, and most IT people are, it might be a good idea to take or audit a marketing/sales course to learn a little bit about the art of selling. I guarantee that you will find it useful in your IT work.

4: Develop your communications skills

Even if you are uncomfortable, take the risk of volunteering to make a presentation or lead a meeting. This gives you visibility as a leader and assists in preparing you for a supervisory or management IT role, if that is your goal.

5: Take on the projects no one wants

I started my own IT management career by volunteering to head failing projects with the belief that I could turn them around. Once I succeeded, it was noticed and I was in line for promotions to higher positions of responsibility. Many people are afraid of volunteering for these projects, and I must admit that before I volunteered, I considered that I could get fired. However, I also considered that the project had already failed. The only way it could go was up. If you can lead the effort and turn a failure into a success, you will get noticed.

6: Look for mentors

There are profoundly talented and creative people in IT with great skills. Many are willing to share their experience and knowledge. If you have the opportunity to be an understudy to one, take it. You will learn your craft much faster.

7: Stay current

Once you're assigned to a particular area of IT, it can become difficult to stay current on overall IT trends or other IT areas of interest. Fortunately, courses, periodicals, and trade groups abound that can help you stay on top of things. Take advantage of them. It's one way to ensure that you stay fresh in your IT thinking and practice, even if your immediate area of responsibility is somewhat constricted.

8: Network

The more people you get acquainted with in IT and the business, the more people will know what you have to offer. Individual performance excellence is always paramount, but so is exposure to those who can help you advance your career.

9: Make everyone a winner

People like winners. They also like to feel that they are succeeding. This is why the best project managers and IT executive are those who have found a way not only to make projects work, but people work. A key element in this is teamwork. When everyone feels a part of the project and the project works, the payoff for the project team and for each individual's sense of self worth is incalculable.

10: Do a little extra in every piece of work

One of my early IT memories was of a senior application programmer who wrote each app based on the end user's specifications and then added a little "extra" that he knew would please the user. Sometimes this came in the form of a navigation shortcut for a screen, or perhaps it was an extra function or feature the user hadn't thought about. That lesson has always stayed with me. If you're assigned a piece of work, do it -- and then deliver just a little bit more. You'll delight your customers, and the word will get around.

Take responsibility for your own career

Today's companies are far less nurturing than they used to be. Even great performers can suddenly find themselves jobless if a company misses a quarterly earnings target, and then they must cut back. The moral of the story is to always take responsibility for your own career. You can never be sure where your career will take you or even which companies you will work for -- but your skills and know-how will stay with you wherever you go.

Wednesday, 12 November 2014

6 strategies to address ‘expected salary’ interview question

One of the most difficult questions that candidates face is responding to employer’s question on the expected salary. Should the candidate outrightly put out a salary figure or should there be a defined strategy behind addressing this question? Udit Mittal, founder, MD, Unison International Consulting enlightens.One of the mistakes that Aparna Roy (name changed)committed during her job interview was giving away her expected salary range too early in the interview process, without understanding the nitty-gritty of what the job actually entails.
She had aligned her salary expectations with the broad job description that the employer had provided. But she didn’t wait to figure out the actual details of what was expected of her for the said job role, which eventually turned out to be much more than what was mentioned in the job description.
In the end, though it was just the right profile for Aparna, quoting the wrong salary expectation at the early stages of the interview, made it tough for her to successfully negotiate her salary.
‘What is your salary expectation?’ This is one of the classic questions asked by employers to candidates during interview process. Being a critical question that directly impacts the salary negotiation, it is important for candidates to build sound strategy to answer it.
In a recent interaction, Udit Mittal, founder, MD, Unison International Consulting, a recruitment company, highlighted few strategies which candidates can implement to address this question in an effective way:
Avoid putting out a salary figure outrightly: Salary is a big motive for work. The question, ‘how much salary do you expect’ is definitely a controversial question and there is no one answer to how one can answer this question.
A key point which must be avoided is blurting out a salary figure without having an indication from the interviewer. A number of times, the employers have a much larger figure in their minds, which they are ready to offer compared to the candidate’s expectations.
Research the average salary on websites: With information available at your fingertips via the internet, the first thing that aspirants must do is research on career decision making websites to understand the average salary package that the industry is currently offering to professionals in their space. This will help you to gauge your value in the employment market, at that particular point in time.
Experience versus skills: It is a general perception that the salary growth is directly proportional to the number of years of experience, which definitely counts. However, in many cases, the unique skill-sets which candidates possess are given more importance than the number of years of experience.
So if you have unique skills or specialisations, highlighting those and showcasing how this can bring value to the business, may enable you to negotiate a salary package that is higher than the average industry salary package.
Confirm the actual job role: Before talking about salary expectation, make it a point to ask the employer about details of all the roles and responsibilities that would be expected to do once hired. This is important because many times the job description is just a basic outline of the job profile.
The desired salary range should be discussed when you have at least made it to the end of the interview. Understanding your core responsibilities will place you in a better position to talk about the salary figure that you deserve.
Take help from an experienced professional: It is extremely helpful, if before your face to face interview, you can find an experienced professional in your industry, who can help you calculate the potential value of your personal skills and background such as education, experience, certifications and management responsibilities.

This would give you the much needed confidence to face the employer’s question about salary expectations, backed with the understanding of the actual industry pay package.
Difference between assertive and aggressive: During negotiation, the candidate should maintain his/her composure and should not appear desperate or too aggressive. But it is important to be assertive about your salary expectations.

The employer will definitely try to negotiate the salary to a level he/she is comfortable with. But candidates need not feel intimidated and confidently assert their expectations based on their industry experience, unique skills and the value only they could bring to the company.

Tuesday, 11 November 2014

Seven Steps to realizing your ambition

Being ambitious matters. A recent study found that more-ambitious businesses have experienced faster revenue growth and are more optimistic about the future.

Let's take an example of a neighbourhood restaurant my friends and I frequently visit. Whenever we go there, the owner always stops by our table to say hello. Normally we exchange a few pleasantries, maybe a joke or two, and then he gets back to work. That night, however, he seemed preoccupied, so I asked him to have a seat. He told me that he was opening a new restaurant a few miles away, and that his head was spinning from the complexity of it all. He said that it was exciting, but terrifying at the same time. He then smiled, stood up, and went to greet a couple walking into the restaurant.

My friends and I continued to talk about the owner's dilemma. He realized his dream of becoming an entrepreneur. He had a vision, obtained financing, bought and renovated the building, created an exquisite menu, and the customers flocked to his establishment. All of his ambition and hard work paid off. Now, he struggled with the notion of taking his business to the next level or maintaining the status quo.

With this desire in place, the next step for businesses is to articulate their aims. Achieving revenue and profit are part of many companies' growth agendas. The very ambitious companies have a more clearly defined plan. Developing new products and services, penetrating new geographies and expanding the business premises are all front-of-mind ambitions for very ambitious businesses.

Realizing an ambition, whether personal or professional, is hard work. Here, we are outlining seven tips that have helped global business owners reach their goals.

1. Don't bite off more than you can chew
While it's important to dream big, it's imperative to keep your resources in mind. Set "stretch goals" for yourself, but don't make them so high that the goals are unreachable. Have a long-term objective with a series of milestones from where you are now to where you want to be in 3-5 years. Remember to reward yourself for hitting each milestone, too.

2. Collaborate
The restaurant owner works collectively with his wait staff, cooks and managers toward a single, shared goal. This concept of collaboration applies to almost any business with employees. Share your objectives with the people working for you (e.g. "We will open a second restaurant in the summer of 2014) and remember this rule: "Many hands make light work." When applicable, let your customers know about your dreams as well. Most customers would like to know that their purchases are supporting entrepreneurial dreams. Also consider collaborating with your supply chain and partners to achieve your goals.

3. Get the right support
You are probably an expert in one or more segments of your business. These segments are probably the reason you started your company. The other segments, the areas you hate to work in, may require outside assistance. Don't be too proud or frugal to ask for help. If you are streamlining your business processes, determine what expert assistance is needed and take a call. If applicable, consider one of the SAP's 11,000+ partners. They can offer expert advice and help you find the right solution to suit your company's needs.

4. Keep it simple
Make your ambition as clear as possible. Whether it's opening another restaurant, hiring more employees, or reaching double-digit sales growth by the end of 2014, make sure the goal is simply stated. Delete unnecessary processes and simplify complex ones. The less there is to slow you down and stand in your way, the better.

5. Monitor your progress
Record and review your progress regularly. This exercise will help you identify weaknesses more easily and improve them faster. Ambition is about continuous improvement, and not one-off changes or achievements.

6. Believe in yourself
You can achieve your ambition if you believe in it. You must also possess greater determination than all of your competitors, both locally and globally. There will inevitably be surprises that try to halt your progress; don't let them. Open that second restaurant, build a better shoe, create a new style of headphones, or deliver an honest pint of beer. Whatever you do, commit all of your resources to do it better than anyone else.

7. Wow your customers
This last tip is more of an example. Adarsh Co-operative bank used SAP software to help them realize their ambition of wowing their customers. View Adarsh's success story at www.sap.com/india/ambition. It demonstrates how collaboration, innovation, and the right technology can help make you realize your ambition and become a leaner, healthier, fitter business.

Monday, 10 November 2014

Why JavaScript Is and Will Continue to Be the First Choice of Programmers

The software industry is constantly evolving. Many languages that were cutting edge just a few years ago either look outdated or have been made completely redundant today.
Today, new languages are emerging with surprising frequency to meet the changing needs of users. These languages are being used to build a new class of applications that have advanced features and cater to the demanding needs of businesses.
There is a wide range of options available for developers when it comes to functional, object-oriented and scripting languages.
To stay relevant in the world of programming, a developer (a professional or an amateur) needs to keep track of all new programming languages. As can be imagined, it is impossible for any developer to master every programming language.
But the arrival of new languages doesn’t mean the programming landscape is undergoing a massive overhaul all the time.
There are a few languages that have been holding their own against this onslaught of new languages. These programming languages have been around for a long time and aren’t going away anytime soon.
One such language is JavaScript. It keeps figuring in the list of popular programming languages and one could say developers are falling in love with it again and again.
The surprising fact is JavaScript also has its fair share of naysayers and has faced and continues to face criticisms from them. Until a few years ago, developers didn’t take it seriously and even questioned whether it could be considered a real programming language (at the same time, they continued using it).
These criticisms haven’t come in the way of its ubiquity; this language continues to be used everywhere - from front end web pages to mobile web apps and everything in between.
Even people who are not too keen on using JavaScript use it for want of an option and because it has evolved to meet the changing needs of the industry.
So, what is JavaScript?
JavaScript is a computer programming language for scripting interactive effects inside web browsers.
It is supported by all popular browsers like Microsoft Internet Explorer (beginning with version 3.0), Firefox, Safari, Opera, Google Chrome, etc. 
Quick History of JavaScript
Let’s have a look at what led to birth of JavaScript.
To implement something similar to Apple’s HyperCard – that was mainly developed to help build apps easily, Netscape developed LiveScript.
Overtime, LiveScript was rechristened to JavaScript.
Originally a client side language, JavaScript later migrated to server-side, thereby becoming an all pervasive language.
Why is JavaScript the first choice of Developers?
Earlier this year, industry analyst firm RedMonk, published a programming language popularity ranking; according to this ranking JavaScript leads the chart, followed closely by Java, PHP, C# and Python.
This leaves very little room for doubt that JavaScript’s popularity hasn’t taken a beating even after all these years.
It is one of the most versatile and effective languages that can be used by developers. According to a survey, JavaScript is used by 88% of all websites. You will find JavaScript not only on every website but also on mobile sites, games and web applications.
Let’s look at some of the pros of JavaScript that makes it so popular amongst developers:
1.  Client-side Processing: This means the code is executed on the user’s processor instead of the web server, thus saving bandwidth and reducing extra load of the server.
2.  Simple to learn: The syntax of this language is similar to simple English making it easier for developers to learn.
3.  Extended Functionality to Web Pages: Third party add-ons help JavaScript developers write snippets that can be utilized on the necessary web pages.
4.  Simple to Implement: Being able to use the same language in front end and back end makes the job easier for development teams.
5Inexpensive Language: It does not require any special compilers or editors. All a developer needs is a text editor and a browser to run JavaScript code.
6.  Relatively fast for the end user: No longer do visitors need to fill out an entire form and submit it in order to be told they made a typo in the first field and that they need to fill the complete form again. With JavaScript, each field can be validated as it is entered by the users; this provides immediate feedback when they make a mistake.
7.  Browsers with built-in JavaScript: Website users do not need special software and downloads to view JavaScript; every user gets the same experience.
Best Examples of JavaScript
A web developer can add personality to websites by using JavaScript. JavaScript is the native language of the browser. If you want to build single-page web apps, there is really only one language option for building client-side single-page apps, and that is JavaScript.
Some popular sites using JavaScript include Google, Facebook, YouTube, Yahoo, Wikipedia, Amazon and Twitter. It's the top language used on Github.
There are also many web applications that avoid using HTML, and are coded entirely in JavaScript, these include Gmail and most of the Google apps.
Google is also executing JavaScript on web pages to index pages more accurately.
Why JavaScript is Valuable?
There are various reasons that make JavaScript a mainstream programming language. Let’s look at a few of them:
Ø  Last year Amazon launched AWS SDK for JavaScript in the browser. This lets developers write dynamic JavaScript applications that can access AWS services from the browser without the need to write any server-side code and configure an application server for hosting.
Ø  Google pushed JavaScript forward with their V8 JavaScript Engine.
Ø  You can even program hardware in JavaScript including playing DVDs.
Ø  GitHub’s Atom editor is built almost entirely around CoffeeScript, which compiles to JS.
Future of JavaScript
Rather than asking, “What is the future of JavaScript?” the right thing to say is JavaScript is the future.
In an answer to the question: “What is the most valuable programming language to know for the future and why?” on Quora, Kevin Suttle, a senior front end developer at IBM Design quoted William Ting’s answer to the same question saying “JavaScript will stay relevant as long as people use the Internet.”
JavaScript has evolved with additions like like node.js, jQuery (a library), JSON (JavaScript Object Notation) MongoDB and ES6 Generators; this makes it an extremely important language for developers and ensures it doesn’t lose its relevance.
The Best is yet to Come!
All the above points make one thing clear: JavaScript is here to stay. It's almost impossible that JavaScript will be replaced by another language anytime soon. In fact, it can be said with a fair degree of surety that it will not only maintain but also extend its hold on the World Wide Web.


Sunday, 9 November 2014

A Good Programmer: Why You Need to Avoid Being One


I’ve worked with what I consider to be good software programmers but are they really good programmers? What makes them so good? (and maybe, are they just average?)

I recently read a blog post by Mark Pearl titled “Programming, a Subset of Writing.” As much as I agree with the underlying message of this post, something really struck me when I read the following paragraph:
“This is where I draw the biggest parallel between the two. A good programmer is one that programs in a clean, understandable way - all unnecessary complexities are removed from the code. The really good programmers I have worked with have this mantra of code it, then refactor and refactor some more.”
It is true you become better with practice - just like with all life skills. But what else do you need to do besides refactor and then refactor some more?
Another area that helps us perfect our craft is simply being open-minded of other important factors that go into programming. Unit testing, exception handling or even communication skills are all important. If overlooked, ignoring these elements can lead to overconfidence, possibly making you a “confidently wrong person.”
I often caution the mantra of encouraging all programmers to become “good programmers” without considering realistic pragmatism, and following religious conformance to software practices.  I’ve worked with “good programmers,” and I’m sometimes left thinking they are just “confidently wrong programmers;” although, to be fair, some were indeed very good.
I agree with my former colleague, Russell Politzky, in saying that:
“They [confidently wrong programmers] tend to be dogmatic, intolerant and impractical.  In our line of business, that can result in inappropriate and self-defeating design decision.”
These are the programmers who may be caught out making statements such as:
  • All tests must be unit tests
  • 100% code coverage is a desirable goal regardless of the value of the tests required to achieve it
  • All mocks/stubs etc. used in your unit tests must be built using a mocking library
  • All applications must be built around the DDD paradigm, regardless of their purpose
  • All applications using a database must use an ORM to round out their data access layer
  • Applications that don't use an ORM are suboptimal and hard to maintain
  • All comments in code are undesirable because they're indicative of code that hasn't been written well enough to sufficiently express intent and it's always possible to express the detail of your domain in the program code itself
  • Any documentation you produce, for your design, is necessarily always out of date and less than useless
  • The code is the only documentation you'll ever need
  • The code is the only model you'll ever need
  • It's impossible to do good top-down design; this approach will always fail and those espousing it simply haven't seen the light, as yet, but eventually they'll all succumb to the superiority of "evolutionary design", meaning TDD
  • You can't write good software in any paradigm other than Object Orientation because only OO has ways of decomposing complexity
Do you know this programmer? If so, what do you think of their performance? Experience has shown that this kind of dichotomous thinking, whereby something is either all good or all bad, is illogical.
Applying good levels of pragmatism and sensible reasoning is also what makes you a good programmer.  Perfecting your craft and enhancing your skill is good, but through this process we should clearly understand the bounds, scope, cost and context of our reasoning. The ability to take all this into reasonable context requires maturity and such maturity is important to being a “good programmer.”
Along with lots of practice, of course.