Vision and dreams are the blueprints of soul and achievements.
-Mohammed Ahmed F

Showing posts with label Career Guidance. Show all posts
Showing posts with label Career Guidance. 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.

Android and PHP Developers required

Hi, we are hiring. We are into Android + PHP development. Call 8754531574 or drop your resume in sraja3213@gmail.com.

We are looking forward for any degree, no problem if you have arrears or break in employment, all we want is dedication and a will to conquer.


We would give free 200 hours of training on Android too.

We are not a consultant. We are B2l Mobitech Pvt Ltd, located at Velachery, Chennai and we are hiring.

Capgemini hiring Software Developers & Testers

Capgemini - Walk-in interview on 26th November @ Gardencity College, Bangalore.

This is exclusively 2015/16 BSc/BCA (CS/ IT/ Mathematics/ Physics/ Statistics/ Chemistry/ Electronics) with an aggregate of 55% and above in 10th, 12th and UG (Engineers are Not Eligible).

Job Description :

Good understanding and knowledge on programming skills.
Good understanding of Operating Systems (OS), computer fundamentals
Good analytical and problem-solving skills
Should have excellent written and oral communication skills
Should have good interpersonal skills and ability to perform under pressure


Salary : 2.10 LPA

Date of Joining : Immediate

Venue details are follows :-
Company Name - Capgemini India
Designation - Software Developer/ Tester
Interview Date - 26thNovember 2016
Time  - 10:30 AM
Venue - Garden City College
Virgonagar,16th KM, Old Madras Road,
Bengaluru, Karnataka 560049

Note:
Candidates who dont match the eligibility criteria will not be entertained for the process.
Candidates will have to sign a 2-year service agreement/Deed of Indemnity
Candidates should be willing to work in any of the company’s offices across India
Please carry an updated copy of your Resume, any Photo ID proof, Copy of Educational Documents and a Print-Out of this email to attend the Interview

You may report at the venue 15 minutes before the mentioned reporting time.

Wish you all the best!!!

PHP Developers required in Chennai

A leading. Web design & development agency is recruiting web designers / developers for their Chennai office.

No of requirements - 30

Salary - Negotiable as per experience 


Need web designers with experience in Adobe Photoshop & Illustrator
1. Excellent skills in Adobe Photoshop
2. Should have the ability to make clean sleek website interface & templates

Need Web developers with experience in PHP / MySQL
1. Proficient in Wordpress theme integrations
2. Excellent skills in working with WP-Commerce, Woo Commerce etc.
3. Good Knowledge of other CMS like Joomla, Drupal etc.
4. Experience in Magento will be preferred.

Please find the Interview details below,

Interview time - 10am to 5pm

Date - 26th and 27th November (Saturday and Sunday)

Venue:
A2z technologies 
1st floor, Cenotaph Road 1st Street
Teynampet, Chennai - 600 018
Landmark : Opp to Japanese Consulate
Mobile no.: 9884404983 / 84
http://a2ztechnologies.in/

.Net developer required in Chennai

We are looking for Dot Net Developer with leading MNC company

Position - Dot Net Developer (Junior software Engineer)
Experience range - 1 to 3 Years
Work location - Chennai (Sholinganallur)
Interview Location - Chennai (Sholinganallur)
CTC range - Upto 3.5 Lpa
Interview Timing - 11.00 AM
Interview Date - Coming Saturday - 26 November 2016


Job Description 

Junior Software Engineer

1-3 Years of experience in .Net Platforms 

Skill set Required:

Hands on experience on Microsoft C# or VB.Net or Asp .net.

Good knowledge on Microsoft SQL server, SQL reporting, Crystal reporting, Web services, XML, SCHEMA, XSLT

Interested candidate kindly forward your updated profile.