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

Showing posts with label Students Interest. Show all posts
Showing posts with label Students Interest. Show all posts
Full Stack Web Developer opening in Chennai

Full Stack Web Developer opening in Chennai

Coovum Smart Systems (www.coovum.com) is hiring for its expanding team for the post of Software Engineer (Full Stack Web Developer).

About - Coovum is geared to harness the power of IoT, Robotics & AI with the world-class solutions by leveraging technologies and business growth into new market segments started in Jun 2015 with about 25 dedicated team members.

Qualification - Any diploma / degree in Computer Science.

No. of Positions: 3 Experienced & 2 Freshers.

Candidates with at least 1+ years of experience working in backend technology PHP, MySQL, REST API, JSON, Laravel framework only need to apply.

Interview Process for Experienced candidates:-
Online test.
Candidates will be tested on Data Structures, Algorithms, OS & Networks, Web Technology and Security.
Knowledge of Python, IONIC / PhoneGap / Hybrid App Development will be a plus.
Preference will be given to candidates with 2+ years of experience.

Interview Process for Freshers:-
Online test.
Candidates will be tested extensively on Data Structures, Algorithms, OS & Networks, Web Technology.
Knowledge of Python, IONIC / PhoneGap / Hybrid App Development will be a plus.
Preference will be given to candidates with highly demonstrated skills only.
Preference will be given to competitive programmers with a good rank on HackerRank platform.
Salary package:
Experienced - will not be a constraint for the right candidate.
Freshers - best in industry.

Date of Joining:
Experienced - candidates with 30 days notice period. Preference will be given to candidates already serving the notice period.
Freshers - 1st Dec 2017.

Apply on or before 16-11-2017 to mohammedahmed_f@yahoo.com
10 Rules for Developers to learn English

10 Rules for Developers to learn English

Today's world is about distributed teams across the globe. A team member sitting in the Indian Silicon Valley or a software company of the financial capital of India might be reporting to a manager sitting in Microsoft Headquarters in Redmond, Washington (a suburb of Seattle, Washington, USA). This is almost as if you have traveled around the world. Hence, long-distance communication has become prominent over the last couple of years.

How it matters

But I am technically strong, so how does it matter to me?

Well, if you are really interested in moving up the career ladder then communication is the key. For instance, if you want to be promoted to be a Tech/Team Lead then good communication skills will help in the longer run.


Good communication demonstrates good leadership skills and so helps you to pave the road to new roles and responsibilities. Would you like to send a software architect to a client or listen to him on the phone when he can barely communicate; would you like to work with a team/tech lead or on-site coordinator that can barely explain what the client wants? I am sure not. 

Why English has become so important

Do I really need to explain that? If you are reading this article of mine, then you are in the same boat as I am. In other words, the software development field. English is a global language to communicate with anyone whom you don't know how to connect with. Besides, if you are planning to travel, work abroad, deal with higher management in your company and pave your road in a highly competitive society then a good command of English is like “Cherry on the Cake".

Many deserving candidates are rejected every year for a USA visa (H1B, L1B even studying abroad) in their interview because they can hardly communicate well and can't impress the consulate person who is interviewing the candidate.

Consider that, even for technical interviews, how to express that you are a good candidate and understand the technology. That time is gone when you can cram for the questions and spit them out to the interviewer. The trend of interviews has changed. For instance, now people don't really ask the difference between “Abstract class and Interfaces”. Instead, they will ask you a scenario where you choose to implement an interface instead of an abstract class or vice versa. Even, based on your project description they drag you into a totally un-imagined situation and ask for your views. Such just-in-time situations and scenarios are hard to cram for, or even prepare for. So you end up sharing your thoughts or thought processes during the interview. Do you feel little sweating in your palms or forehead?

Techniques to develop good English communication skills

So what's the technique to have good English communication skills?

The following is the Rule of Thumb as it applies to those candidates whose Mother Tongue or Native language is not English, just like me.

Don't panic about or fear English communication; rather work on it. I can share how I (a small town's boy of Hindi medium from northern India) made it possible. 

Rule #1: Focus on learning English grammar to strengthen the fundamentals. If there is a need to improvise your English grammar then work on it for some time and the remaining can be learned by listening and speaking with others. Here is a good E-Book to strengthen the fundamentals from the basics to the extreme expert level.

Rule #2: Don't focus on accent (American, British and so on) immediately; instead focus on grammar for the correct usage or words and accurate sentence formation. Accent will come automatically later when you work with people across the globe and have developed a good grasp of the language.

Rule #3: Your skills building, in other words learning, must be by using English only. For instance, I see some people prefer to learn technology in their native language. I don't understand how learning .NET or any other topic will help you better in your native language, because most of the terms are English only; C#, CLR, Framework, Language, Compile, Code, Debug and so on. So why to worry so much for some of the plumbing or the gluing together of words in the middle to make sentences.

For example, if I need to learn what is .NET then what is it you won't understand in: “.NET is a platform and framework that allows you to build applications using many .NET compliant programming languages and even deploy and run those on many non-Microsoft platform OSs”.

I am totally against the reading of novels and so on to build an English vocabulary. Instead, start a book of your choice on MVC, .NET, C#, ASP.NET, WCF and so on cover to cover. Yes, cover to cover; you read that right, from the About the Author to About the Technical Reviewer to the Acknowledgement, Dedication and so on and the chapters of your choice. I guarantee that the first few sections has much to teach you about general-purpose English communication. So your time is better invested into building your skills with books of your areas instead of reading a 1000 pages fiction novel like Harry Potter, especially for this cause.

However; if you wish to read a book other than for your technical benefits then reach out to me, I can guide you to some good books that might be helpful in various ways.

Rule #4: Listening is very important. When I was in college I heard people saying that listening to English songs will help you to learn English; well to be honest I never found time to double up my efforts to listen to English songs and then learn my study topics in English. By the way, I also don't recommend listening to English music and trying to read English material at the same time; it could turn out to be pretty messy, especially at the beginner level.

So listen to some of your favorite speakers for the topic of your choice. Listening causes great learning, especially in terms of the usage of words, sentence formation, accent, pitch, pace, sound quality and so on. My YouTube channel MyPassionForDotNet has a couple of videos from 10 minutes in length to 2+ hour-long sessions. 

In your free time, even listen to the people in your office, market, shops, conference calls, elevators, parking and so on. 

Rule #5: No slang language; say “Yes”. I have often seen people saying “yeah” “bro”, “You know after each line”, “cool” and many more terms. Well, I suggest always say “Yes”; believe me this has an impact on your way of building skills. When you are good with English communication then an occasional use of yeah is OK. Basically, this puts you into a habit of strictly respecting the core of the language and also teaching your tongue what to utter, which is very important.

Rule #6: Hang out with the right people. If you know someone that can help you to polish your communication skills then find such people if possible. Well, I was not able to find any because I grew with people like me but time has changed. I am sure you might have someone around you.

Rule #7: Think big, start small. If you are in a discussion then start whatever you can using English and see how far you can go. Anyways, in our native land we speak in a mixed mode (some English and some native language) so instead you should focus on speaking only the English part and as precisely as possible.

Rule #8: Go slow. I have observed many people think that good English communication is all about speaking fast. Actually, that's a myth. I have earned a large amount of my professional experience working outside of India with people from various English speaking continents. One thing I have found common in all of them is that they speak slow, soft and clear. 

Rule #9: Pronunciation, when speaking no matter what language you are using, the way to utter a word is very important. It becomes very important when you speak in English. Here is a great pronunciation tool to help you learn how a specific word is pronounced. 

Some examples; I would like you to try and see what you thought was and actually how these must be pronounced. For example Scythe, calcium, pronunciation.

Rule #10: Get away from your native way of pronunciation. Our native place (town, city, country) has a huge impact on how we learn how to pronounce a word; many times we continue to speak the same way, but with an associated cost with that approach. If you have been speaking incorrectly then it can take a while to practice speaking it right.

For example, most of the Indian people, even Doctors, pronounce Calcium as “Cal-Shi-um” but actually there is no “Sh” sound in it. It's just a very small example of how our native culture has an impact on our way of speaking. Many people have the tendency to add the sound of other letters when speaking something. Try again how most of the people say “Pronunciation” and compare that with the tool I referred to in Rule #9.

Such issues can be fixed with caution, awareness, and practice. There is nothing a human mind can't conquer or achieve. 

So let's summarize the rules:

Rule #1: Learn grammar for better English communication.
Rule #2: Don't focus on Accent immediately
Rule #3: Learn technology in English only; strictly books, audio, video and so on
Rule #4: Listening results in great learning.
Rule #5: No slang, use words that reflect a respect of the language.
Rule #6: Right company, connect with people who speak good English.
Rule #7: Think big, start small.
Rule #8: Speak slowly but steadily and you will win the race.
Rule #9: Pronounce correctly; this is impressive in its own way.
Rule #10: Go global; to some extent, get away from your native tongue and pronunciation.

10 Mistakes done by the developers

10 Mistakes done by the developers

Learning from the top 10 mistakes developers make

I present to you a list of a few common mistakes new devs (and sometimes even experienced) usually do. I believe that learning from these mistakes would be of some help to you. So, here is my pick of the Top 10 mistakes.


10. Trusting user’s input
Never trust the inputs provided by the end user. Also don’t blame them, mostly they do it unintentionally. We all make mistake mistakes. This might not be of great concern to them but a piece of bad data could potentially bring down the application or cause compliance-related issues. Apart from naive non-technical users we also have users with a certain level of technical know-how which they could potentially use to circumvent the system and get their work done. These are the users who pose a threat to your application and application needs to be safeguarded against the malicious activities.

The only option to save from landing into trouble at a later stage is to build a strong validation with self-explanatory and human understandable error messages. Cryptic messages hardly help the naïve user accomplish any task. Validation should be done in both user interface and database level just to be sure that even if by some means front-end validation was turned off the application still does not accept trash values.

9. Manual unit tests
Code changes that you do, needs to undergo unit testing and further rounds of Quality Assurance testing. All tests or at least a few minimum number of tests need to be done to ensure that the changes you made in one unit of code do not have side effects on the others. This is a necessary evil. Having automated unit tests and integration tests save you a lot of manual efforts in validating side effects of the changes.

8. Skipping documentation
The evilest thing that you can do is skipping documentation. Off course you can read the source code and try to understand the functionality. Reverse engineering the functionality from the code is a daunting task. This is good enough for a tiny functionality but definitely not a go for the entire application.

"Requirement changes, code changes and more frequent - members of development team change."

Knowledge about the application might not be transferred 100%. Sometimes people just forget. You need not create dozens of documents, create only a few like requirement specification and technical document and make sure to keep them updated, this should be a part of a stringent process which needs to be followed at any cost and must be accommodated in the project planning. This would help at later stages when the application is in support/maintenance phase.

7. Forgetting about Audit and Error logging
Not all end user/stakeholder would be bothered about cross-cutting concerns like audit logs and error logging. A stakeholder would simply come with a one-liner requirement which you would have to drill down till it becomes good enough to work on and deliver a solution addressing the stakeholder’s problem.

Data change audit and error logging might never be a part of user’s requirement but is implicit that it needs to be maintained. One fine day user would simply approach support team and ask them to provide data related to access and roles or some business critical data required for compliance or audit purpose and then you would have nothing to share.

Error logging is also crucial, you might do defensive coding but you never know what might fail in such cases effective error logging comes in handy. Monitoring error logs and trying to work on resolving recurring error would help in making your application more stable.

6. Careless use of privileged access
First and foremost, full control and access should never be provided. The system cannot protect itself from malicious activities if you leak the superuser or privileged account passwords. Risks involved in the reckless usage of privileged access should be a part of learning for inexperienced new members of development or support team. There might be times when you would have to make a modification to production database and having privileged access can lead to many issues.

“With great power comes great responsibility”

I remember once unintentionally deleting data from the master table and the query was auto-committed. I went cold but soon realized I had taken backup of the data, phew! It is always good to provide limited access for data modification via an interface which keeps data backup. One should also note that this tool should also be capable of doing bulk operations, else you will find yourself doing manual updates for a very long time.

5. Configuration menace
Scattered configurations in different files and database is a menace. Change in a configuration which affects multiple applications would have to be replicated in many files and databases. This probably is not much of an issue if you have a handful of applications but would soon become an overwhelming task when you have hundreds of application in an enterprise environment. Moreover, naked passwords in config files are yet another threat. If configurations are database driven then it reduces the later hazels also safeguards sensitive configuration entries.

4. Hard-coded time bomb
Hard coding values in the program are definitely a bad practice. Strange issues could occur because of the hardcoded value which silently sits there in your source code. One such incident is when you make use of hard-coded values for some maximum number, assuming that the maximum will not be hit. Such cases could take months or years to raise an error. Combined with no error logging and you will be in a very bad situation. Try to avoid hard-coded values. Move them to configuration variables if needed or try to completely avoid situations which would require them.

3. Prevent Burnouts
Working continuously without any breaks will just lead to burnouts. You should always take breaks at regular intervals. When you are overworked even doing simple things take a whole lot of time.

Set small achievable milestones for yourself and don’t forget to reward yourself for it. Chocolates, cakes, quick games just about anything that makes you happy and feel free. Learning how to prevent burnouts will make you more productive.

2. Code / Suggest for building resume
Having a strong resume with a listing of all new technologies is great but don’t just do it for inflating the resume. Learn them but use them only if you see the benefit and high maintainability over the existing things. Sometimes adding new tech options would not even be required.

Increasing the complexity should at least pay off in providing ease of maintainability. So I strongly believe that when you suggest some solution, check if it makes the application easy to maintain and makes everybody’s life easy.

1. Finding comfort zone in just one technology
Being a ninja in one technology is awesome and is always beneficial. But don’t stay limited to one technology. Try to expand your knowledge, sure there is a learning curve but challenging yourself helps you become a better technologist – a person who uses various technologies as effective tools and provides business enabling solution.

Times change, technology may become obsolete but your learning should never stop. Always try to explore new technologies and try weighing the pros and cons before using it as a solution for solving a problem.

I would like to hear about your views on these points. If you have any experiences to share, go ahead and post a comment. Remember…

The only real mistake is the one from which we learn nothing. ~ John Powell

This article was originally published on Skill Hive Blog
Free Aptitude Test Practice resource

Free Aptitude Test Practice resource

Folks,

It was a pleasure to add PracticeReasoningTests to our Aptitude Practice Website List upon request to add, from Mr. Edward Mellett, Founder & CEO of PracticeReasoningTests.com






It is always our pleasure to add and recommend free resources for the betterment of the student's fraternity.

PracticeReasoningTests.com

-Admin.

Android App Development Workshop by Anna University

College of Engineering, Anna University, Guindy is conducting one day hands-on workshop on Android App Development for students for a nominal fee of Rs. 300/-.
  

Certificate from Anna University and refreshments will be given to all the candidates.

To register contact your slot contact - +919629634955 / +919894006783.

Only limited slots available, block your seat by contacting the mentioned numbers. Also, share this post and let your friends know this opportunity.

Registration for the Android Workshop is now open, register Here - http://www.niral.org/workshop/index.php

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.