Showing posts with label Entrepreneurship. Show all posts
Showing posts with label Entrepreneurship. Show all posts

35 Bad Programming Habits

There are 35 common bad programming habits.

Well, there are probably more. But 35 sounded cool and that’s all I could think of.

I put the most important ones at #17 and #35 because I’d like for you to read the full answer. I think you’ll find it valuable.


1. Acting like you have all the answers. Don’t cling onto the insecure feeling that you have to know everything. You don’t. And that’s ok.

2. Attending meetings all day. If you spend most of your day in meetings, you should consider spending your time more productively.

3. Acting defensively when someone critiques your code. The best developers are willing to have an open and straightforward conversation about the code they’ve written and how it can be improved.

4. Giving up too soon. Too many programmers get so close to a solution, only to give up right before they’re about to solve the problem.

5. Refusing to ask for help. By going through the process of articulating your problem to someone else, you’ll often discover the solution. This is what is known at “rubber duck debugging.”

6. Passing blame to others. The most valuable developer is the one who takes ownership and responsibility for the code they write.

7. Writing code that prematurely optimizes other code. In most situations, the performance advantage gained from fully optimizing code to the point that it’s difficult to understand is not worth it.

8. Ignoring the opinions of other developers. One of the best ways to learn and grow as a developer is to pair program with developers who have more experience than you. Go seek out other people’s opinions.

9. Not knowing how to optimize code. There are some situations where performance is a big issue, such as problems with:

  • Algorithmic Complexity
  • Inefficient Database Operations
  • Third party APIs
  • N+1 Queries

When performance issues arise, you need to know how to analyze them, understand what is taking the time, and how to fix the problems.

10. Undervaluing relationships with other members of the team. You are hired to write code. But you need to be able to interact with other members of the team, too.

11. Engaging in office politics. Sometimes, other dev teams will make decisions that you think are incorrect. But as long as you can accomplish your team’s objectives, it’s best to simply work around other teams’ quirks, rather than fighting them too hard.

12. Freezing under pressure. When you operate in a scenario where users cannot use the product, there is a ton of pressure. You need to develop the ability to stay calm and get the job done.

13. Being incapable of writing bad code. In the real world, there are trade-offs based on things like:

  • Deadlines
  • Experiments
  • Urgent bugs that need to be fixed immediately
  • You need to have the mentality that it’s ok to write bad code to fulfill the demands at hand.

14. Over-engineering simple problems. Don’t create confusing solutions to easy issues.

15. Acting like a boss. Not a leader. Too many developers don’t know how to manage other people. You should be the person who other devs turn to for guidance and direction- not just step-by-step instructions.

16. Using the wrong tool for the job. Stop making decisions based on “it’s what I know.” You need to be open to using different technologies, languages, and frameworks.

17. Refusing to research coding questions. Google is one of the most powerful tools in a programmer’s toolbelt.

18. Not maintaining a good grasp on your tools. Since you’ll spend a large number of hours using things like text editors, the command line, and other tools to write code, it’s essential to master them. Take the time to learn the tips and tricks that make you more efficient.

19. Avoiding error messages. Code errors happen frequently. They also generally include very valuable information about what went wrong, why it happened, and what lines of triggered the problems. You should seek out error messages, rather than try to avoid them.

20. Counting the hours. The best developers enjoy the time they spend writing code and find themselves getting lost in the in it. It’s not like something will change after you code for 10,000 hours.

21. Refusing to learn from mistakes. This is counterproductive. When mistakes happen, just zoom out and understand these 3 things:


  • What was the ultimate cause of the mistake?
  • Could processes or behaviors be put in place to prevent this category of mistake from happening in the future?
  • Could the mistake be detected sooner and had less of an impact.
  • Refusing to learn from your mistakes will cause you to repeat them.


22. Being afraid of throwing away code. Know that spending three days to write the wrong solution will teach you more falling victim to analysis paralysis.

23. Romanticizing your developer toolkit. Some developers love the text editor known as vim. Others hate it and love the text editor known as emacs. But there will be scenarios where it makes sense to use one over the other

24. Separating yourself from the developer community. There are programming communities all over the place. With organizations like Railsbridge, Girl Develop It and events like RubyConf, RailsConf and much more, there’s so much to discover.

25. Not having a Twitter account. The creators of massive open source projects, like ruby, rails, JavaScript, and other tools, are present on Twitter. Spending time here can give you a glimpse into the minds of the people who design the software that you use.

26. Not giving back to the community. You should embrace the programming community as early as possible. If you do so, you will realize how helpful and friendly it is.

27. Struggling for hours to solve something, solving it, and not documenting it. Every so often, you’ll encounter a strange, really specific problem that someone on the Internet hasn’t solved yet. After spending hours cracking the code on your own, it’s your duty to write the post so that you can help the next person who encounters the problem.

28. Writing too many or not enough comments in code. Comments are essential notes to developers. But like anything, they should be done in moderation.

29. Lazily refusing to update issues for product managers. It’s important for PM’s to get timely updates and know the status of the product (within reason). If you don’t update the issues in a timely manner, it can cause a lot of headaches.

30. Frequently bundling unrelated features into the same initiative. It can be easy to get into the habit of grouping two unrelated things into the same initiative. And if the two different things are both large in scale, untangling the issues can be super complicated.

31. Carefully coming up with a smart plan with other members of the team, only to completely abandon it and change course entirely when one unexpected thing happens. This is pretty much the worst thing you can do.

32. Sticking to a thought-out plan that clearly isn’t working. The only thing worse than abandoning a plan at the last minute is refusing to stop executing a bad idea.

33. Consistently apologizing for the bad code you’re writing. If you find that you’re apologizing for bad code on a consistent base, it could mean that you need to reevaluate your deadlines.

34. Not spending the energy you should performing code reviews. The dev team is in it together and it is every team member’s responsibility to make sure the code that every other members are contributing lives up to the high standards of the team.

35. Not spending enough time mentoring other devs on your team. It’s your job to ensure that your team is learning, growing, and becoming better at programming on a regular basis.

I strongly believe that every developer is a work-in-progress. So it’s totally normal and ok to have these bad habits. In fact, the key to improving as a developer or as any other type of professional is to follow 3 steps:

  1. Recognize that you have bad habits
  2. Find the motivation to change them
  3. Turn that motivation into practice by eliminating the bad habits and developing good ones

If you read this answer, you just finished step one. Now it’s time to go after the next two.

What to consider while promotion?

A successful business depends on reviewing growth and managing resources. It is not about publicity. Now there are modern techniques in business processes. Review and performance management systems have also grown. Reviewing the performance of employees is crucial for their future work. It can make or break an employee. Here are some important points to remember while reviewing performances.

Ability to perform in a team

An employee who cannot work in a team is a burden. Employees need to work with others. This is important for an organisation’s success. Teamwork is also needed to keep up with modern work systems. Team players are necessary. So you need to review employees on their people skills.


Previous work record

Reviewing records of old employees is easier than reviewing the work of new recruits. You need to have a system in place to review new employees. You can do this on a quarterly or half-yearly basis. You also need to have some standards of review. You can use these to grade the performance of all employees. Remember, there is no substitute for performance and hard work.

Creative approach towards a problem

There is tough competition in the market. So it is necessary to think creatively. Innovation is an important measure for performance reviews. This is not just for the marketing or product teams. This is relevant to all departments. Employees can creatively solve problems and develop new processes. You can review their innovation. Thus, you can encourage employees to think in different ways.

Keep emotions out of the picture

Do you dislike an employee for being careless? Do you like someone who works overtime? You need to keep personal emotions out of reviews. Suppose you promote an employee because he or she is having personal problems. This can have a negative impact on your organization’s performance. Reviewers and managers need to be professional and focused during evaluation.

Ability to handle pressure

There is tough competition in the market. Employees have to perform and deliver under pressure. Sometimes the work environment forces an employee to put in extra effort. Some employees can deliver outstanding results in limited time. Such employees are valuable to an organisation. You can use this measure during performance reviews.

Acceptance of responsibilities

Some employees are ready to take up extra responsibilities. They are an asset to the organisation. Work is always increasing. So employees take on several tasks. This also helps organisations to control costs. But not everyone can do it. Someone who is capable of multitasking and also performs well deserves recognition.

Discipline

You need to review an employee on his or her work habits. These include punctuality, dress sense, and sticking to lunch timings. You can also consider how often they go on leave. A casual work environment is different from undisciplined behavior. All employees need to be aware of this. You can review them on these factors.

Conducting fair reviews is important. You may be promoting a non-performing employee. Or you may not be recognizing the efforts of an employee who is performing well. Both can discourage your staff. Review performances from all angles. Then you are likely to have a happy and motivated workforce.

7 Types of Hackers

First, a short myth:

"A 15-year-old boy sits behind a glowing black monitor, typing furiously. The green text streams across his screen like a waterfall. His nervousness escalates dramatically as he sends rapid-fire commands to the strained computer. Suddenly, he lets out a triumphant laugh and proceeds to steal money.


Such is the stereotypical view of a hacker. Yet, there’s so much more to this fine art than Hollywood or the media describes. Hackers are varied creatures and include these 7 types:

Script Kiddie – Script Kiddies normally don’t care about hacking (if they did, they’d be Green Hats. See below.). They copy code and use it for a virus or an SQLi or something else. Script Kiddies will never hack for themselves; they’ll just download overused software (LOIC or Metasploit, for example) and watch a YouTube video on how to use it. A common Script Kiddie attack is DoSing or DDoSing (Denial of Service and Distributed Denial of Service), in which they flood an IP with so much information it collapses under the strain. This attack is frequently used by the “hacker” group Anonymous, which doesn’t help anyone’s reputation.

White Hat – Also known as ethical hackers, White Hat hackers are the good guys of the hacker world. They’ll help you remove a virus or PenTest a company. Most White Hat hackers hold a college degree in IT security or computer science and must be certified to pursue a career in hacking. The most popular certification is the CEH (Certified Ethical Hacker) from the EC-Council.

Black Hat – Also known as crackers, these are the men and women you hear about in the news. They find banks or other companies with weak security and steal money or credit card information. The surprising truth about their methods of attack is that they often use common hacking practices they learned early on.

Gray Hat – Nothing is ever just black or white; the same is true in the world of hacking. Gray Hat hackers don’t steal money or information (although, sometimes they deface a website or two), yet they don’t help people for good (but, they could if they wanted to). These hackers comprise most of the hacking world, even though Black Hat hackers garner most (if not all) of the media’s attention.

Green Hat – These are the hacker “n00bz,” but unlike Script Kiddies, they care about hacking and strive to become full-blown hackers. They’re often flamed by the hacker community for asking many basic questions. When their questions are answered, they’ll listen with the intent and curiosity of a child listening to family stories.

Red Hat – These are the vigilantes of the hacker world. They’re like White Hats in that they halt Black Hats, but these folks are downright SCARY to those who have ever tried so much as PenTest. Instead of reporting the malicious hacker, they shut him/her down by uploading viruses, DoSing and accessing his/her computer to destroy it from the inside out. They leverage multiple aggressive methods that might force a cracker to need a new computer.

Blue Hat – If a Script Kiddie took revenge, he/she might become a Blue Hat. Blue Hat hackers will seek vengeance on those who’ve them angry. Most Blue Hats are n00bz, but like the Script Kiddies, they have no desire to learn.

There you have it. Thanks for reading.

9 signs you are stuck in the wrong career

Your choices determine your career path. If you make wrong choices, you will come across signs that tell you so. Here are 9 signs that indicate you chose the wrong career:


1. Daydreaming at Work

Are you looking forward to the upcoming team offsite or the annual party? Do you wonder how your life would be if you had taken up another job? If staying away from work is all you dream about – even during working hours – you need change.

2.  Non-stop Complaining

If you find yourself telling your friends and family how bad your job is all the time, you have to re-think your work. Disliking and criticizing your work all the time is a sign for change.

3. No Initiative

Are you no longer motivated to take up more responsibilities? This may be because the work you perform is not challenging enough. Completing the task at hand becomes your motive instead of going the extra mile. You may no longer want to take the initiative and perform.

4.Mismatch between Expectations and Reality

At your first job, you will realize the difference between your expectations and the realities of work. If you cannot meet your career goals in the current job, then you are in the wrong job.

5. Alternate Careers

Most of your time is spent in thinking about places you could be in instead of your work desk. You are stuck at your current job because it pays you well but does not satisfy you. Hence, you are on the lookout for other jobs.


6. High Burnout Rate

When you are in a job that makes you unhappy, your enthusiasm dips. You get bored and your energy is low. Dragging yourself to work daily is a chore. If you find which aspect of your job leads to your boredom or exhaustion, you can find a solution.

7.  Envy

You may feel jealous when your friends enjoy their work. When you see others climb the corporate ladder, you realize that you could do better at work too.

8. Money Doesn’t Motivate You

You are no longer excited about the increments offered. Promotions affirm that you are doing well. But, if it doesn’t motivate you, you may be seeing them as a burden.

9. Chaotic Personal Life

When you are unhappy at work, your personal life suffers. You are frustrated and get angry over petty issues at home. Bonding with family members may weaken.

How to overcome the fear of public speaking

You may have been a victim of stage fright several times. Your knees tremble, your throat dries out, you sweat buckets and all you want to do is escape. The `stage fright’ monster has caught you again.  Sipping water, making eye contact or behaving like a celebrity hasn’t helped. It is not about taking a deep breath when you can barely breathe. Here’s what you can do to overcome your fear of public speaking.

Identify your fear: Ask yourself what is the cause of the fear? Is it actually speaking in public that makes you nervous? Does the look on the face of your colleagues or public lead to jitters the next time around? Could it be your skill level with the tools like PowerPoint that mess up your preparation? Sometimes the cause of fear isn’t just people. 


Accept your fear: There is no use escaping the fact. Don’t fool yourself into thinking that it’s going to be all OK on the stage. You fear cannot be wished away. You might do yourself a great service by accepting that you are fearful of speaking in public. Facing your fear could help you prepare better.

Manage your fear: You can’t overcome your fear of public speaking with some quick tips. But you can manage it. Preparation is the best drug to deal with your fear. Stop judging yourself on a success-failure scale every time you speak to a crowd. If the fear of forgetting your lines worries you, practice.

Highlight your strengths:  You have a phobia of speaking in public. That does not take away from the rest of your qualities. Focus on your abilities as you know them best. If you are good at using technology, embrace it wholeheartedly. Use PowerPoint presentations, podcasts, Skype as alternatives. Highlight your strengths and subdue your weakness. If you don’t show, no one will know.

Give yourself time: It took you time to accept that you are fearful of speaking in public.  You are trying to manage it. Go easy on yourself, give it time. Practice makes perfect. Every time you speak in public, you are learning to deal with your fear better. There is no better teacher than ‘experience’.
Utilize your resources: You might have a book that you bought to gain some tips on public speaking. Read a few books, especially ones by eminent personalities on the subject. Browse articles you come across on the internet. Use tips that colleagues or peers share. You could gain from the resources around you.

Take a pause: People believe that a successful speaker is the one who does not pause during a speech or a presentation. A long pause might confuse the audience. But a few pauses allow you to recollect the points. You can use a pause to your advantage during a speech and these might make you sound experienced and in control.

Lastly, do what makes you more comfortable. If it is listening to music that helps you relax before a speech or presentation, go for it. There is no magic potion that might help you overcome your fear of stage. One trick might not work for all. Devise your own strategy and don’t give up. Mahatma Gandhi, Abraham Lincoln, Warren Buffet have been in the same boat and they made a success out of it. You could do it too!

This work is produced by Simplus Information Services Pvt Ltd. Customer engagement through content.

9 Techniques to be a Fantastic Listener

Not long ago I was reflecting on a conversation that I had with my spouse. I thought that I had not been a very good listener in a conversation that we had about an hour earlier. Knowing that she was in the next room, I called out to her, “Stephanie, I was thinking about that conversation we just had, and I was thinking I need to apologize for not listening or giving you my full attention when you were talking. Will you forgive me?” She responded, “For which time?”


I thought I had blown it, but I had no idea of how bad of a listener I had been. That is the problem. Most of us think that we are average-to-good listeners. Unfortunately, that is the status we all occupy in our own mind.

Most of the time, what gets in the way of being an effective listener is our thoughts. We have this little voice in our head that is constantly judging, evaluating, criticizing, analyzing and editorializing everything that we hear. When I did research among a number of managers and asked them why they didn’t listen, they gave the following explanations for not listening:

“Sometimes I listen to see if I agree or not.”

“I usually am thinking about what I should say in response.”

“I listen to understand if what the person is saying will have a negative impact on me.”

“I don’t listen to some people, because I already know what they are going to say.”

“I know I don’t listen, because I am thinking more about what I am thinking than to what the person is saying.”

Notice in all of these responses, the individual is preoccupied with his or her thoughts. When this happens, they are obviously not listening nor capturing the sum total of the messages that are being sent.

Here are some easy-to-use strategies that will help you become a fantastic listener.

1. Recognize and suspend your thinking.

If your thinking is a distraction, then you must learn to manage the voice in your head. Recognize that the little voice is competing for airtime -- and set it aside. If you can’t do it, it would be better to excuse yourself from the conversation and reschedule when you can give your full attention. Listening and attending to others is not something that you can fake until you make it. People know when you are not present.

2. Don’t assume anything.

If you find yourself making negative judgments about what the other person is saying, shift to asking questions that will confirm or disconfirm your thinking. For example, you might ask, “What data led you to that assumption?" or, "Help me understand how you came to your opinion.” Asking good questions will add depth to your understanding and a richness of learning about the individual. This won’t happen if you make assumptions and never ask a question. Ask yourself, “What will I miss if I don’t ask?”

3. Eliminate distractions.

We are so preoccupied with the use of electronic gadgets today. It is a wonder that anyone can give their full attention to another individual. Close your laptop, silence your phone and put them outside your reach. Giving your attention to a person and then allowing your electronic devices to interrupt the conversation is highly disrespectful. You wouldn’t want to be interrupted by someone answering his or her email or an incoming text in the middle of a conversation that you wanted to hold. Do people the service of giving them your full attention.


4. Demonstrate good body language.

Use clusters of nonverbal behaviors to show interest in what people are saying. For example, mirror the eye contact that is being given to you by the person who is speaking. Lean slightly toward the person to show interest. Use your hands in a gesture of making an offer when sharing an idea, or gesture with your fingers that you want to hear more.

Sit on the same level as the person to whom you are speaking. Turn your body to face the person and allow for ample spacing so that they will feel comfortable. Using your body to demonstrate interest in what the other person is saying will put the other person at ease and communicate that what they have to share is important to you.

5. Clarify your understanding.

At any time during the conversation, don’t hesitate to summarize what you believe you have heard. Doing so demonstrates that you are trying to understand the individual. Don’t worry if the person tells you that you have not entirely understood what they were saying. They will correct any misinterpretations that you may have made. What is important is that you demonstrate your understanding while checking the clarity of your understanding.

6. Listen more than you speak.

We were given two ears and one mouth. We ought to listen twice as much as we speak. As you listen, don’t steal the other person’s talking turn. Stealing a turn occurs when you grab the focus of the conversation away from the speaker, and then share your experiences or stories to compliment the message of the speaker.

People with different conversation styles may do this as a way of establishing common ground. But such behavior is unusually looked upon as disrespect. If you are not asking questions to deepen the conversation or to clarify your understanding by summarizing, then you are probably talking too much. Additionally, those who are more assertive frequently cut people off or finish their sentences. Such behavior is also not acceptable.


7. Be patient.

Learning to listen and give your full attention to another person is not easy -- even for a practiced listener. Learning to give your full attention to someone over a longer period of time if you are preoccupied with all the things that fill up your agenda requires patience and focus.

Before you listen to another, you would do well to assess the amount of time you can give to listen to an individual. If you realize that you may not have the time because of other concerns, then schedule a time when you will have the time. For example, you might say, “This is a really important conversation, and I would like to talk about it more." "Unfortunately, I have another meeting scheduled in a few minutes." "Would it be alright if we picked up the conversation when I return?”

You need to take responsibility to manage your listening more effectively.  

8. Ask for meaning.

One of strategies that will help you become a more effective listener is to realize that there is meaning behind the feelings, words and actions that people express or display. If you are in doubt about the meaning of a person’s message, then ask for the meaning. For example, if you observed that someone seems to become defensive, you might say, “I am noticing that you are beginning to become upset. Tell me why.” Or if someone said something that you didn’t understand, you might offer, “After the meeting I heard you say, ‘Oh great! Now what are we supposed to do?!’ Can you tell me what you mean by that?”

What is important is for you to observe what people are feeling, saying and doing, and then try to gain further understanding about what all of that means. Notice that this skill really requires that you give your full attention to the person and notice what messages they are displaying. The challenge is uncovering the meaning hidden behind the message.

9. Apologize when in doubt.

It is not difficult to become unconsciously conscious in a moment and quit listening and attending. If someone calls you on your behavior, admit your distraction, apologize -- and reengage. Offering a heart-felt apology will go a long way to building your relationships and establishing your sincerity.

Becoming a fantastic listener requires skill and practice. It also requires a degree of awareness on your part of where and with whom you need to improve your listening ability. We don’t intentionally go out of our way not to listen to people. We must realize that becoming an exceptional listener requires a conscious and deliberate effort to understand and connect with others.

After all, everyone wants to know that they are heard and understood.