Search This Blog

Thursday, December 25, 2014

5 Exciting Reasons to Work for a Tech Startup in India

Today fresh graduates really have a choice whether to work in a startup or not. 10 years ago this was not a viable option for most people.

Becoming a tech entrepreneur yourself is a great career option too. But in this post we will look at the pros and cons of working in an early stage tech startup vs. working in a well established IT organization like Infosys, HCL or Accenture.

Now i am working in a startup.

From my experience, here are some of the reasons why you should work in a startup.

1. Massive Learning

The amount of things that you learn by working in a startup is probably twice or thrice than that of a big organization with 1,000+ employees. The startup I am working for had only 30 employees but we were getting a lot of things done at a breakneck speed. I was blown away by the possibility of how much a small team can create given such less time and resources.

There are less formalities, less boring meetings, less approvals and more ownership and freedom for what you are doing. Due to less friction, you end up doing more work and hence you learn more in a shorter period of time.

2. Work Satisfaction

Big corporates are famous for their dirty politics. I am not saying that everyone is bad in such firms, of course there are a lot of visionary leaders in big companies but your chances of bumping into a bad manager are relatively high.
Many times, you do a piece of work and someone else takes credit for it. You want to do something creative, but your manager doesn’t allow it because he/she is afraid that you would overshadow him.

Since startups have a small team, everyone knows what kind of work you do and you will get valued. (On the flip side the only way to look like a hard worker is by working hard!)

New ideas and initiatives are encouraged and there will not be a need to get formal approvals to do new things. As a developer if you think that adding a small tweak to the user interface will help your customers, you can just inform your team and go ahead with it. You may not get a monetary reward for it, but your customers will be happy and that would give you immense pleasure.

Whether you work in the development team, marketing team or customer support, there are plenty of opportunities to talk and meet with your customers. You will see how your work is adding value to your clients. This motivates you to go the extra mile to serve them. In the process you will learn what entrepreneurship is and what value creation really means. Yes, you are really making the world a better place by doing your part of the work.

3. People & Culture

Except a few, most of the startups have a great work culture. Startups do not waste energy in unnecessary things such as insisting on formal dress codes, having to follow up with minutes of meetings, minimum clock-in hours at the office, leave policy and so on.

All that matters is the work you do. How much value you add to the organization and hence to its customers. Mostly it wouldn’t be a big deal if you wear t-shirts, come late to the office, made a spelling mistake in your email, didn’t adhere to the HR policy while taking a leave and so on. I don’t say all startups are like that, but most startups don’t have time to make an issue about small things that do not matter.

In startups people around you are more like a family than co-workers. There are mostly no politics and deception because no one has time to play such games.

4. A Platform to become an Entrepreneur

If you have ever dreamed of becoming an entrepreneur, working in a startup is the best place to get started. Since startups are small and mostly transparent in what they do, you will learn a lot more about the business in a holistic manner.
If you join a very big organization, you most likely will have no idea about the needs of the customer, the price they are willing to pay for your solution and whether your work has really solved their problem.

You work, you get paid and the only thing your will learn is how to save yourself from getting blamed when something goes wrong. This will help you only if you want to climb the corporate ladder.

But for people like you & me who believe in doing the work, corporate politics is a dirty game to play and the chances of becoming a senior manager or VP in an organization with tens of thousands of employees is very less.
Again, I am not here to give a bad rap about big and well respected organizations. Apart from my own experience, I have a lot of friends working in such firms and it looks like I have a fair idea about how things are in such companies. I am sure you will agree with me on this.

In a startup, you will do a little bit of everything when some important things have to be done on time. I am working mostly in developing but when the need arose, I did a bit of design, a bit of customer support and a bit of installation too. Such experience is priceless when you want to start your own company some day.

Another big benefit of working in startups is that you will network with great people. You will become friends with the CEO and co-founders. If you add good value and move on, no one is going to get angry at you that you are leaving them and will be more than happy to help with when you run your own startup with their contacts, resources and experience.

5. Remuneration & Stock Options

There is a misconception that Indian startups don’t pay well. If you do your homework, you will find out that if you are well educated, intelligent, hardworking and have the right attitude, a 5 year work experience could get you double or triple the salary compared to a traditional IT company in India. If the take home salary is not that much, you will be compensated with stock options of equivalent value.

You will get stock options which is usually in the range of 0.05% to 0.5% with startups which are a few years old. For startups that are less than 1 year old, you may get 5% to 10% stock but in that case you will be more of a co-founder than an employee.

0.5% may not look like much. But imagine you are working in a company that is valued at 10 Crores when you join. 0.5% of that is 5 Lakhs. This may not look like much in the beginning. But startups grow very fast and within a few years your company can become a 100 crore company.

If the startup is acquired, your 5 Lakhs becomes 50 Lakhs and that could be more than enough to fund your own startup or take a mini-retirement.

Redbus.in had an exit at 800 crores approx. An employee who had a 0.5% stock would have cashed out 4 crores when Redbus was acquired by South African Naspers group. An employee who only had a 0.05% stock would still have cashed out 40 Lakhs! Such exits don’t happen often but you have to consider the possibilities.

The Downsides
 You cannot have a cake and eat it too. Roses come with thorns. For some people working in a startup is not the right thing

Here are the down sides:

-- There is a bit of risk that your startup could fail and your stock options will becomes worthless. But you would still come out with priceless learning and experience.
-- The amount of work involved in startups is higher. Sometimes you may have to work on weekends as well. Sometimes more than 12 hours on a weekday. Startups are for people who want to work hard, not for people who want to look like working hard and take home a paycheck every month.
-- You may not work in a fancy looking office building in a tech park. Your relatives may not have heard of the company you work for. You may not get opportunities to travel abroad. Sometimes you may not even have A/C in your office. Startups are for people who want to learn more and get more things done, not for people who want to settle in a job with comfort.

Conclusion
If the downsides do not bother you, I am sure by now you are excited to work in a startup!

Difference between Black Box Testing and White Box Testing.


             Black Box Testing
                   White Box Testing
1
Black box testing is the software testing method which is used to test the software without knowing the internal structure of code or program.
White box testing is the software testing method in which internal structure is being known to tester who is going to test the software.
2
This type of testing is carried out by testers.
Generally, this type of testing is carried out by software developers.
3
Implementation Knowledge is not required to carry out Black Box Testing.
Implementation Knowledge is required to carry out White Box Testing.
4
Programming Knowledge is not required to carry out Black Box Testing.
Programming Knowledge is required to carry out White Box Testing.
5
Testing is applicable on higher levels of testing like System Testing, Acceptance testing.
Testing is applicable on lower level of testing like Unit Testing, Integration testing.
6
Black box testing means functional test or external testing.
White box testing means structural test or interior testing.
7
In Black Box testing is primarily concentrate on the functionality of the system under test.
In White Box testing is primarily concentrate on the testing of program code of the system under test like code structure, branches, conditions, loops etc.
8
The main aim of this testing to check on what functionality is performing by the system under test.
The main aim of White Box testing to check on how System is performing.
9
Black Box testing can be started based on Requirement Specifications documents.
White Box testing can be started based on Detail Design documents.
10
The Functional testing, Behavior testing, Close box testing is carried out under Black Box testing, so there is no required of the programming knowledge.
The Structural testing, Logic testing, Path testing, Loop testing, Code coverage testing, Open box testing is carried out under White Box testing, so there is compulsory to know about programming knowledge.


For more: Click here

Highest Paying Programming Languages You Should Learn

Computer programming has quickly become one of the most lucrative industries in the United States. In fact, the average salary for a computer programmer just hit an all-time high as it approaches $100,000. But, there are some languages and skill sets that are more valuable than others, and Quartz has compiled some data to break down these differences.
Quartz's Max Nisen pulled out some figures on the most valuable programming languages based on a larger study from the Brokings Institution that was published in July.

Based on that data, here are programming languages listed next to their average annual salary from lowest to highest:

12. PERL - $82,513

11. SQL - $85,511

10. Visual Basic - $85,962

9. C# - $89,074

8. R- $90,055

7. C - $90,134

6. JavaScript - $91,461

5. C++ - $93,502

4. JAVA - $94,908

3. Python - $100,717

2. Objective C - $108,225


1. Ruby on Rails - $109,460


While some of these coding languages can help you earn around $100,000, train to become a Salesforce Architect if you want one of the highest paying jobs in tech. According to data from IT recruiting firm Mondo that was published back in March, Salesforce Architects can earn anywhere between $180,000 and $200,000.

For more: Click here

Unit Testing

DEFINITION

Unit Testing is a level of the software testing process where individual units/components of a software/system are tested. The purpose is to validate that each unit of the software performs as designed.


A unit is the smallest testable part of software. It usually has one or a few inputs and usually a single output. In procedural programming a unit may be an individual program, function, procedure, etc. In object-oriented programming, the smallest unit is a method, which may belong to a base/super class, abstract class or derived/child class. (Some treat a module of an application as a unit. This is to be discouraged as there will probably be many individual units within that module.)

METHOD

Unit Testing is performed by using the White Box Testing method.

When is it performed?

Unit Testing is the first level of testing and is performed prior to Integration Testing.

Who performs it?

Unit Testing is normally performed by software developers themselves or their peers. In rare cases it may also be performed by independent software testers.

TASKS

Unit Test Plan
  • Prepare
  • Review
  • Rework
  • Baseline
Unit Test Cases/Scripts
  • Prepare
  • Review
  • Rework
  • Baseline
Unit Test
  • Perform
BENEFITS

  • Unit testing increases confidence in changing/maintaining code. If good unit tests are written and if they are run every time any code is changed, the likelihood of any defects due to the change being promptly caught is very high. If unit testing is not in place, the most one can do is hope for the best and wait till the test results at higher levels of testing are out. Also, if codes are already made less interdependent to make unit testing possible, the unintended impact of changes to any code is less.
  • Codes are more reusable. In order to make unit testing possible, codes need to be modular. This means that codes are easier to reuse.
  • Development is faster. How? If you do not have unit testing in place, you write your code and perform that fuzzy ‘developer test’ (You set some breakpoints, fire up the GUI, provide a few inputs that hopefully hit your code and hope that you are all set.) In case you have unit testing in place, you write the test, code and run the tests. Writing tests takes time but the time is compensated by the time it takes to run the tests. The test runs take very less time: You need not fire up the GUI and provide all those inputs. And, of course, unit tests are more reliable than ‘developer tests’. Development is faster in the long run too. How? The effort required to find and fix defects found during unit testing is peanuts in comparison to those found during system testing or acceptance testing.
  • The cost of fixing a defect detected during unit testing is lesser in comparison to that of defects detected at higher levels. Compare the cost (time, effort, destruction, humiliation) of a defect detected during acceptance testing or say when the software is live.
  • Debugging is easy. When a test fails, only the latest changes need to be debugged. With testing at higher levels, changes made over the span of several days/weeks/months need to be debugged.
  • Codes are more reliable. Why? I think there is no need to explain this to a sane person.

TIPS

  • Find a tool/framework for your language.
  • Do not create test cases for everything: some will be handled by themselves. Instead, focus on the tests that impact the behavior of the system.
  • Isolate the development environment from the test environment.
  • Use test data that is close to that of production.
  • Before fixing a defect, write a test that exposes the defect. Why? First, you will later be able to catch the defect if you do not fix it properly. Second, your test suite is now more comprehensive. Third, you will most probably be too lazy to write the test after you have already fixed the defect.
  • Write test cases that are independent of each other. For example if a class depends on a database, do not write a case that interacts with the database to test the class. Instead, create an abstract interface around that database connection and implement that interface with mock object.
  • Aim at covering all paths through the unit. Pay particular attention to loop conditions.
  • Make sure you are using a version control system to keep track of your code as well as your test cases.
  • In addition to writing cases to verify the behavior, write cases to ensure performance of the code.
  • Perform unit tests continuously and frequently.

ONE MORE REASON

Lets say you have a program comprising of two units. The only test you perform is system testing. [You skip unit and integration testing.] During testing, you find a bug. Now, how will you determine the cause of the problem?

Is the bug due to an error in unit 1?
Is the bug due to an error in unit 2?
Is the bug due to errors in both units?
Is the bug due to an error in the interface between the units?
Is the bug due to an error in the test or test case?

For more: Click here


Wednesday, December 24, 2014

Clean Code – Is my code always readable?

Did you ever have to go back to a fragment of code that you wrote a month or year ago? How did it feel? Was it easy or did you have to figure out how it worked from scratch? If you need more than just one look, there is a good chance that you are doing something wrong. And if you scratch you head an think: “What the heck was I thinking?”, you have definitely done it wrong. But what have gone wrong? Most probably the code works fine and at some point you knew it inside out. Why can’t you remember it now? Maybe your code wasn’t written clearly enough and in accordance with best coding practices? Here are a few tips on how to write easily readable code not just for yourself but also for other developers.

Example of using coding standards

Consider the following method in C#:

public string transform(List<DateTime> s)
{string d = null;
foreach (DateTime kc in s)
{if (kc > DateTime.Now)
{ d = d + kc + "\n"; }
else { d = d + "Delayed\n"; }}
return d;}

At first glance you have no idea what it actually does or what it can be used for. But after short refactoring we can get:

public string GetText(List<DateTime> arrivalTimes)
{
    var stringBuilder = new StringBuilder();
    foreach (DateTime arrivalTime in arrivalTimes)
    {
        if (arrivalTime > DateTime.Now)
        {
            stringBuilder.AppendLine(arrivalTime.ToString());
        }
        else
        {
            stringBuilder.AppendLine("Delayed");
        }
    }
    return stringBuilder.ToString();
}

Or if we apply the “?:” operator, we will get:

public string GetText(List<DateTime> arrivalTimes)
{
    var stringBuilder = new StringBuilder();
    foreach (DateTime arrivalTime in arrivalTimes)
    {
        string message = arrivalTime > DateTime.Now ? arrivalTime.ToString() : "Delayed";
        stringBuilder.AppendLine(message);
    }
    return stringBuilder.ToString();
}


What has actually happened to the code? Several modifications have been made to increase its readability:
1. The name of the method has been changed from one that really doesn’t say anything to one that is       a little bit more descriptive.
2. The way of naming the variables was changed:

  • “kc” was changed to arrivalTime,
  • “s” was changed to arrivalTimes,
  • “d” was changed to stringBuilder,

It also much easier to understand what each variable is responsible for and how it was used.

3. Parentheses have been standardized to one format.
4. Tabs have been added to increase readability, spacing, and nesting in braces.
5. The “?:” operator has been used to reduce the length of the code by 4 lines.
6. The StringBuilder class was added to avoid string concatenation  (“string” + “string”). Although some may argue that creating the StringBuilder instance will slow down the method due to its memory allocation, I would like to remind everyone that string concatenation creates a lot of allocation for Garbage Collector to clean up. It is considered that ~5 string concasts are equal to creating instances of StringBuilder, so if a list consists of 5 or more elements the performance of this method will actually increase. And for larger collections this method will work several times faster.

Useful links:

But how can you know what conventions you should use when writing a code? Where to look for all good practices? And where to find all (or most) of this knowledge? For C# coding conventions I recommend: http://msdn.microsoft.com/en-us/library/ff926074.aspx Although these examples are written in C# all the same principles apply to Java. For Java coding conventions I recommend: https://google-styleguide.googlecode.com/svn/trunk/javaguide.html And if you are interested in writing code that is not only useful but also readable, check out this website: http://code.tutsplus.com/tutorials/top-15-best-practices-for-writing-super-readable-code–net-8118

















11 Best Technology Jobs of 2015

Employment numbers are already high within the tech industry, but this is expected to be one of the fastest-growing fields between 2012 and 2022. When you consider this industry's high job prospects and well-paying occupations, it's easy to see why our No. 1 job overall hails from this part of the workforce. Read more on how we rank the jobs, and also check out our full list of the 11 Best Technology Jobs of 2014.

#1.Software Developer
These professionals are the brains behind your Candy Crush obsession and Android phone dependency. They might be applications developers, who design computer software, databases and games, or they could be systems-focused developers, who are responsible for building operating systems. Growth for both types of IT professionals should balloon: The Labor Department predicts there will be nearly 140,000 brand new positions created before 2022.

#2.Computer Systems Analyst
To excel in this job, you need to be both goal-focused and process-oriented. Computer systems analysts must understand computer hardware, software and networks and how they work together, so they can make recommendations to organizations for the best operations systems to use. The Labor Department predicts 24.5 percent employment growth for this job by 2022.

#3.Web Developer
Web developers are responsible for the sleek fonts and clean layout you love on your favorite websites. The Labor Department considers this one of the fastest-growing jobs this decade and predicts employment should swell at a rate of about 20 percent by 2022.

#4.Information Security Analyst
If you've watched the news this year, then you probably have a good idea how important this IT professional is to companies and the government – as analysts plan and monitor security of computer networks. You probably also aren’t surprised by how much this occupation will grow: 36.5 percent by the year 2022.

#5.Database Administrator
This fast-growing profession involves setting up databases to fit a company's need, then maintaining those database's operations. The Labor Department predicts this field will add 17,900 new positions by 2022.

#6.Civil Engineer
Part of the payoff to this job is looking around and seeing the fruits of your skill and labor. Civil engineers have a hand in building bridges, retrofitting buildings and damming reservoirs. By 2022, there should be 53,700 new openings for civil engineers.

#7.Mechanical Engineer
This job is a perfect blend of right- and left-brain thinking: Mechanical engineers shepherd devices from the theoretical design phase to the technical production phase. The profession makes our list for its low unemployment rate of 3.1 percent and comfortable median salary of $80,580.

#8.IT Manager
IT managers are the go-to personnel when your email won’t send or your word processor won't open. As the head of the IT department, they triage the operations of an organization's technical network, and they're a growing profession. Expect 50,900 new positions by the year 2022.
Full Review | Salary Details | Available Jobs

#9.Computer Programmer
Patience and a generous understanding of how computers function will benefit those interested in computer programming. These IT specialists rewrite, debug, maintain and test the software and programs essential to key computer functions. The Labor Department predicts employment growth for programmers of 8.3 percent between 2012 and 2022.

#10.Computer Systems Administrator
Network and computer systems administrators keep your emails sending and your Web pages loading, plus they lend their tech-savvy skills to managing telecommunication networks. This profession is expected to add 42,900 new positions by 2022.

#11.Computer Support Specialist
Help Desk. Geek Squad. We’ve come up with simplistic terms for professionals whose job description is anything but simple. Computer support specialists maintain the software and hardware for a company’s IT professionals and non-IT users. Although it’s one of the lower-paying positions on our tech jobs list, it is one of the fastest growing. With an estimated 123,000 new computer support specialists by 2022, this occupation could swell by 17 percent.

For more : click here

Thursday, December 18, 2014

30 jQuery Drag and Drop Plugins for Developers

1. Dropper
2. Fancy Product Designer
3. Dragdealer
4. jQuery Ajax File Uploader
5. jDashboard
6. FieldChooser
7. File API
8. Fancytree
9. Gridly
10. Zoomer
11. jqTree
12. Dropzone.js
13. Gridster.js
14. Cyclotron
15. Onebyone Slider
16. JS Tree
17. Pep
18. Table DND
19. jQuery Kinetic
20. Azexo Composer
21. Lazy Line Painter
22. HTML5 Sortable
23. Percentage Loader
24. jQuery Drag Expose
25. jOrgChart
26. Nestable
27. jQuery Dragmove
28. Dynatree
29. Interact.js
30. Easy Scroll

For more: Click here

15 Characteristics Of A Good Programmer

1. Impressive technical skills.
One mistake many hiring managers make is hiring from a checklist of requirements. Instead of requiring three years of C++ and one year of Java, look at the big picture. A programmer who has worked mostly in an older language but has recently added a new language to his certifications may be the perfect fit, since his years of experience give him a great foundation in other areas of programming.

Sample interview question: Describe your experience with different programming languages.

2. Willingness to learn.
Technology is always evolving and the skills and abilities a programmer has today will likely be outdated in a few years. It’s important to find a programmer who has an interest in following the latest trends and is eager to participate in any continuing education opportunities that are available.

Sample interview question: What do you do to keep your programming skills current?


3. Debugging skills.
Creating code is only part of a programmer’s job. When software doesn’t work as expected, a programmer is expected to get to the root of the problem quickly and effectively. Instead of spending hours blindly making changes, search for a programmer who prefers to carefully investigate his code and research possible issues until an answer is found.

Sample interview question: How do you handle bugs in your code? (next, I would give them a trial run to debug code)

4. Work environment match.
Some programmers require complete silence to concentrate, while others thrive in chaos. A worker’s personal preferences are an important part of his productivity, so it’s best to be clear about your office environment up front to avoid problems after the person is hired.

Sample interview question: Describe your ideal work environment.

5. Problem-solving skills.
For those who have never attempted to create an application from scratch, programming can best be compared to solving an extremely difficult math equation. A good programmer thrives on finding ways to make something work, despite the odds. Otherwise, you may be hearing the phrase, “That can’t be done,” every time you propose an innovative new project.

Sample interview question: How would you create (insert near impossible task for your organization)?

6. Passion for the work.
While some programming staff can simply serve as nine-to-fivers, many hiring managers are interested in finding someone who will gladly put in long hours when the situation merits it. Often these employees can be found during the interview process by their outside interests. True programmers are self-proclaimed “computer geeks,” spending their time gaming, building servers, or creating apps for friends. While this passion isn’t a necessity, it’s often a way to find top-shelf candidates.

Sample interview question: What are your hobbies?

7. Grace under fire.
It may not seem like it to the outsider, but programming can be an extremely stressful profession. When deadlines are tight and nothing seems to be working, it’s easy to freeze up. The ideal programming candidate will be able to handle even the most stressful situations calmly and, most importantly, be able to continue working.

Sample interview question: Describe a time when you were under extreme pressure and your application wasn’t working. What did you do?


8. People skills.
Programmers generally aren’t expected to have heavy-duty customer service talents. It seems to be understood at the outset that they’ll mostly be sitting in front of a computer all day. Yet programmers are regularly expected to interact with managers, co-workers, and clients, so the ability to work well with others is a must. This is especially true if your programmers are occasionally asked to participate in client meetings and explain how a system works.

Sample interview question: Explain how your favorite application works in a way a layman would understand.

9. Laziness.
Larry Wall, the original author of, The Perl Programming Languages, describes three good qualities in a good programmer: laziness, impatience and hubris. Laziness may sound like a bad trait for any employee to have, but IT managers have said that if you want to find the best way to do something, ask a lazy person. Chances are, that person will have found the quickest, most efficient way to do it. A company’s programming staff can often find a way to automate processes, saving time and money.

Sample interview question: Tell us about a time when you saved time by automating a process.

10. A business perspective.
It’s easy to lose sight of the big picture while focusing on creating one piece of software. The ideal programmer has a business focus that allows him to move beyond the current application. A business-focused programmer will suggest ideas for new applications that can improve operations.

Sample interview question: Have you ever made a suggestion that improved a business’s processes?

11. Ability to plan.
Rather than jumping into a new assignment, a good addition to your programming staff will first learn as much as possible about the desired end product. Once he’s completed that analysis, the programmer will first design the program structure before typing the first line of code.

Sample interview question: Explain your approach to a new design. What do you do first?

12. Ability to handle failure.
Programmers rarely get everything right on the first try. In fact, failure is almost a certainty. It’s important to find programming staff that sees errors and bugs as a challenge rather than a sign of defeat. Persistence is important, as well as the ability to start over if necessary, even after hours of work.

Sample interview question: Have you ever spent hours on a code, only to find it was the wrong approach? What did you do?

13. Teamwork mentality.
A programmer rarely works alone, even if he’s the only developer in a company. The ability to work with programmers, business users, marketing and sales staff, and fellow programmers is essential.

Sample interview question: Share a rewarding team experience.

14. Willingness to research.
A programmer’s language is only part of the picture. A good developer must learn about specific industries in order to design programs that work for its employees or customers.

Sample interview question: Tell us about a time you had to learn about a particular business? How did you do your research?

15. Respect for deadlines.
Most programmers work on projects with deadlines. While it’s important that managers understand a reasonable turnaround time for coding a new application or repairing an existing one, programmers should also show respect for deadlines. It’s important to determine that an applicant will do everything possible to meet assigned deadlines.

Sample interview question: Describe a time when you had to meet a tight deadline.

It isn’t easy to find the right programmer, especially if your knowledge of programming is limited. One way to improve your hiring experience is to invite a member of your programming staff to participate in the interviews. They help to ask the questions that you won't know how to ask.

For more: Click here

Wednesday, December 17, 2014

Start With Sharepoint

Sharepoint:  Used to share information and document between staffs in an organization in an efficient way. It is an enterprise collaboration platform.

Mainly used for: Document Management, Portals, eforms, Workflows, Business intelligence application.

Sharepoint hierarchy:




Server Farm: It is a collection of one or more SP servers that work in concert to provide a set of sharepoint services that support a single site.

Web application: It is a website in IIS. Content database will be created for each webapplication.
Used for restrict users and customize page and to capture data.

Site Collection: Root site of the website. Below site collection there can be one or more sites.

Sites: Collection of web pages which is used to store info in an organized way.
It provides controlled access to share info among users. i.e only authorized users are allowed to access information


                   

Tuesday, December 16, 2014

Difference between onclick and onclientclick

OnClick will work on server side

OnClientClick will execute on client side before control passed to server.

If the client side code returns TRUE then it will go to server.

Generally programmers use onclientclick to validate the controls like textbox,etc.


Friday, December 12, 2014

15 Top Paying IT Certifications for 2014

1. Certified in Risk and Information Systems Control (CRISC)
Average Pay: $118,253

2. Certified Information Security Manager (CISM)
Average Pay: $114,844

3. Certified Information Systems Auditor (CISA)
Average Pay: $112,040

4. Six Sigma Green Belt
Average Pay: $109,165

5. Project Management Professional (PMP®)
Average Pay: $108,525

6. Certified Scrum Master
Average Pay: $107,396

7. Citrix Certified Enterprise Engineer (CCEE)
Average Pay: $104,240

8. Citrix Certified Administrator (CCA) for Citrix NetScaler
Average Pay: $103,904

9. Certified Ethical Hacker (CEH)
Average Pay: $103,822

10. ITIL v3 Foundation
Average Pay: $97,682

11. Citrix Certified Administrator (CCA) for Citrix XenServer
Average Pay:  $97,578

12. ITIL Expert Certification
Average Pay: $96,194

13. Cisco Certified Design Associate (CCDA)
Average Pay: $95,602

14. Microsoft Certified Systems Engineer (MCSE)
Average Pay: $95,276

15. Citrix Certified Administrator (CCA) for Citrix XenDesktop
Average Pay: $95,094

Conclusion

If you're looking to improve your skills (and your pay!), consider adding one or more of the certifications above. Consider your current skill set and see if a related skill or a management skill may help power your career to the next level. For example: If you already know storage or networking, consider a certification in virtualization. Or, break out of your technical track into a management track by taking ITIL or PMP training and getting certified in one of those areas.

For More Info: Click here

Thursday, December 11, 2014

10 Best Bug Tracking Tools For Developers


  1. BugLogHQ
  2. StackHunter
  3. BugDigger
  4. Airbrake
  5. BugHerd
  6. Takipi
  7. Sifter
  8. Sentry
  9. Exceptional
  10. Raygun
For more: Click here

Wednesday, December 10, 2014

Top 25 Companies for Best Culture and Values

Here's the list of Top 25 Companies for Culture & Values highlights companies where employees are most satisfied with this part of where they work.”

25. NetApp
Location: Sunnyvale, Calif.
Culture and Values Rating: 3.8

Recent Employee Feedback: “Supportive management. Company culture is great. Good ideas and work are appreciated.” – NetApp Employee

24. Progressive Insurance
Location: Cleveland, Ohio
Culture and Values Rating: 3.9

Recent Employee Feedback: “Progressive is in a constant state of change and improvement, is extremely transparent and promotes a sincere customer service culture.”

23. Discover
Location: Deerfield, Ill.
Culture and Values Rating: 4.0

Recent Employee Feedback: “Discover offers great benefits. I am also very pleased with the amount of overall good they try to do as a company.

22. REI
Location: Kent, Wash.
Culture and Values Rating: 4.0

Recent Employee Feedback: “I love what REI stands for and find it easy to talk about the Co-Op. I really appreciate the direction that executive management is taking our company.”

21. Procter & Gamble
Location: Cincinnati, Ohio
Culture and Values Rating: 4.0

Recent Employee Feedback: “Procter and Gamble gives fantastic training and truly wants you to succeed as an individual. The culture in the plant is very positive and I feel like everyone wants to help one another.”

20. Adobe
Location: San Jose, Calif.
Culture and Values Rating: 4.0

Recent Employee Feedback: “Great perks, benefits. Adobe strives to be a good corporate citizen, fosters innovation and creativity.”

19. Citrix Systems
Location: Fort Lauderdale, Fla.
Culture and Values Rating: 4.0

Recent Employee Feedback: “Culture and good values define who we are as a company. There is an ongoing commitment to improve the customer journey and ensure our product strategy is well defined.”

18. USAA
Location: San Antonio, Texas
Culture and Values Rating: 4.0

Recent Employee Feedback: “They believe in and live their mission statement every hour of every day. The work culture is super fun! This company has great core values and plenty of room for promotions.”

17. Disney
Location: Beaverton, Ore.
Culture and Values Rating: 4.0

Recent Employee Feedback: “Fantastic heritage, pride and culture, wonderful community, amazing growth opportunities, creative atmosphere.”

16. Nike
Location: Beaverton, Ore.
Culture and Values Rating: 4.1

Recent Employee Feedback: “Amazing company to work for. Good culture, fun, high energy and lots of reasons to stay.”

“Youthful, informal culture, good work-life balance.”

15. Apple
Location: Cupertino, Calif.
Culture and Values Rating: 4.1

Recent Employee Feedback: “Everyone shares a common goal to make the best products for the consumer, and it shows in most every conversation you have.”

“Great culture of incredibly intelligent and passionate people, plus good benefits for even part timers, like stock purchase plan, hardware and software discounts on not just apple products, but third part accessories.” 

14. Genentech
Location: South San Francisco, Calif.
Culture and Values Rating: 4.1

Recent Employee Feedback: “Extremely talented and motivated people collaborating in a unique ‘mission driven’ culture.” 

13. CDW
Location: Vernon Hills, Ill.
Culture and Values Rating: 4.1

Recent Employee Feedback: “The people! They really want to help you. The culture truly promotes the coworker and you do have a say in a large company.” 

12. Wegmans
Location: Rochester, New York
Culture and Values Rating: 4.1

Recent Employee Feedback: “The company has good values and goals and does a good job of living by them.” 

11. Intuit
Location: Mountain View, Calif.
Culture and Values Rating: 4.1

Recent Employee Feedback: “Top leaders show by decisions and actions that they believe in the top value of ‘integrity without compromise.’ Most employees strive for transparency and honesty in how they do their work. Intuit values their employees and has the best attributes of Silicon Valley companies while being committed to diversity and ‘we care and give back.’

10. H-E-B
Location: San Antonio, Texas
Culture and Values Rating: 4.2

Recent Employee Feedback: “HEB has excellent leadership and growth opportunity. The culture is very worker friendly and they always strive to do the right thing.” 

“Company has great values and sense of community. Encourages growth and learning and working in teams.”

9. Chevron
Location: San Ramon, Calif.
Culture and Values Rating: 4.2

Recent Employee Feedback: “Intelligent people who treat each other with respect. Chevron ‘walks the talk’ regarding our values and the Chevron Way.” 
“Diversity is truly embraced. The Chevron Way is a positively enforced moral code.”

8. National Instruments
Location: Austin, Texas
Culture and Values Rating: 4.2

Recent Employee Feedback: “The culture is one of a kind and you can be creative in how you do your job. They encourage personal growth.”

“The company culture is fantastic—people are approachable, the attitudes are positive, there’s a lot of energy in every department.” 

7. Chick-fil-A
Location: Atlanta, Georgia
Culture and Values Rating: 4.3

Recent Employee Feedback: “Flexible schedule. Good leadership. Company makes decisions based on good principles.”

“The values that the company holds. Its very family oriented and we (employees) try to provide outstanding customer service.” 

6. Southwest Airlines
Location: Irvine, Calif.
Culture and Values Rating: 4.3

Recent Employee Feedback: “The people are friendly and helpful. The culture fosters hard work and fun.”

5. Facebook
Location: Menlo Park, Calif.
Culture and Values Rating: 4.3

Recent Employee Feedback: “Facebook truly values the important things in life (to me, at least). The culture and dialog is open about everything. Whether it’s with your manager, on your team or concerning a company-wide issue.” 

“This company really cares about its mission and people. It gives you the skills and opportunities to grow.”

4. Riverbed Technology
Location: San Francisco, Calif.
Culture and Values Rating: 4.3

Recent Employee Feedback: “Culture is great and this is exemplified by the CEO, great benefits and of course technology.”

3. Google
Location: Mountain View, Calif.
Culture and Values Rating: 4.4

Recent Employee Feedback: “The culture is amazing too. Each employee does not mind helping the other out if they are stuck. I feel it is encouraged to reach out to others.”

“A culture of respect, and opportunity to work on interesting things, and interact with many different people.” 

2. Edelman
Location: Chicago
Culture and Values Rating: 4.4

Recent Employee Feedback: “Through the actions of middle to senior management, you are truly made to feel valued and appreciated. Opportunities are everywhere and the culture is laid back and fun.” 

“Consistently challenged, but supported. Compensation is above average, and the company culture is amazing.” 

1. Twitter
Location: San Francisco, Calif.
Culture and Values Rating: 4.5

Recent Employee Feedback: “Team meetings on the roof are the best, great teamwork and a lot of smart people. I love how the 10 core values drive the company to always be better.” 

Source:Click here

Inside Update panel Datetime Control is not working

Problem
Suspect that because date time control is located under update panel, and page didn’t manage to load in picker’s javascript.

Just add the following script in your design page:
<script type="text/javascript" src="/_layouts/datepicker.js"></script>



Missing “Save Site as Template” in Sharepoint 2013

1. Open you Team Site in SharePoint Designer 2013.
2. In SharePoint Designer, under Sites tab select “Site Options”
3. Find “SaveSiteAsTemplateEnabled” in Site Properties

4. Next change this setting to “true”.


Apply the Setting once done.

Now open site settings. You can see the Save site as template under Site Actions

This will help you to activate that feature

Event Receivers vs Workflows

Event Receivers
Workflows
Can execute either before or after the operation
Always executes after the operation
Can cancel the operation
Cannot cancel the operation as the item will have already been created
Cannot be launched manually by the user
Can be started manually by the user
Not designed for user interaction
Specifically designed for user interaction
Can execute in response to many different actions, including deletes
Can only execute in response to one of four events – Manual, an item being created, an item being edited, and an item being submitted for approval
Must be created in Visual Studio
Can be created with Visual Studio, Visio or SharePoint Designer

The main key when choosing between a workflow and an event receiver is the need for a UI. If user interaction is required to process an item a workflow is almost always going to be your best choice. If you need to respond to an event other than the four allowed for by a workflow, or the operation is completely automated, then an event receiver is the best option.

OOB Feature to remove list items

Information Management Policy

This will help you to remove list items without code.

List/Library Settings ->Information Management Policy ->Content Types(Change source) -> There will be two options: Content type(Default), Library and Folders -> Select Library and Folders -> OK ->Add a retention stage -> There you can select your options(Whether remove to bin or permanently and timings).




Welcome to programming.

·         Programming is really hard. No matter how good you get at programming, the only thing which slows you down is your ability to learn & solve problems. This seems to become more true as you get better at it. This is a fantastic trait - you will never be bored programming. If you are, you're doing it wrong and you should abstract over the set of code you're rewriting.

·         No matter how frustrating your problems are, there is almost certainly a solution out there. As you get better at programming, you'll get better & more confident at getting unstuck yourself. This makes the sense of frustration get better, and will push you to solve ever harder problems. (They're no fun if they're easy!)

·         When we were kids, we were bad at everything but we didn't notice. As adults, we have very few opportunities to be bad at something. Embrace the feeling - it is totally normal, and you're doing something not everyone is capable of doing.

·         Use the internet. Every problem you have in the first year you learn to program is a problem 100 other people have had before you. And all the answers are recorded online. The sooner you become effective at googling for programming help, the happier you'll be. Don't ever take any code snippets you find online if you don't understand how they work.

·         The best way to get better at programming is to write lots of code, read lots of code. Just keep making stuff.

·         There's lots of programmers who are more clever than both of us. They've written lots of code already that you can read if you want. It's probably on github.

·         There is no 'best language'. Some languages & tools are better at solving some problems than others. As you learn different languages, don't try and port your old thinking to the new system. Instead learn how to program idiomatically in the new language.

·         Be playful. Be silly. Because geniuses always can’t find solutions. Being silly will always give you solution but you should pick the right solution. Programming is a giant lego set full of fun problems waiting to be solved. Spend time making toy programs just for the hell of it. It's much more fun than whatever assignments you're given.

·         When you're stuck, write your program on paper. I'm serious. It's magic. This is standard practice in programming competitions. (I think it works because when you don't have to think about syntax you have more brain to solve the actual problem).

Credits: Joseph Gentle



Restricting Custom People Picker to only one Sharepoint group programatically

Refer the following script files in your page,     <!-- For People Picker -->     <script type="text/javascript" src...