Welcome
Welcome to Becoming a Programmer!
This site has two sections; Docs and Blog.
The Blog Section
In the Blog section you will find general information and code snippets. This snippets are sample code that I find useful in my day to day job and I use it as a quick reference. But because I use it often, It may be of help to you too.
The code snippets will be mainly in Java, C#, SQL, and the odd HTML, CSS & JavaScript. The reason for this is because I primarily build line-of-business applications and these are the technologies that are used with these types of application most often.
The Docs Section
This is the main body of knowledge. Here you will find everything you need to know to become a Full-stack Software Developer. So what exactly is a full-stack software developer?
Line-of-Business applications typically consists of three layers. Please note that I use the term layer very loosely here.
There is the User Interface Layer, which is typically the part of the application the user interacts with. This can be either a Mobile app, a Desktop app, or a Web app.
Then there is the Business Logic Layer which is not visible to the user. This is the part of the app where the number crunching takes place. The better name for the number crunching is Business Logic.
Finally there is the Persistence Layer which represents the databases where all transaction data is stored for future retrieval and manipulation. This is also the most important part of the app because this is the source of truth of the business.
For each of these three layers, you need specific skillsets. Starting with the Persistence Layer, then the Business Logic Layer, and finally the User Interface Layer, I teach you everything you need to know in each layer.
I start from the assumption that you have never written a single line of code before. From there we keep moving forwards, one step at a time. We keep linking new information to existing knowledge which will speed up the learning process substantially. I call that associative learning. I guess others may call it the same.
So why should you listen to me?
About Me
I have been building Line-of-Business applications, also called Enterprise Applications or Business Information Systems, for the Medical and Insurance Industries for the last 35+ years and I have learned a thing or two in the process.
The two most important thing I have learned is to keep it simple and to keep it practical. These two things, simple and practical, are close relatives. Please note that simple does not necessarily mean easy. So we will keep things both simple and practical so you can be prepared for the real-world scenarios out there.
Hopefully, I can help you become a programmer in the shortest time possible. That said, there are no short cuts; only smart cuts. You will have to put in the hours. It took me years to learn this stuff.
About The Student
So who can benefit from these pages?
This content for anyone who prefer to learn using a well-structured step by step method. So why user my method and not somebody else's? It's a fair question. Let me see if I can answer it for you.
These are literally thousands of courses online teaching you how to learn programming languages. And they are mostly great. I have done hundreds of them myself over the years. But here is the thing...
As a beginner, you have so many gaps in your education that you don't even know exists. This makes these courses usually difficult to understand as a fair amount of existing knowledge is assumed.
My method is focused on leaving no gaps. So, once you have done my courses, those courses will make a lot more sense for you. It's just wise to build a solid foundation before you start building the walls and roof.
So here is a short list of people I think may benefit from my method:
- You want to go at this on your own with no intention to go to university.
- You are planning to study computer science at university but need to thorough introduction into the world of programming.
- You are curious about what this programming thing is all about.
- You are already learning to program but find that there are things that do not make sense and you need to fill in the gaps.
- And everybody else not mentioned above.
I know this is a cliche but, knowing what I know now, this is how I would have loved to start.
You Need to Know a Lot of Stuff About a Lot of Stuff
This one is a biggy! You need to know a lot of stuff about a lot of stuff. This raise a number of questions:
- Where do I start?
- Once I know where to start, what stuff do I need to know?
- In what order do I need to learn this stuff?
- When do I know enough to move on to the next stuff?
- What stuff do I tackle next?
An you can see, a lot of stuff. I won't use the word stuff again.
So, my intention is to answer these questions so you don't have to spend years learning things that should have taken months or weeks. Again, no short cuts; only smart cuts! You will learn just enough at a time to do the job at hand. We will regularly revisit topics and add new information as and when needed.
So, to get the most out of the Tutorial pages is to work though them in order, one page at a time. Later pages will assume familiarity with the content of earlier pages.
There is no short cuts; only smart cuts!