Hiring and IT salaries are high after 2 years of decline. Analyzing four areas namely databases, applications, languages and platforms Dennis.B.Moore has arrived at few exciting results like there is 6.1% increase in Sal. & hiring in past three months and by 46% increase in the past year. He also gave some surprises for the job seekers regarding the present trends in the industry and technologies the freshers should be trained in.
Here are the few up’s and down’s in the demands…of the industry,
Demand for Hadoop jobs are slower than the no SQL related jobs, ofcourse still RDBMS is popular and strong.
Demand for Oracle e-business suite dipped instead SAP hiring and PeopleSoft has grown.
SilverLight surpassed flash in total number of jobs with 982 and left only 646 joblistings for the later.
Demand for ipad skills decreased by 3.5% and however ios skills increased by 24.9%, MACOS is an exception as Moore didn’t tracks its present status.
Android had 1,019 jobs which beats ios with 832 job , but ios is growing faster than android.
There is increased demand in skills for Facebook and twitter, 600 million users all over the world access facebook which is very popular among everyone from 10 yrs of age to 70 yrs.
Azure was the fastest growing platform, with 80.7% growth. But it still trailed Amazon in total number of jobs 1,019 to 103.
The five programming languages with the top growth in the past three months were:
“There was such strong demand growth for all skills, that it is more useful in this category to speak about the area of weakest growth – Adobe Flash,” Moore wrote.
The top languages, by total number of jobs, were:
1. HTML (9,736 jobs)
2. XML (9,651)
4. C# (7,940)
Technologies in Limelight:
• Microsoft professionals are doing well, with strong growth in C#, Silverlight and Azure.
• Java is still sitting pretty.
• SAP is rebounding.
• Oracle database skills remain vital, but other Oracle applications are questionable.
• Demand for CRM skills are in decline, with Siebel, Salesforce.com and Microsoft Dynamics all taking hits in the past three months.
• NoSQL is a small but growing niche.
Courtesy:Dennis.B.Moore, Dice.com, readwriteweb.com
I really donno where to start, its kinda confusing/funny to compare java with other languages.
But im sure you gotta know some cool stuff around there hidden from you all the time.
Lets look at C, R, Python, PHP, Erlang,.
C : its the fastest, secure, lightweight, efficient programing language known to man after assembly language. C can handle any request in three ways like no other programming language. Those are by
- OS Interrupts.
- ROM/BIOS Interrupts.
- Communicating directly with hardware.
For decades newbies who became professional programmers misunderstood and underestimated C because of these features. We just learn if, for, switch, while, array, function, trees programming concepts by C and cheat ourselves that we learnt C. In fact C is like Sea, where ever you see is water but huge miracles, mysteries in the bottom.
They dont want you to have in-depth knowledge of programming (VDU, µp, DMA Controller, Network I/O, Peripheral I/O, Kernel,.. what not? ) in computer by learning C. Almost every software you see has been programmed in C/C++ (Most of it or partially). With C you can attain maximum performance, memory efficiency, security,..
We have been told that C is low level, not secured because of pointers, machine dependent, need to write lot of code to do simple things and so on.
- Low level language mean its very near to hardware. That means there is no need of any other joker to run it like JVM/JRE.
- Pointers: Yeah good point, with out pointers no computer will run. What? yeah true! without using pointers everything is blind. Then how our windows/linux, ms-office, browsers, notepad, dos-prompt, calculator, computer games, databases, most importantly Java and VB.Net programs,.. are working? Because of using pointers under the hood.
Alchemy: is a technique of turning any metal into gold.This technique lost in the past because there will be no king and god if every one have gold and the society will be like Russia once it was without religion so god and king with heavy growth in technologically, socially, ethically.
Like that no one want you to know pointers, instead live in a lie that pointer is evil.
- Machine dependent, yeah its proud to be machine dependent instead of depending on jokers and buffoons to run semi compiled programs. Machine dependency makes C program faster because there is no doubt in executing instructions as its compiled for the very specific platform. I have never heard of software changing entire hardware platform every month.
R : Its being widely used by top 100 companies for statistical analysis of data and to build graphs.
Python : Python is really flexible clean, dynamic,.. its the dream of every programmer. You can lean python in a week an start programming. Most of google and its services is on python. Python is really good at text processing, scientific calculations,..
PHP : There will be no single web developer who never heard of PHP and its awesome performance. Its simple, fast, lightweight and so on. Yahoo, Facebook, Wikipedia, WordPress Digg, Flickr, Sourceforge, etc,.
Erlang : Its needless to say about erlang having great software implementing it.
- CouchDB, a document based database that uses MapReduce
- ejabberd, an Extensible Messaging and Presence Protocol (XMPP) instant messaging server (Facebook Chat system, based on ejabberd)
- GitHub egitd, a replacement for stock git-daemon that ships with Git
- Membase, database management system optimized for storing data behind interactive web applications.
- RabbitMQ, an implementation of Advanced Message Queuing Protocol (AMQP)
- SimpleDB, a distributed database that is part of Amazon Web Services
- Twitterfall, a service to view trends and patterns from Twitter
- Wings 3D, a 3D modeller
- Riak, a distributed database
First learn C then Python and PHP to know where you are and what you are doing. See and learn Linux Kernel, Git.
Lets see java, It has been started as an idea of running program on every platform by removing execution header and implementing JRE. Its very good till now. Now bad things started happening, people told “its a secure programming language by stripping pointers” to promote Java and kids who know nothing started believing. Removing pointers is disabling a programming language. Thus make java capabilities subset of C.
After java came out of Sun, they started thinking how to do everything with java and that changed java’s fate and masked our path towards practical knowledge.
Spring, Hybernet, Applet, JSP, Java Server Faces, Swing, AWT, Beans, Struts, Servelets, J2ME, JavaFX, and so on. All this nonsense piled up in java since 1.0.
Adobe Acrobat and Adobe Flash are among the most targeted software for security exploits. In 2010, targeting of Java security exploits increased significantly, resulting in Java becoming far more targeted than Acrobat or Flash. This targeting appears to be tied to high numbers of computers with Java installed and the high percentage of computers that have not been updated with Java security updates.
Any application developed in native language (machine dependent) is 10x faster than java. We need small programs with tiny memory footprint to work on handheld devices, so look around into better technologies developed for specific purpose those are faster, feature rich, brilliant, best of their kind.
Pattern is a collection of open source (BSD license) web mining modules for Python from the Computational Linguistics and Psycholinguistics Research Center. It contains tools for data retrieval, text analysis and data visualization and comes with over 30 sample scripts.
Pattern consists of six main modules:
- pattern.web: A toolkit that includes APIs for various Web services, including Google, Gmail, Bing, Twitter Wikipedia and Flickr. It has its own HTML parser and Web spider.
- pattern.table: A module for working with tabular data, used for storing data from the pattern.web module.
- pattern.en: A natural language processing toolkit for English.pattern.search: A module containing a search algorithm.
- pattern.vector: A module containing various tools for analyzing the text of a document.
- pattern.graph: A module for data visualization using Canvas.
What topics are the big three software giants focused on? Their press releases show what areas of their business they want the media to cover, so I thought analyzing them in bulk might reveal some of their priorities.
I started off by downloading every press release that Apple, Google and Microsoft have released in 2011, and then built word frequency cloudsbased on the text. My data-mining didn’t uncover any secret messages hidden in the releases, but the visualizations do give a flavor of what’s on their minds.
Apple has a characteristically minimalist set of press releases, with just a handful since the start of the year. With the recent big news of the release of a Verizon iPhone, it’s no surprise to see mobile terms high on the chart, but the Mac brand is still at the center of Apple’s public story.
What I wasn’t expecting was the emphasis on the new desktop App Store, with multiple stories pushing the service, so it’s obviously a big priority for the company. It’s also interesting to see “customers” show up prominently, reflecting the company’s consumer focus.
Google doesn’t do press releases, so I analyzed its official blog instead. There’s a lot more material than Apple, over 360,000 words just since Jan. 1! Search is the most popular word, but it’s clear that YouTube is a bigger part of its public face than I’d expected, with video making a strong appearance, too. Mobile and Android aren’t as strong as I’d have expected, with Chrome only making a middling showing as well. I wonder if it says something about the company culture that “data” shows up more often than “information”?
What’s clear from Microsoft’s cloud is that it’s now undeniably an enterprise company, as its Dynamics CRM product is mentioned more often than Windows, and “business” beats out “customers.”
I wasn’t expecting to see how much of an emphasis it’s putting on the healthcare industry, too, with multiple announcements of deals and technologies for both insurers and providers. “Information” beats out “data” for Microsoft, and “technology” and “experience” are prominent, which seems to fit with the company’s culture. There’s very little coverage of Web technology, with Bing and Azure only receiving a handful of mentions each. Mobile does a bit better, but it’s clear management’s mind is focused on the money-making opportunities of selling to large organizations, not fighting it out in the consumer trenches.
User testing with eye-tracking software can be an expensive undertaking. But a startup on stage today at LAUNCH may offer a way to simplify that process – both in terms of cost, testers and technology.
YouEye uses a webcam to record users’ behavior on a website. Eye-tracking can point to the areas on your site where users are drawn and those that they ignore. By using an online, Web-based and webcam solution, the service means that you can avoid complex eye-tracking cameras, and in turn, recruit testers without requiring they own specific equipment.
YouEye allows you to easily set up the tests and collect and share the results. The testing includes not just eye movements, but also the mouse activity and audio recorded. You can watch the test results, listen to testers’ running commentary and “see what users see.”
YouEye runs on a subscription model, based on the number of tests and testers. The startup is in beta, but you can sign up on the site for access.
As noted at MyNoSQL, there are only a couple commits and it’s not clear how serious this project is. But it will be of interest to big data, MapReduce and BigTable buffs.
Cloudata differentiates itself from Hadoop by offering an indexed but still non-relational database, but is probably more comporable to HBase and Hypertable, which are also open source BigTable implementations. The project’s website claims Cloudata can retrieve data within a few milliseconds.
Here’s a list of the current features:
Basic data service
- Single row operation(get, put)
- Multi row operation(like, between, scanner)
- Data uploader(DirectUploader)
- Simple cloudata query and supports JDBC driver
- Web based Monitor
- CLI Shell
- Master failover
- TabletServer failover
Change log Server
- Reliable fast appendable change log server
- Java, RESTful API, Thrift
One of the primary ideas behind IBM’s Smarter Planet concept is a web of sensors all over the planet, leading to a data explosion. But what if that web of sensors was more directly under the public’s control? Strategic forecast consultant Chris Arkenberg hits on an interesting idea in arecent blog post. He muses on the idea of using mobile phones for grid computing, a la SETI@home, to create massive distributed supercomputers for processing all of this data. “Consider the processing power latent across a city of 20 million mobile subscribers, such as Tokyo,” he writes.
Arkenberg takes the idea further by suggesting that sensors could be built into mobile phones that could monitor air quality or act as a sort of distributed surveillance system. The possibilities are endless. “Consider what could be done with an API for addressing clusters of mobile sensors,” he writes.
The idea reminds me of Open Sailing‘s SwarmOS, which aims to help individuals make decisions based on the collective intelligence reported by “swarms” of users with mobile phones. Adding sensors to that mix is a powerful notion.
Arkenberg warns that such a network and API could also be exploited by insurgents, criminals or regimes. Much like the massive data sets created by surveillance, there’s a lot of potential for unsavory uses of this sort of data. But the mind boggles at the possibilities.
Although there’s a clear possibility for abuse by authorities, a decentralized approach to measuring air quality could help check authorities. For example, The Economist reported last week that the mayor of Madrid has been accused of moving air pollution monitoring systems from the city’s streets to parks, where the sensors would detect less pollution.
While SQL databases are insanely useful tools, their tyranny of ~15 years is coming to an end. And it was just time: I can’t even count the things that were forced into relational databases, but never really fitted them.
But the differences between “NoSQL” databases are much bigger than it ever was between one SQL database and another. This means that it is a bigger responsibility on software architects to choose the appropriate one for a project right at the beginning.
- Written in: Erlang
- Main point: DB consistency, ease of use
- License: Apache
- Protocol: HTTP/REST
- Bi-directional (!) replication,
- continuous or ad-hoc,
- with conflict detection,
- thus, master-master replication. (!)
- MVCC – write operations do not block reads
- Previous versions of documents are available
- Crash-only (reliable) design
- Needs compacting from time to time
- Views: embedded map/reduce
- Formatting views: lists & shows
- Server-side document validation possible
- Authentication possible
- Real-time updates via _changes (!)
- Attachment handling
- thus, CouchApps (standalone js apps)
- jQuery library included
Best used: For accumulating, occasionally changing data, on which pre-defined queries are to be run. Places where versioning is important.
For example: CRM, CMS systems. Master-master replication is an especially interesting feature, allowing easy multi-site deployments.
- Written in: C/C++
- Main point: Blazing fast
- License: BSD
- Protocol: Telnet-like
- Disk-backed in-memory database,
- but since 2.0, it can swap to disk.
- Master-slave replication
- Simple keys and values,
- but complex operations like ZREVRANGEBYSCORE
- INCR & co (good for rate limiting or statistics)
- Has sets (also union/diff/inter)
- Has lists (also a queue; blocking pop)
- Has hashes (objects of multiple fields)
- Of all these databases, only Redis does transactions (!)
- Values can be set to expire (as in a cache)
- Sorted sets (high score table, good for range queries)
- Pub/Sub and WATCH on data changes (!)
Best used: For rapidly changing data with a foreseeable database size (should fit mostly in memory).
For example: Stock prices. Analytics. Real-time data collection. Real-time communication.
- Written in: C++
- Main point: Retains some friendly properties of SQL. (Query, index)
- License: AGPL (Drivers: Apache)
- Protocol: Custom, binary (BSON)
- Master/slave replication
- Better update-in-place than CouchDB
- Sharding built-in
- Uses memory mapped files for data storage
- Performance over features
- After crash, it needs to repair tables
- Better durablity coming in V1.8
Best used: If you need dynamic queries. If you prefer to define indexes, not map/reduce functions. If you need good performance on a big DB. If you wanted CouchDB, but your data changes too much, filling up disks.
For example: For all things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back.
- Written in: Java
- Main point: Best of BigTable and Dynamo
- License: Apache
- Protocol: Custom, binary (Thrift)
- Tunable trade-offs for distribution and replication (N, R, W)
- Querying by column, range of keys
- BigTable-like features: columns, column families
- Writes are much faster than reads (!)
- Map/reduce possible with Apache Hadoop
- I admit being a bit biased against it, because of the bloat and complexity it has partly because of Java (configuration, seeing exceptions, etc)
Best used: When you write more than you read (logging). If every component of the system must be in Java. (“No one gets fired for choosing Apache’s stuff.”)
For example: Banking, financial industry (though not necessarily for financial transactions, but these industries are much bigger than that.) Writes are faster than reads, so one natural niche is real time data analysis.
- Main point: Fault tolerance
- License: Apache
- Protocol: HTTP/REST
- Tunable trade-offs for distribution and replication (N, R, W)
- Pre- and post-commit hooks,
- for validation and security.
- Built-in full-text search
- Comes in “open source” and “enterprise” editions
Best used: If you want something Cassandra-like (Dynamo-like), but no way you’re gonna deal with the bloat and complexity. If you need very good single-site scalability, availability and fault-tolerance, but you’re ready to pay for multi-site replication.
For example: Point-of-sales data collection. Factory control systems. Places where even seconds of downtime hurt.
(With the help of ghshephard)
- Written in: Java
- Main point: Billions of rows X millions of columns
- License: Apache
- Protocol: HTTP/REST (also Thrift)
- Modeled after BigTable
- Map/reduce with Hadoop
- Query predicate push down via server side scan and get filters
- Optimizations for real time queries
- A high performance Thrift gateway
- HTTP supports XML, Protobuf, and binary
- Cascading, hive, and pig source and sink modules
- Jruby-based (JIRB) shell
- No single point of failure
- Rolling restart for configuration changes and minor upgrades
- Random access performance is like MySQL
Best used: If you’re in love with BigTable. And when you need random, realtime read/write access to your Big Data.
For example: Facebook Messaging Database (more general example coming soon)
Of course, all systems have much more features than what’s listed here. I only wanted to list the key points that I base my decisions on. Also, development of all are very fast, so things are bound to change. I’ll do my best to keep this list updated.