Average Increase of 19.85% in Computer Jobs by 2024

The U.S. Bureau of Labor Statistics predicts that by 2024 there will be a 18.8% increase in the field of “Software developers, applications” with a median annual income of $100,080 and 20.9% in “Computer systems analysts” with a median annual income of $87,220 as of 04/14/2017 (https://www.bls.gov/emp/ep_table_104.htm). This means an average increase of 19.85% in fields like data analysis (SQL), programming and server management in both open source and proprietary environments. It also means that learning programming or system analysis (networking, server management, etc.) can secure yourself a good livelihood. Make the best out of the next seven years.

The Open Source Business Model

In my third installment on the topic on open source, I would like to discuss its business model when there is profit involved. Not all projects have a return over investment, which makes many wonder why start an open source project in the first place, but you need to be a programmer with the correct mindset in the first place to work with others and renounce to ownership of any work you do — almost a socialist/anarchist mentality. The latter gives control of the code and the end product to a controlling 501(c) foundation — for example, the Linux Foundation.

The projects that do make a profit are usually sponsored and/or controlled by corporations — for example, Red Hat. These corporations make a revenue from training and support — not from the open source product itself, which is free. In other words, you can use the product, but you have to pay if you need support — a strong capitalist mentality.

In both cases, there is an ever-growing number of third parties that provide training, certifications, support, other services and numerous user groups.

The open source community is often very open to help others in user groups and forums.

The Need of Open Source

What is open source?

“In general, open source refers to any program whose source code is made available for use or modification as users or other developers see fit. Open source software is usually developed as a public collaboration and made freely available.”
http://searchenterpriselinux.techtarget.com/definition/open-source

In the case of an open source operating system like Linux, any individual in this “public collaboration” can create software that can become part of the operating system or accessible to operating system from sanctioned repositories — depending on the distribution. This way the operating system is owned and/or controlled by a governing body (its creator, Linus Torvalds) while it grows organically with help of its user base.

On a personal level, I use Ubuntu — sponsored by Canonical Ltd., London, United Kingdom. I am much more comfortable using Linux than Windows. Therefore all I can say is root it.

Learning Open Source Languages

If you are interested in open source programming languages​ like Python (print "Hello world";) and Ruby (puts 'Hello world') for Unix– and Linux-like operating systems, there are many resources to learn them including on-line tutorials.

There are also several on-line integrated development environment (IDEs) that you can use. This means that you do not need to install compilers, interpreters and IDEs on your system. As such, I would recommend the following as I use them for development — Cloud9 (C9) and Codenvy.

Poor Man’s T-SQL Formatter

When writing SQL or other programming languages, we all know how messy our code can get — mixing lower and upper case, placing commas in all the wrong place and many other issues all over the code.

It is good practice to have code that others can easily read. In other words, we want a clean code using a constant format — not like the code below.

/* written on 05/16/2017, by JDOE */
select distinct table01.field01, table01.field02
, table02.field03,table02.field04
from table01 inner join
table02
	on table01.field01 = table02.field01
	; -- messy code

This is where open-source plug-in Poor Man’s T-SQL Formatter (http://poorsql.com/) by Architect Shack (code available at GitHub) or other utilities come in handy when writing T-SQL. After running the utility, the code above is organized as shown below.

/* written on 05/16/2017, by JDOE */
SELECT DISTINCT table01.field01,
	table01.field02,
	table02.field03,
	table02.field04
FROM table01
INNER JOIN table02
	ON table01.field01 = table02.field01; -- clean code

I will start using Poor Man’s T-SQL Formatter (http://poorsql.com/) when teaching future T-SQL courses.

Database Administration Fundamentals (SF16SQL10002) – Day 10

We have reached the end of SF16SQL10002. Download the class notes for day 10. As I have mentioned before, you are welcome to contact (email) me at any time with any questions regarding SQL or related technologies.


DECLARE @yourName VARCHAR(50),
        @myCourse VARCHAR(11);

SET @yourName = '#space_holder_for_your_name#';
SET @myCourse = 'SF16SQL1001';

PRINT   CHAR(84) +CHAR(104)+CHAR(97) +CHAR(110)+CHAR(107)+CHAR(32) +CHAR(121)+
        CHAR(111)+CHAR(117)+CHAR(44) +CHAR(32) +@yourName+CHAR(44) +CHAR(32) +
        CHAR(102)+CHAR(111)+CHAR(114)+CHAR(32) +CHAR(116)+CHAR(97) +CHAR(107)+
        CHAR(105)+CHAR(110)+CHAR(103)+CHAR(32) +CHAR(99) +CHAR(108)+CHAR(97) +
        CHAR(115)+CHAR(115)+CHAR(32) +@myCourse+CHAR(46) +CHAR(13) +CHAR(83) +
        CHAR(101)+CHAR(101)+CHAR(32) +CHAR(121)+CHAR(111)+CHAR(117)+CHAR(32) +
        CHAR(105)+CHAR(110)+CHAR(32) +CHAR(116)+CHAR(104)+CHAR(101)+CHAR(32) +
        CHAR(105)+CHAR(110)+CHAR(116)+CHAR(101)+CHAR(114)+CHAR(109)+CHAR(101)+
        CHAR(100)+CHAR(105)+CHAR(97) +CHAR(116)+CHAR(101)+CHAR(32) +CHAR(99) +
        CHAR(108)+CHAR(97) +CHAR(115)+CHAR(115)+CHAR(46) +CHAR(13) +CHAR(13) +
        CHAR(70) +CHAR(46) +CHAR(79) +CHAR(108)+CHAR(118)+CHAR(101)+CHAR(114)+
        CHAR(97) +CHAR(13) +CHAR(102)+CHAR(111)+CHAR(108)+CHAR(118)+CHAR(101)+
        CHAR(114)+CHAR(97) +CHAR(64) +CHAR(98) +CHAR(109)+CHAR(99) +CHAR(99) +
        CHAR(46) +CHAR(99) +CHAR(117)+CHAR(110)+CHAR(121)+CHAR(46) +CHAR(101)+
        CHAR(100)+CHAR(117)+CHAR(13) +CHAR(104)+CHAR(116)+CHAR(116)+CHAR(112)+
        CHAR(58) +CHAR(47) +CHAR(47) +CHAR(102)+CHAR(111)+CHAR(108)+CHAR(118)+
        CHAR(101)+CHAR(114)+CHAR(97) +CHAR(46) +CHAR(99) +CHAR(111)+CHAR(109)+
        CHAR(109)+CHAR(111)+CHAR(110)+CHAR(115)+CHAR(46) +CHAR(103)+CHAR(99) +
        CHAR(46)+ CHAR(99)+ CHAR(117)+CHAR(110)+CHAR(121)+CHAR(46) +CHAR(101)+
        CHAR(100)+CHAR(117)+CHAR(47) ;