The Art Of Selling A Tiny IT Project

Building tiny projects in your free time is something that you have to do as a programmer.

The main goal is to test out ideas that sometimes work and you can make a lot of money.

The process of selling a website or application had always been an art. 

Therefore, in this post I’ll tell you what it is like to sell a tiny project, and how I think anyone can.

1. Building a Project

According to many successful small-business founders and serial entrepreneurs.

 Your very best idea may not be quite what your customers want, for whatever reason. 

If you’ve spent all your capital on this one product that doesn’t quite get customers to buy, your business may run out of money before it recovers from the misstep. 

That’s a big risk to take, especially if you’re funding your new home-based business out of your own savings.

A more prudent plan is to start by offering a basic version of what you’ve heard your customers ask for and then ask for feedbacks.

One of the best books that I have read about how to make a successful startup is The Lean Startup for the author Eric Ries.

The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses

2. Meeting the Buyer

It can be a good idea to make your introductions in a relatively informal setting like a business lunch, where both parties can get to know each other a bit. 

This will help break the ice and can help you feel more at ease.

It’s important to not let your emotions get in the way, as this could influence the buyer’s position.

Clearly state why you want to sell your business, and try to remain as objective as possible. 

It’s possible that the buyer might say something that upsets you or makes you angry, but if this happens, do your best not to show it.

During the meeting, allow plenty of room for questions. If you don’t have the answer to a specific question, say that you’ll look into the matter and let hi, know by email.

Don’t shy away from speaking about challenges your business might be encountering. A buyer who’s really interested will find out anyway during due diligence, so you’re best advised to get everything out in the open.

I highly recommend the book : Get the Meeting!: An Illustrative Contact Marketing Playbook, it has a set of tools you need to get the meetings.

Get the Meeting!: An Illustrative Contact Marketing Playbook

3. Negotiating a Price

When negotiating, seek advantages that allow you to exploit your strength, but don’t disparage the other negotiator in your enthusiasm to obtain victory.

When a negotiation outcome is less than expected, learn from the experience. Commit to getting better. Increase your knowledge of how to use the right tactic, with the right strategy(s), aligned with the right situation.

Make sure you observe and control your biases when assessing the person with whom you’ll be negotiating.

I recommend the book: Never Split the Difference: Negotiating as if Your Life Depended on It, it shows how to be effective when negotiating.

Never Split the Difference: Negotiating as if Your Life Depended on It
Hostinger

4. Receive the payment

How do you securely exchange code for cash?

I think it would be better to use an escrow service.

Their are many platforms providing this service like: escrow.com

It works like this:

  • Buyer transfers to the escrow service.
  • you transfer the domain name, users, and Github repository to the buyer.
  • Brief video call explaining the code.
  • Buyer has some days to try everything out.
  • Escrow service transfers the money to you.

That’s it, the deal is done.

Conclusion:

I understand that to sell a projects you should at least having a small audience.

So, as a programmer, you have to be good technically and a good marketer in order to make money on the internet.

A good strategy could be :

  • Build things you enjoy
  • Write about the process
  • Attract a small audience
  • Attract opportunities (buyers, customers, job offers)

It’s that simple. Code something for a few weeks, maybe publish it on your own blog.

1 people will probably read it, and that’s awesome. Next time it might be ten!

Keep building lots of little things that pique your interest, talk about it, and great things will start happening.

Bonus:

The working environment of an average programmer entails sitting around a desk for long hours surrounded by gadgets.

The reality here is that, there is a huge possibility of programmers developing certain health conditions and computer related injuries.

From my personal experience, I am suffering sometimes from back pain, caused by long hours sitting in front of my computer, sometime with a wrong position.

I recommend a Posture Corrector to regain proper posture which can help to prevent the onset of back, neck and shoulder pain. The Posture Corrector helps provide alignment while sitting, standing, lying down or during your other daily activities.

I write one article per week about programming, thanks for supporting me on patreon, by being my contributor 🙂

Some related articles you might interest in :

1-Make The Code Better Than You Found It

2– 4 Practical Books for Software Architecture

3-The Design Cannot Be Taught

4– 6 Best Programmers of All Time

5-How To Make Your Code Reviewer Like You

6-Most Graduates Unable to Pass Coding Interviews

Most Graduates Unable to Pass Coding Interviews

The number one reason that most graduates that have a BS in Computer Science are not able to pass technical coding interviews might surprise you.

I had prepared for a technical interview for a web developer on our team. I have two questions ready, questions that I had asked candidates multiple times before.

The candidate came in and sat down. He had a degree in Computer Science, and a long list of credentials that would prepare him for a mid-level job, and I was prepared to interview a entry-level developer job.

I have explained the first question, and let him to answer.

The candidate struggled to write simple code on the white paper.

So, from this experience I have get this lesson:

As an interviewer, it is your job to identify candidates that are both smart and get things done. It turns out there are very few people who are both of these things that are interviewing for programming positions.

Software development is something that is difficult and that is why good programmers are in demand. Getting the skills to become an in-demand programmer actually isn’t that difficult at all.

There are only three takeaways that you need to be an in-demand developer, regardless of if you have a degree in Computer Science or not!

The developers who focus on mastering these three skills have huge advantages in their programming career. Here’s what actually matters.

Hostinger

1-Code writing principles come from the 70’s

General principles of software development come a long way and have not changed much since. 

Sure the languages have evolved and we have built on these simple principles to create great things. BUT, the same principles do still apply, so make sure to become very well accustomed to them.

CHECK THIS BOOK: Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin

2-Group code by responsibility

Code has a very specific reason of existence.

 It solves a problem. 

If you follow this problem backwards then you will end up on a specific role or even a specific person. 

Group code with similar responsibilities together.

CHECK THIS BOOK: The Pragmatic Programmer by David Thomas and Andrew Hunt

3-Do not stop learning

One of the worst things that can happen to a software developer is to become obsolete. 

Getting ahead of your time is a key skill to have in these days of change. Getting yourself accustomed with new languages and frameworks. 

Follow or even contribute to the software community. 

Talk with other professionals and keep yourself relevant.

CHECK THIS BOOK: The Clean Coder by Robert C. Martin

Conclusion:

Once you understand these concepts and work improve yourself, you’ll find that you’re the type of in-demand developer who is able to pass coding interviews with ease.

Bonus:

The working environment of an average programmer entails sitting around a desk for long hours surrounded by gadgets.

The reality here is that, there is a huge possibility of programmers developing certain health conditions and computer related injuries.

From my personal experience, I am suffering sometimes from back pain, caused by long hours sitting in front of my computer, sometime with a wrong position.

I recommend a Posture Corrector to regain proper posture which can help to prevent the onset of back, neck and shoulder pain. The Posture Corrector helps provide alignment while sitting, standing, lying down or during your other daily activities.


I write one article per week about programming, thanks for supporting me on patreon, by being my contributor 🙂

Some related articles you might interest in :

1-Make The Code Better Than You Found It

2– 4 Practical Books for Software Architecture

3-The Design Cannot Be Taught

4– 6 Best Programmers of All Time

5-How To Make Your Code Reviewer Like You

Make The Code Better Than You Found It

As a developer you will have a lot of time maintaining working code.

There are definitely times where you are writing more new code than maintaining, upgrading, bug fixing and improving old code, but in general code is expensive and folks want to run it for a long time.

Often you’ll jump into code to fix a bug, investigate an issue or answer a question.

When you do so, improve it. 

This doesn’t mean you rewrite it, or upgrade all the libraries it depends on, or rename all the variables.

You don’t need to transform it.

Hostinger

But you should make it better. Just clean it up a bit. 

So, in this article I will share with you some books that will help you to be a clean coder.

1- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin

The Clean Code

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees.

Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

This book’s biggest strength is that it includes tons of code examples, including some long and in-depth ones.

Instead of just listing rules or principles of clean code, many of the chapters go through these code examples and iteratively improve them.

This book is a must-read for every professional software developer.

Strongly recommended!

2-The Clean Coder by Robert C. Martin

The Clean Coder

This book contains practical advice about everything from estimating and coding to refactoring and testing.

You will learn how to communicate, estimate and deal with difficult situations at work.

The Clean Coder will help you become one of the best professional.

3-Head First Design Pattern by Eric Freeman, Kathy Sierra

Head First Design Patterns

This book is a fast-track to design patterns, battle-proven solutions to commonly occurring problems in software design.

The book presents a complicated topic in a fun, readable and practical way.

Head First Design Patterns uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.

Must-read for every developer doing OO design.

4-GROWING OBJECT-ORIENTED SOFTWARE GUIDED BY TESTS By Steve Freeman and Nat Pryce

Growing Object-Oriented Software

Test-Driven Development (TDD) is now an established technique for delivering better software faster. 

TDD is based on a simple idea: Write tests for your code before you write the code itself. 

However, this “simple” idea takes skill and judgment to do well.

This book shows how to create a realistic project using TDD and is full of code examples. 

Strongly recommended for TDD Developer !

5-Release It!: Design and Deploy Production-Ready Software by Michael Nygard 

Release it !

If you’re a software developer, and you don’t want to get alerts every night for the rest of your life, help is here. 

With a combination of case studies about huge losses, lost revenue, lost reputation, lost time, lost opportunity and practical, down-to-earth advice that was all gained through painful experience.

 This book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. 

Get this book to skip the pain and get the experience

Conclusion:

Code isn’t everything, but it is an important work output.

 Whenever you touch it, you should strive to leave it in a better place that it was before.

So, these books will help you to be an excellent craftmanship programmer.

Bonus:

The working environment of an average programmer entails sitting around a desk for long hours surrounded by gadgets.

The reality here is that, there is a huge possibility of programmers developing certain health conditions and computer related injuries.

From my personal experience, I am suffering sometimes from back pain, caused by long hours sitting in front of my computer, sometime with a wrong position.

I recommend a Posture Corrector to regain proper posture which can help to prevent the onset of back, neck and shoulder pain. The Posture Corrector helps provide alignment while sitting, standing, lying down or during your other daily activities.


I write one article per week about programming, thanks for supporting me on patreon, by being my contributor 🙂

Some related articles you might interest in :

1-Invest Your Golden Time in Transferable Skills

2– 4 Practical Books for Software Architecture

3-The Design Cannot Be Taught

4– 6 Best Programmers of All Time

Invest Your Golden Time in Transferable Skills

As the world of technologies goes very fast. We need to stay up to date with technology. 

Every day, we learn programming languages, frameworks, and libraries.

The more modern tools we know “the better”.

Time is limited, nonrenewable and you cannot buy more of it.

Technology is moving faster than ever before.

To catch up, we need to run very fast. This race has no winners because it has no end.

So, Invest your golden time in transferable skills. Skills that will always be relevant.

Instead, reading a lot of books about frameworks, libraries, etc. Focus on books that teach you the fundamentals.

Example:

  • Instead of new programming language focus on Clean Code, Design Patterns, DDD
  • Instead of Docker learn more about Continuous Delivery
  • Instead of Angular learn more about Web, HTTP and REST
  • Instead of Microservices frameworks focus on Evolutionary Architecture

In this article I will share with you five excellent books, that changed my life, which teach the fundamentals:

1- The Pragmatic Programmer by David Thomas and Andrew Hunt 

The Pragmatic Programmer Book

The Pragmatic Programmer is one of those rare tech books you’ll read, re-read, and read again over the years. 

Whether you’re new to the field or an experienced practitioner, you’ll come away with fresh insights each and every time.

This book will teach not about codes, sometimes you can read but the main idea is to be a better programmer and think better, crack the problems, think about algorithm by yourself. 

There is not much to say, see the first edition was written 20 years ago and when you start reading you see the quality of the book.

Its divided in some topics inside some subjects. You can read by look or follow cover to the end.

This book does not have a specific language or a ‘recipe’ to follow, actually it will open your mind to think better.

I think this book is a must for every programmer.

2- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin

Clean Code: A Handbook of Agile Software Craftsmanship

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. 

Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

This book’s biggest strength is that it includes tons of code examples, including some long and in-depth ones. 

Instead of just listing rules or principles of clean code, many of the chapters go through these code examples and iteratively improve them. 

This book is a must-read for every professional software developer.

Strongly recommended!

3-Head First Design Pattern by Eric Freeman, Kathy Sierra

Head First Design Pattern

This book is a fast-track to design patterns, battle-proven solutions to commonly occurring problems in software design. 

The book presents a complicated topic in a fun, readable and practical way. 

Head First Design Patterns uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep.

Must-read for every developer doing OO design.

4-The Clean Coder by Robert C. Martin

The Clean Coder

This book contains practical advice about everything from estimating and coding to refactoring and testing. 

You will learn how to communicate, estimate and deal with difficult situations at work.

The Clean Coder will help you become one of the best professional and earn the pride and fulfillment that they alone possess.

5-Continuous Delivery By Jez Humble and David Farley

Continuous Delivery

This book sets out principles and technical practices that enable rapid delivery of software to users. 

Through automation of the build, deployment, and testing process.

Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the “deployment pipeline,” an automated process for managing all changes, from check-in to release. 

Finally, they discuss the “ecosystem” needed to support continuous delivery, from infrastructure, data and configuration management to governance.

This book will help you to deliver fast and effectively.

Conclusion:

The longer a technology is on the market, the safer investment it is.

Don’t harry to learn new technology, it has a high probability of dying.

Time is your best advisor. Learn to wait.

Frameworks, libraries and tools come and go. Time is precious.

So, Invest 70% percent of your time on fundamentals and 30% on frameworks, libraries and tools.

Bonus:

The working environment of an average programmer entails sitting around a desk for long hours surrounded by gadgets. 

The reality here is that, there is a huge possibility of programmers developing certain health conditions and computer related injuries.

From my personal experience, I am suffering sometimes from back pain, caused by long hours sitting in front of my computer, sometime with a wrong position.

I recommend a Posture Corrector to regain proper posture which can help to prevent the onset of back, neck and shoulder pain. The Posture Corrector helps provide alignment while sitting, standing, lying down or during your other daily activities.


I write one article per week about programming, thanks for supporting me on patreon, by being my contributor 🙂

Some related articles you might interest in :

1– 4 Practical Books for Software Architecture

2-The Design Cannot Be Taught

3– 6 Best Programmers of All Time

5 Principles Will Make your Code Robust

The 5 principles I will talk about, remain as relevant to day as they were in before.

According Uncle Bob, The software hasn’t change all that much since 1945 when Turing wrote the first lines of code for an electronic computer. 

Software is still if statements, while loops, and assignment statements: Sequence, Selection, and Iteration.

So let’s walk through the principles, one by one.

1- The Single Responsibility Principle(SRP)

Gather together the things that change for the same reasons. Separate things that change for different reasons.

We do not mix business rules with GUI code. 

We do not mix SQL queries with communications protocols.

We keep code that is changed for different reasons separate so that changes to one part to not break other parts.

We make sure that modules that change for different reasons do not have dependencies that tangle them.

2- The Open-Closed Principle(OCP)

A Module should be open for extension but closed for modification.

It about creating modules that can be extended without modifying them. 

Can you imagine working in a system that did not have device independence, where writing to a disk file was fundamentally different than writing to a printer, or a screen, or a pipe ? 

Do we want to see if statement disperse our code to deal with all the little details ?

Or Do we want to separate abstract concepts from detailed concepts ?

We want to keep business rules isolated from the nasty little details of the GUI, and the micro-service communications protocols, and the arbitrary behaviors of the database.

3- The Liskov Substitution Principle(LSP)

A program that uses an interface must not be confused by an implementation of that interface.

We have made the mistake that this is about inheritance.

It is not. It is about sub-typing. All implementations of interfaces are subtypes of an interface.

This principle is about keeping abstractions crisp and well-defined. It is impossible to believe that this is an outmoded concept.

4- The Interface Segregation Principle(ISP)

Keep interfaces small so that users don’t end up depending on things they don’t need.

We still work with compiled languages. 

We still depend upon modification dates to determine which modules should be recompiled and redeployed.

So long as this is true we will have to face the problem that when module A depends on module B at compile time, but not at run time, then changes to module B will force recompilation and redeployment of module A.

This issue is especially acute in statically typed languages like Java, C#, C++ etc.

5- The Dependency Inversion Principle (DIP)

Depend in the direction of abstraction. High level modules should not depend upon low level details.

It is hard to imagine an architecture that does not make significant use of this principle. 

We do not want our high level business rules depending upon low level details. 

We want isolation of the high level abstractions from the low level details. 

That separation is achieved by carefully managing the dependencies within the system so that all source code dependencies, especially those that cross architectural boundaries, point towards high level abstractions, not low level details.

Conclusion:

The Code that follows S.O.L.I.D. principles can more easily be shared with collaborators, extended, modified, tested, and refactored without any problems.

Bonus:

By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. 

Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (“Uncle Bob”) reveals those rules and helps you apply them.

Get your copy using the link below:

Clean Architecture: A Craftsman’s Guide to Software Structure and Design (Robert C. Martin Series)

Some related articles you might interest in :

1-OOP is Now The Basis of Computer Science

2- 6 Best Programmers of All Time

3-The Most Promising Fields for Programming in the Future

4-The 5 Most Used Languages for Web Development

5- The Best Way To Improve Your Programming Skill Level

6- Recommended Programming Language for Beginner To LEARN First

Connect with me on :Blog, Youtube, Facebook, Twitter

OOP is Now The Basis of Computer Science

Object- oriented programming today is the basis of computer science.

In simple terms I would like to explain it with an example.

First of all think that why are we all doing programming ? and answer to this question is to solve real life problems, to save human efforts and time. 

So, imagine you are the one who have the responsibility to add cash in the ATM machine as a worker.

 So, you need to apply some logic that how many notes of 500 , 2000 or 100 you need to keep there, so the demands of the person taking out money is full filled.

Here come the approach to object- oriented programming.

Imagine yourself as an object in this real world. So you have some characteristics like height, weight etc. And you take part in solving real world problems.

On OOP the object is represented by its data, its behavior, and functions associated with it .

Simple and common example is apple is an object of class fruits and have features like red color, sweet taste etc.

OOP concept includes the 2 basic terms CLASS AND OBJECT.

For example C language uses procedural approach, the program will be executed in the flow written by the programmer.

But, using C++ or java language you can divide the problem into class and object approach and solve using functions and other features of object- oriented programming.

Now to solve the real life complex problems, object-oriented programming it provides the following features to the users:


OOP

1- DATA ABSTRACTION

Showing only the essential details hiding other details, like when you turn a switch on you just press the button but you are unaware of the wiring and connections inside.

2- INHERITANCE 

When one class can inherit the features of base class or parent class.

3- POLYMORPHISM

It is the ability of an object to take on many forms.

The most common use of polymorphism in OOP occurs when a parent class reference is used to refer to a child class object. 

4-DATA ENCAPSULATION

Wrapping up data and functions into one unit.

5- MODULARITY

We divide the program into small units to reduce the degree of complexity, and use these modules again and again according to the need of the programmer.

Conclusion:

A lot of developers criticize the object-oriented programming model for multiple reasons. 

The largest concern is that OOP overemphasizes the data component of software development and does not focus enough on computation or algorithms. 

Additionally, OOP code may be more complicated to write and take longer to compile.

Alternative methods to OOP include:

  • functional programming
  • structured programming
  • imperative programming

Most advanced programming languages give developers the option to combine these models.

Bonus:

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees.

Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship.

Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer, but only if you work at it.

Get your copy using the link below:

Clean Code: A Handbook of Agile Software Craftsmanship

Some related articles you might interest in :

1- 6 Best Programmers of All Time

2-The Most Promising Fields for Programming in the Future

3-The 5 Most Used Languages for Web Development

4- The Best Way To Improve Your Programming Skill Level

5- Recommended Programming Language for Beginner To LEARN First

6- Don’t Panic This is The Best way to Learn Programming

7- 4 Great YouTube Channels, that Will Improve Your Programming Skill

8-It is Never too Late to Learn How to Program

9-The Best Advice I Wish I know When I Start Programming

Connect with me on :Youtube, Facebook, Twitter

6 Best Programmers of All Time

In this article I am going to talk about top 6 programmers in the world of all time.

1. Dennis Ritchie

Dennis Ritchie

Dennis Ritchie was an American computer scientist who helped shape the digital era. 

He created the C programming language and with long-time colleague Ken Thompson, the Unix operating system. 

Ritchie and Thompson received the Turing Award from the ACM in 1983, the Hamming Medal from the IEEE in 1990 and the National Medal of Technology from President Clinton in 1999.

Ritchie was the head of Lucent Technologies System Software Research Department when he retired in 2007.

2. Bjarne Stroustrup

Bjarne Stroustrup

Bjarne Stroustrup is a Danish computer scientist, most notable for the creation and development of the widely used C++ programming language. 

He is a Distinguished Research Professor and holds the College of Engineering Chair in Computer Science at Texas A&M University, a visiting professor at Columbia University, and works at Morgan Stanley.

3. James Gosling

James Gosling

James Arthur Gosling is a Canadian computer scientist, best known as the father of the Java programming language. 

Due to his extra-ordinary achievements, Gosling was elected to Foreign Associate member of the United States National Academy of Engineering.

4. Linus Torvalds

Linus Torvalds

Linus Benedict Torvalds is a Finnish American software engineer, who was the principal force behind the development of the Linux kernel.

He later became the chief architect of the Linux kernel, and now acts as the project’s coordinator.

He also created the revision control system Git as well as the diving log software Subsurface.

He was honored, along with Shinya Yamanaka, with the 2012 Millennium Technology Prize by the Technology Academy Finland, in recognition of his creation of a new open source operating system, for computers leading to the widely used Linux kernel.

5. Anders Hejlsberg

Anders Hejlsberg

Anders Hejlsberg is a prominent Danish software engineer who co-designed several popular and commercially successful programming languages and development tools. 

He is creator of popular programming language C#. 

He was the original author of Turbo Pascal and the chief architect of Delphi. 

He currently works for Microsoft as the lead architect of C# and core developer on TypeScript.

6. Donald Knuth

Donald Knuth

Donald Ervin Knuth is an American computer scientist, mathematician, and Professor Emeritus at Stanford University. 

He is the author of the multi-volume work The Art of Computer Programming. 

Knuth has been called the father of the analysis of algorithms. 

He contributed to the development of the rigorous analysis of the computational complexity of algorithms and systematized formal mathematical techniques for it. 

In the process he also popularized the asymptotic notation. 

Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system and the Computer Modern family of typefaces.

Conclusion:

It’s very difficult to name just 6 though. 

There are many important contributors to the world of computer science whose names are not widely known. 

But, these names in my opinion are the top.

Bonus:

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees.

Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship.

Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer, but only if you work at it.

Get your copy using the link below:

Clean Code: A Handbook of Agile Software Craftsmanship

Some related articles you might interest in :

1-The Most Promising Fields for Programming in the Future

2-The 5 Most Used Languages for Web Development

3- The Best Way To Improve Your Programming Skill Level

4- Recommended Programming Language for Beginner To LEARN First

5- Don’t Panic This is The Best way to Learn Programming

6- 4 Great YouTube Channels, that Will Improve Your Programming Skill

7-It is Never too Late to Learn How to Program

8-The Best Advice I Wish I know When I Start Programming

Connect with me on :Blog, Youtube, Facebook, Twitter

The 5 Most Used Languages for Web Development

To give you an idea of the options available, the 5 most commonly used languages for web development at the moment, in no particular order, are:

  • PHP
  • Ruby
  • Python
  • Java
  • JavaScript

You might see some people mention ASP.NET, this isn’t a language. It’s a framework.

I’ll talk about the difference later, but for now let’s just say that while ASP.NET is a valid choice as a framework, as a beginner I wouldn’t worry about it.

This is going to be a little bit more than you asked for, probably, but in the end I think it’ll help you out more with your decisions. If you already know parts of the following, feel free to skip over.

Overview of how a web application

You, the user, enter a url into the address bar in your browser.

Using the information in that url, your browser identifies what you want and where to look for it and sends a request to the application’s server.

This request is sent using a protocol called HTTP. A protocol just means that your browser and the server follow a set of rules when they talk to each other. HTTP is a particular set of rules.

When the server receives the request your browser sent, it looks at it and decides what to send back to your browser.

When you first visit a web application, this is almost always a HTML document.

So, the server returns a response to your browser, which contains HTML.

HTML contains directions for your browser on what to display to the user. It also tells your browser the other things it will need to display the application correctly to the user.

Primarily, CSS and JavaScript documents, but also images, fonts and many other things.

The browser then makes more requests to get these other things, let’s call them assets.

These requests for assets can be made to any number of different servers, and they take time!

A good web application does it’s best to make this process efficient and undetectable to the user.

A link in a webpage is like a shortcut to entering the url in your address bar, and most of the time when you enter in a url or click a link, this whole process is initiated again.

Back-end development

Back-end development is all about the server. Or servers.

As a web application may be contained, either completely or in parts, across many different servers.

It’s about how the application’s servers decide to respond to a request.

It’s about how quickly they can respond, and how many requests they can respond to at the same time.

As a side note, for beginners to web development, front-end development is almost always more important.

Even if you’re not concerned with making your application pretty.

Even for the first project you mentioned. I highly recommend you start by focusing on HTML, CSS and JavaScript.

What programming languages should I learn for web development ?

Before, I answer this question, I will give you a definition of the framework.

A framework is the application that runs your application.

It gives you a set of tools that make building a web application easier.

The exact definition of a framework depends on who you talk to, but they’re there to make your life easier.

Learn the language, then learn the framework you picked. It’s easy to use Google to find guides and tutorials for any of the languages or frameworks.

I don’t recommend either Java or Javascript for back-end beginners.

Java is a trickier language than the other four, and while it’s tempting to say node.js (JavaScript for the server) utilizes the skills you developed while learning front-end development, in practice I think node.js is less beginner-friendly than any of the 3 options above.

But that’s my opinion, if you’d like to check it out anyway, the “Hello World” example for Express, the most popular node.js back-end framework.

Conclusion:

I personally think Python has the is the best choice for beginners, and have a lot of community support.

But by the time you’re far enough along as a web developer to form opinions for yourself, you should know more than one language.

Bonus:

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees.

Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship.

Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer, but only if you work at it.

Get your copy using the link below:

Clean Code: A Handbook of Agile Software Craftsmanship

Some related articles you might interest in :

1- The Best Way To Improve Your Programming Skill Level

2- Recommended Programming Language for Beginner To LEARN First

3- Don’t Panic This is The Best way to Learn Programming

4- 4 Great YouTube Channels, that Will Improve Your Programming Skill

4-It is Never too Late to Learn How to Program

5-The Best Advice I Wish I know When I Start Programming

Connect with me on :BlogYoutubeFacebookTwitter

The Best Way To Improve Your Programming Skill Level

I will provide you some real practical solutions to your inability to write code.

First of all, coding is like a game and anybody can learn it if they have an appetite to create something productive. 

Being a good programmer, you can actually contribute a lot to make things simpler and better.

I think there could be two possible reasons for that :

1- You do not have a basic understanding 

 I will not be able to build a website unless I have a good knowledge about basic UI technologies like HTML , JavaScript, jQuery etc.

2- You understand coding but lack practice

Coding is all about practice, the more you practice code , the better you get at it.

So As a solution, I suggest to start from basics and give yourself sometime to absorb new concepts and keep practicing each concept until you get enough confidence. 

As a Java and Javascript developer, I would suggest you follow :

Javadocs, Head First Java book, Clean Code: A Handbook of Agile Software Craftsmanship for java programming language. And Mozilla docs for Javascript.

For example, If you try to learn Java from multiple sources at the same time then you will end up spending more time in learning a concept. 

Spend enough time on covering as much basics as you can, because that’s the only thing that will speed up your coding skill once you start learning advance technologies related to Java.

Here is a list of some technologies and languages that you can adapt based on your learning needs :

  • if you want to develop a simple static website: Learn HTML5, CSS, JavaScript in order.
  • Want to build a dynamic responsive website : Learn Angular and Bootstrap for example.
  • Want to build a simple application : Learn Core Java , .net or Python
  • Want to build an enterprise application : Learn advance java ( JSP, Servlets, Struts, Spring Framework, Web services)

Conclusion:

Think big, start small.

Start practicing code daily and try to get better at it as soon as possible.

Good Luck 🙂

Bonus:

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. 

Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship

Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer, but only if you work at it.

Get your copy using the link below:

Clean Code: A Handbook of Agile Software Craftsmanship

Some related articles you might interest in :

1- Recommended Programming Language for Beginner To LEARN First

2- Don’t Panic This is The Best way to Learn Programming

3- 4 Great YouTube Channels, that Will Improve Your Programming Skill

4-It is Never too Late to Learn How to Program

5-The Best Advice I Wish I know When I Start Programming

6–4 PRINCIPALES To Market Yourself As A PROFESSIONAL Developer