Saturday, July 19, 2014

IT - The Big Picture

== Importance of Daemon/Service and Socket Programming ==

Linux/Unix daemon and windows service are important. They reside in memory as long-running processes, often start up automatically when the machine is booted.

Any piece of software, either a database or web/file/mail/etc server, is a linux/unix daemon or windows service. NoSQL applications Hadoop, mongoDB, memcached, etc., all are daemons/services or make use of it.

For this reason, it is good to write templates for linux/unix daemon and windows service. When need a relevant utility, we can quickly add the functionality into the daemon/service template and make a product.

Socket programming is another technology tightly coupled and integrated with Daemon/Service. This comes from the need of communication between the daemon/service and their clients.  Protocol and port are two key players.  Different servers use different protocols, and listen on different ports.

Most enterprise IT and software jobs today are on information system, used to be C/S, now B/S. Most of them use databases, process data, implement business logic, have back end and front end. Back end use database and web server, front end use web programming languages. Database + Web/Mobile UI + business logic is the mainstream of IT and software jobs today. Technologies outside this realm feels exotic to many programmers.

However, when it comes to creating new software tools, Daemon/Service and Socket programming come into play.


== General Technologies In Wide Use ==

Operating System and Programming Languages are the basics of everything.

Database and Network are another duo on the top list, which we kind of already mentioned.

Compiler techniques is used widely.  If a new domain language is needed for a new software, then a compiler/interpreter is written. LR or LL, or something simpler for specific domains.  Parsing, AST and JIT techniques are used by editors for text highlighting and intellisense, or building the project tree like in Eclipse. Static analysis is used for cross reference, debugging and code refactoring.

Security is an eternal topic. Software engineering is about the practice.

Web, Cloud and Mobile are the applications of these, on which Social media is based. They comprise the notion of high tech for the public. Web and Game are two public industries that make use of a wide variety of computer technologies.


== Domain Technologies ==

Artificial intelligence. In a broader sense, AI also includes Data Mining, Machine Learning, NLP etc. These are often intensive in probability and statistics, parsing theory, and mathematics.

Multimedia applications need Computer graphics, Computer vision, Image Processing and Visualization.

Informatics for different domains, such as Medical informatics, Bioinformatics, GIS etc. These are more like field applications of CS techniques, but some can be very intense.

HPC and scientific computing are often for government and academia projects.

Robotics/Vision generally need support from the government or large corporation.

Embed devices and programming is another broad field, since so many devices use chips internally.

HCI is softer, often correlates with phycology and cognitive science. It plays an important role in the better adoption of technology.

Operation research, this is more on the mathematics side.


== Fundamentals ==

On the basics of the fundamentals are math, discrete math, numerical analysis, computation and automata theory. Probability and Statistics. Algorithms and data structures. 

Then, on the software side, it is Operating system and Programming languages design. On the hardware side, it is Computer Architecture, micro processors, memory, and other device physics in Electrical Engineering.


== Today's Hot Topics == 

It has been PC in the 1980s, Internet in the 1990s, Search in 2000s.

Today, the hypes are: Big data (Cloud, NoSQL, Hadoop, DM, ML, NLP), Mobile, Social media.

Of these, Big data builds the platform through large corporations. Mobile and Social media are the interface to the general public, where business profits are made.


== Conclusion ==

So, based on this big picture, one may ask him/her self, where am I? What do I know, and what do I want to know next, based on job prospects or personal interest?


1 comment:

Blogger said...

Do you need free Facebook Likes?
Did you know you can get them ON AUTO-PILOT & ABSOLUTELY FOR FREE by getting an account on Like 4 Like?

Blog Archive

Followers