i wanted to document my process of learning to code :) it's something i've always been interested in, but never got to, because i felt like it would take too much time to become good. well, the time will pass anyways, i need a project to stay sane. i have adhd, so it's somewhat of a developing hyperfixation / special interest for me.
i was using sololearn to learn, before i got paywalled :/ -- now i'm using freecodecamp and will probably also use codeacademy. on freecodecamp, i'm doing the certified full stack developer program which will (from my understanding) teach me to code front-end / client side as well back-end. i knew some HTML to begin with, but so far i've finished the basics of HTML mini-course and am on to structural HTML. After the full HTML topic, the course teaches me CSS, Java, Back-End Javascript and Python.
LONG STORY SHORT!! let's be friends, because i love doing this. also i need help. and advice. so much of it. m
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
โ Live Streamingโ Interactive Chatโ Private Showsโ HD Quality
Anya is LIVE right now
FREE
Free to watch โข No registration required โข HD streaming
API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other. It is a way for computers to share data or functionality, but computers need some kind of interface to talk to each other.
When you use an application on your mobile phone, the application connects to the Internet and sends data to a server. The server then retrieves that data, interprets it, performs the necessary actions and sends it back to your phone. The application then interprets that data and presents you with the information you wanted in a readable way. This is what an API is - all of this happens via API.
Building Blocks of API
There are three building blocks of an API. These are:
dataset
requests
response
Letโs elaborate these blocks a bit.
An API needs a data source. In most cases, this will be a database like MySQL, MongoDB, or Redis, but it could also be something simpler like a text file or spreadsheet. The APIโs data source can usually be updated through the API itself, but it might be updated independently if you want your API to be โread-onlyโ.
An API needs a format for making requests. When a user wants to use an API, they make a โrequestโ. This request usually includes a verb (eg: โGETโ, โPOSTโ, โPUTโ, or โDELETEโ), a path (this looks like a URL), and a payload (eg: form or JSON data). Good APIs offer rules for making these requests in their documentation.
An API needs to return a response. Once the API processes the request and gets or saves data to the data source, it should return a โresponseโ. This response usually includes a status code (eg: โ404 - Not Foundโ, โ200 - Okayโ, or โ500 - Server Errorโ) and a payload (usually text or JSON data). This response format should also be specified in the documentation of the API so that developers know what to expect when they make a successful request.
Types of API
Open APIs - Also known as Public APIs. These APIs are publicly available and there are no restrictions to access them.
Partner APIs - These APIs are not publicly available, so you need specific rights or licenses to access them.
Internal APIs - Internal or private. These APIs are developed by companies to use in their internal systems. It helps you to enhance the productivity of your teams.
Composite APIs - This type of API combines different data and service APIs.
SOAP - It defines messages in XML format used by web aplications to comunicate with each other.
REST - It makes use of HTTP to GET, POST, PUT or DELETE data. It is basically used to take advantage of the existing data.
JSON-RPC - It uses JSON for data transfer and is a light-weight remote procedural call defining few data structure types.
XML-RPC - It is based on XML and uses HTTP for data transfer. This API is widely used to exchange information between two or more networks.
Features of API
It offers a valuable service (data, function, audience).
It helps you to planabusiness model.
Simple, flexible, quickly adopted.
Managed and measured.
Offers great developer support.
Examples of API
Razorpay API
Google Maps API
Spotify API
Twitter API
Weather API
PayPal API
PayTm API
HubSpot API
Youtube API
Amazon's API
Travel Booking API
Stock Chart API
API Testing Tools
Postman - Postman is a plugin in Google Chrome, and it can be used for testing API services. It is a powerful HTTP client to check web services. For manual or exploratory testing, Postman is a
good choice for testing API.
Ping API - Ping API is API testing tool which allows us to write test script in JavaScript and CoffeeScript to test your APIs. It will enable inspecting the HTTP API call with a complete request and
response data.
VREST - VREST API tool provides an online solution for automated
testing, mocking, automatic recording and specification of
REST/HTTP APIS/RESTful APIs.
When to create an API and when not to
Its very important to remember when to create and when not to create an API. Letโs start with when to create an APIโฆ
You want to build a mobile app or desktop app someday
You want to use modern front-end frameworks like React or Angular
You have a data-heavy website that you need to run quickly and load data without a complete refresh
You want to access the same data in many different places or ways (eg: an internal dashboard and a customer-facing web app)
You want to allow customers or partners limited or complete access to your data
You want to upsell your customers on direct API access
Now, when not to create an APIโฆ
You just need a landing page or blog as a website
Your application is temporary and not intended to grow or change much
You never intend on expanding to other platforms (eg: mobile, desktop)
You donโt understand the technical implications of building one.
Please donโt wait for people to spoon-feed you with every single resource and teachings because youโre on your own in your learning path. So be wise and learn yourself.
Check out my book
I have curated a step by step guideline not just for beginners but also for someone who wants to come back and rebrush the skills. You will get to know from installing necessary tools, writing your first line of code, building your first website, deploy it online and more advanced concepts. Not only that, I also provided many online resources which are seriously spot on to master your way through. Grab your copy now from here. Or you can get it from this link below.
Dive into the dynamic and ever-evolving world of web development with this comprehensive guide, perfect for both beginners eager to learn an
About Me
I am Ishraq Haider Chowdhury from Bangladesh, currently living in Bamberg, Germany. I am a fullstack developer mainly focusing on MERN Stack applications with JavaScript and TypeScript. I have been in this industry for about 11 years and still counting. If you want to find me, here are some of my social links....
um okay so ignore that little skipping a part of my curriculum mishap. right now im working on a project in the "lab" portion of the course (where you work on your own little projects so they can test what theyve taught you). for this one, youre supposed to make a small, simple page for recipes. everything about my code registers as right except for the <meta charset=UTF-8> part. its not registering it :/ in case anyone has any advice.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
โ Live Streamingโ Interactive Chatโ Private Showsโ HD Quality
Anya is LIVE right now
FREE
Free to watch โข No registration required โข HD streaming
The world is changing and its moving more and more towards digitization. That means the tech industry is slowly taking over almost everything. A huge number of opportunities are opening everyday in this field. As such, it is seen that many people are slowly moving towards tech. There are people who have studied CS and now they are in tech. On the contrary, there are people with no CS degree but are doing great in the tech field.
As more and more people are stepping towards tech, there are even more who are wondering about trying to get on board. So there are some burning questions like,ย
How do I start programming?
How do I get into tech?
How do I break into tech?
I want to learn programming but I donโt know where to start, so what can I do?
All these questions lead to only one answer. But I must tell you, this is not just any answer that you get asking a random question. Rather it is simply going to change your life if you follow the things properly and proceed step by step. There is one thing that you need to remember is that, once you are in the learning path, you will always be involved with the steps until the day you retire from all activities. So without further ado, letโs get started.
Why should you learn programming?
Before you start, you need to figure out why you want to learn programming. Apparently this will help you to find out which path you'll choose and with that you'll be able to know which programming languages you have to learn.
So, let's look into some benefits of learning programming,
Programming helps to build professional skills: Knowledge of computer programming is a valuable employment asset. As the world is moving more towards tech, the need to know programming is becoming more and more necessary. If you want to move to a more technical role from where you are at the moment or you want to make a career switch to tech, knowledge of at least one programming language is a must. Even if youโre not pursuing a strictly technical role, programming experience is an asset. It shows technical know-how, the ability to grasp abstract concepts, and that you can solve complex problems. Programming knowledge enables you to take freelance work as a full time career.
Programming can help you earn more: As said in the title, programming skills do let you earn more. The roles where you will be at as a programmer or a guy with necessary programming skills, will pay you almost twice the payment than somebody with the similar years of experience in a non-programming role.
Programming lets you create things: With programming skills, you can create whatever you want. Maybe you can create a mobile app or a web app, is upto you. Ultimately you can present this to the world. You can publish your project somewhere and monetize it. You can also let recruiters see what you are capable of with the projects that you have done and are letting the world see.
Programming skills can help you be self-employed: If you know programming, you can get freelance works and make your own money. Maybe you can get more and more projects and build yourself a freelance work agency. Even if you have a good idea, you can program a prototype and then make that a base to create your own startup. Showcasing that prototype to investors, you can get the necessary funding to run your startup. Again, with the knowledge you have or gain, you can coach newbies or sell programming ebooks that you have written based on your experience with the help of social media.
Willingness to break into tech and mistakes to avoid
Majority of the people have 9-5 day jobs. At the end of the week, they tire themselves out and search for a time and place to relax. But even amongst these people, some people emerge out successful. Who are these people? Those who are living the life they have during the weekdays and building the life they want during the weekends. Many people are coming towards tech just because itโs easy to spend some time, learn trending technologies and then land first jobs/clients. After sometime, they have their empire built.
There are many many people without CS degree but are doing outstanding in tech, even in companies like FAANG (Facebook, Apple, Amazon, Netflix, Google). How did they start? They took the initial step by printing a โHello Worldโ! Non tech people, when they start thinking of coming to tech, get all lost and confused seeing the huge numbers and codes that other people are doing. To avoid this mistake, instead of peeking at where the successful people are, peek at where they started.
How to start programming?
First and the foremost thing is, you need to look into various fields or paths which you want to take. That means you need to select a sector based on which you will look for roadmaps. So, go to google and search for "Careers in tech with Programming knowledge". There you will find different professions like Software Developer, Mobile App Developer, Data Scientist, Database Administrator, Machine Learning Engineer, IT Administrator and many more. You need to look into these sectors and find out what interests you the most. Take a note of the sectors that you are interested in.
Now, as you know what you want to be, you need to find out proper roadmaps from the scratch level to not only get you started, but also get you going along more advanced levels. So, you need to check out some websites like roadmap.sh or neuton.app. In such websites, you're going to find everything you need to get started and get going. All you need to do is go to these websites and then keep a track of where you are at and what you are learning from time to time. Just get along with the path that is being shown.
Once you know which programming languages you need to learn, go through the official documentation of each technology (google them and youโll find them) for example for python, the official docs is found in the website python.org. In this way, consult the official docs first. Then, go to websites like w3schools.com or freecodecamp.org. In these websites you will find the programming tutorials from scratch and step by step. All you need to do is follow the steps and learn. The good thing is these are interactive tutorials, as such you will get a hands on experience with these langauges. Besides, there are several YouTube channels which will help you learn the programming languages you need from the very basic level. Visit YouTube channels like Programming With Mosh, Freecodecamp, CS Dojo, etc and many more. Other than that, if you want a structured learning path, you can always go to Coursera, EdX, Codecademy and many other websites and enrol in programming courses.
As you go on learning, the most important thing is to write code or should I say implement what you have learnt. The best way to do those is building projects. It does not have to be a big enterprise level project, rather it can only be a code of 5 lines, it doesn't matter. As long as you are building projects with what you have learnt, you are running on the right track.
Itโs normal for everyone to get stuck with code. So never worry and always search for solutions in google. Some of the websites where you can find probable solutions are, Stackoverflow, Stackexchange, etc and many more.
Sometimes, you might have the need for constant monitoring. Look for mentors who offers coachings. You can find these programmers / developers in instagram who offer coaching services. Reach them out. If necessary, look for them in LinkedIn and try to reach them out as well. Maybe with the right mentor, your programming lessons will have a boost. But that still depends on how much concentration you are giving to learn.
The best way to learn if you are learning with other people. That means if you can be a part of a community. So, all you need to do is join some dev community which you might find in the form of a Discord server or Facebook Group or even an online forum. Join the community and learn together. See what problems people are facing and what solutions other people are advicing. When you have questions, ask in those forums. You will definitely get help from the dev community.
To keep yourself up-to-date with the modern tech world, you can look into dev articles. Search for these articles in google and maybe sign up so that you get a daily newsletter of the trending topics. One of the best websites is dev.to. Check it out.
One optional thing that I found rather very useful is document what you have learnt everyday. The best way to do that is maybe open up a new instagram account where you post daily about your progress and what you will learn next. With that, you will have the urge to learn faster and you will have a strong hold of the programming knowledges you are learning. And the best part, writing about your daily progress will attract more and more audience who will learn from you and at one point, your account will grow so big that you can monetise the account and make money with your programming knowledge. This is a totally different topic so I am not going into details.
Some projects to enhance your programming skills
This is the part which you will follow once you have a good hold of programming skills and you are capable of building small websites or apps. So then, you can work on these projects.
Construct a Responsive Multi-Page Website - Creating this application helps to better understand sizes of different devices so that the web pages do not break and they look clean at any dimension at any device.
Upgrade a Website Template that Already Exists - Building a website from the ground up may look to be intimidating at first. As you get started, you might want to consider using a site format with predetermined plan components, allowing you to apply a responsive design to an existing layout without starting from scratch.
Construct a Simple JavaScript Game - There is no existing system to work with when creating a game from the ground up. As you work through the hurdles, you become familiar with an incredible sum, which helps you become a better engineer. When you're finished, you'll have a fun game to show off in your portfolio!
Create a basic application - Your initial application does not have to be complicated; it might be as simple as a number cruncher or a daily schedule. New elements are inconsistent enhancements for current applications, so this is your chance to experiment with multiple approaches.
Python for Web Scraping - Web scraping entails getting organised material from the internet, selecting certain information, and transforming it into something new, such as investigating, storytelling resources, and so on. When you come across material on the internet that you can't download right away, try using your Python skills to extract the information into a format that can be imported.
Tips to follow to have a well decorated career
Here are some tips that you should follow as a beginner so that you have a well decorated tech career!
Learn, Adapt, Repeat โ Everything you learn from scratch is new to you. So once you learn something, try to get the best hold of it by understanding the concepts about how things are happening and why they are happening. Repeat the same thing for every new thing you learn.
Network with other devs โ Itโs very important that you try to connect to other devs in different social and professional platforms. So when you need help, someone might assist you to your needs.
Have a side project โ When youโve learnt something, itโs very nice to create a pet project or multiple projects for yourself. And having a side project for yourself can be beneficial. Maybe you can turn it to something big slowly by dint of time.
Keep practicing problems โ There are many websites where you can find programming problems or challenges which you can code and solve. One noteworthy website is Exercisim. There are problems to solve for 60 programming languages. This will keep up your practice and youโll be a better programmer.
Build a portfolio website โ This is the most important thing to do. Once you have some projects to showcase, build a website where you can portray yourself, your journey as a dev and the works you have done. This will be handy so that recruiters can better understand what youโre capable of, maybe you can show this to get freelance work and also other devs can get to know you well.
So, if you guys can maintain this properly, I am sure that youโll be a better dev in no time, youโll land your jobs earlier that others (hopefully) and youโll succeed faster than other devs.
Word of advice for newbies
Please donโt wait for people to spoon-feed you with every single resource and teachings because youโre on your own in your learning path. So be wise and learn yourself.
Check out my book
I have curated a step by step guideline not just for beginners but also for someone who wants to come back and rebrush the skills. You will get to know from installing necessary tools, writing your first line of code, building your first website, deploy it online and more advanced concepts. Not only that, I also provided many online resources which are seriously spot on to master your way through. Grab your copy now from here. Or you can get it from this link below.
Dive into the dynamic and ever-evolving world of web development with this comprehensive guide, perfect for both beginners eager to learn an
About Me
I am Ishraq Haider Chowdhury from Bangladesh, currently living in Bamberg, Germany. I am a fullstack developer mainly focusing on MERN Stack applications with JavaScript and TypeScript. I have been in this industry for about 11 years and still counting. If you want to find me, here are some of my social links....
Full stack technology refers to the entire depth of a computer system application, and full stack developers straddle two separate web development domains: the front end and the back end.
The front end includes everything that a client, or site viewer, can see and interact with. By contrast, the back end refers to all the servers, databases, and other internal architecture that drives the application; usually, the end-user never interacts with this realm directly.ย
The easiest way to put the full stack into perspective is to imagine a restaurant. The front end encompasses the well-decorated, comfortable seating areas where visitors enjoy their food. The kitchen and pantry make up the โback endโ and are typically hidden away from the customerโs view. Chefs (developers) gather permanently stored materials from the pantry (the database) and perform operations on it in the kitchen (the server), and then serve up fully-prepared meals (information) to the user.ย
ADVANTAGES OF LEARNING FULLSTACK DEVELOPMENT
You can master all the techniques involved in a development project
You can make a prototype very rapidly
You can provide help to all the team members
You can reduce the cost of the project
You can reduce the time used for team communication
You can switch between front and back end development based on requirements
You can better understand all aspects of new and upcoming technologies
SKILLS NEEDED
In this case, you might find various things in the internet. They all might vary. But I am keeping things simple. Among the things I am going to share, you need to focus on one stack instead of all of them. So, here are some of the skills needed to be a fullstack developer.
Back-end programming technologies:Python, NodeJS, Django, Express etc.
Database: PostgreSQL, MongoDB, MySQL, etc.ย
Version Control System: git, GitHub, GitLab, etc
HTTPS and REQUEST Methods (GET, POST, PUT, DELETE, OPTIONS)
Now, it iis important to understand that, the basics are same for all stacks but then the technologies vary. For example the frontend can be built with either React, Angular or Vue or any other framework/library. On the other hand, the backend can be built with either of Node.js, Django (Python) or Spring Boot (Java) or any other framework. I will go to that in the coming lines.
ROADMAP / PLAN FOR THE FIRST SIX MONTHS
About this, there might be multiple other roadmaps that you can follow on your path to become a fullstack developer. I came up with the idea that this path, that I am about to share, can be a planned start to your journey with all the content structured at the right time. So, let's see the plan for the first six months.
๐ต Month 1: HTML, CSS, Javascript
The basic skills required to create a website in HTML and CSS. Javascript adds functionalities to a website and makes the project responsive. HTML is for structure and CSS for Styling. DOM Manipulation and Responsive Web Design are important to practice. Learn about these from W3Schools.
๐ต Month 2: Web Design and Frameworks, Git, HTTPs
Work on Open Source Projects. Once you have good practice with HTML and CSS you can use frameworks like Bootstrap or Material CSS which makes it easy to create websites. Alongside that, it is very important to learn about version control systems (preferrably git) so that you can save and manage your code at GitHub, GitLab, BitBucket or any other similar tool. Also, it is important to learn about HTTPS and REQUEST METHODS (GET, POST, PUT, DELETE and OPTIONS).
๐ต Month 3: Javascript Programming Language
The most important skill and most asked in Interviews and Job portals for Web Development are Javascript. You can expect a lot of interview questions from Javascript, So it's important to learn how javascript works, data structures, and asynchronous javascript.
๐ต Month 4 & 5: Frontend and Backend
Once you are thorough with the above concepts then you can take your skills to the next level by learning Javascript frameworks/libraries like React and Node JS. Point to be noted, I am a big fan of MERN (Mongo, Express, React, Node) stack, so I am always talking about React and Node. But there are other options as well.
Other options:
Frontend: Angular, Vue or any other frontend technology
Backend: Django, Flask, Spring Boot, ASP.Net or any other backend technology
Please do some research in google about the 'FULLSTACK TECH STACKS' and choose the one that you are the most comfortable with. Just a reminder, if you want to be a Java Fullstack Developer, then you need to have Java knowledge before stepping on to learning Fullstack development. Same case goes for Python, C# or any other technologies.
Most importantly, when you start learning a new technology, please start by learning from the official documentation of each individual technology. Then maybe go for other resources from the internet.
๐ต Month 6: Database and Projects
In the final month, create a portfolio and create projects using frontend and backend technologies youโve learnt. Also, an important skill to have is knowledge of Database Management Systems like PostgreSQL, MySQL and MongoDB. Also, you need to understand how to connect the Database to Server using the backend Framework.
LEARNING RESOURCES OF FULLSTACK DEVELOPMENT
In the internet today, you can find various courses and tutorials on Fullstack development. But I know for sure that Freecodecamp website as well as YouTube channel covers all stack, so you can easily learn from them. On the other hand, there is The Odin Project. You can learn about JavaScript Fullstack Developer or Ruby on Rails Fullstack Developer. Here are the links to them.
Freecodecamp Website
Freecodecamp YouTube Channel
The Odin Project
Of course, as I said, you can look for courses in other websites as well. Here are some of the best platforms to look for courses.
Codecademy
Coursera
EdX
PROJECT IDEAS
Here are some projects that you can try when you are learning or after you have gone through all the things needed.
E-commerce website
Food delivery app
Social media app
Chat messaging app
Content management system
Project management app
Gym Tracking System
Real-time Chat App
Bug Report App
Hotel Booking App
Staff Management System
Online Store
INTERVIEW PREPS AND RESOURCES
Remember that a fullstack developer job is a vast space and thus there are many things that you need to keep focus on to ace the interviews. Here are some points where you need to take special care of for the interviews.
Javascript Programming Language and Data Structures
CSS Concepts like Flexbox, Grid, Inheritance, Specificity, etc.
React JS and new features e.g: Context API and Hooks
REST APIโs and SQL and DBMS
HTTPS, Requests, Response, Servers.
Of course there are more things to focus as well, so research about the most important topics from the internet and then take special care in preparing for those questions.
Here are a few links to resources which will help you preparing for the interviews.
Coding Interview University
Interview Cake
Interview Bit
Tech Interview Handbook
Fullstack Cafe
Word of advice for newbies
Please donโt wait for people to spoon-feed you with every single resource and teachings because youโre on your own in your learning path. So be wise and learn yourself.
Check out my book
I have curated a step by step guideline not just for beginners but also for someone who wants to come back and rebrush the skills. You will get to know from installing necessary tools, writing your first line of code, building your first website, deploy it online and more advanced concepts. Not only that, I also provided many online resources which are seriously spot on to master your way through. Grab your copy now from here. Or you can get it from this link below.
Dive into the dynamic and ever-evolving world of web development with this comprehensive guide, perfect for both beginners eager to learn an
About Me
I am Ishraq Haider Chowdhury from Bangladesh, currently living in Bamberg, Germany. I am a fullstack developer mainly focusing on MERN Stack applications with JavaScript and TypeScript. I have been in this industry for about 11 years and still counting. If you want to find me, here are some of my social links....
. . . . Have anything to add? Feel free to leave your questions or ideas or just say hi in the comments :) Happy !๐ ๐๐ฌ๏ธโ๏ธโ๏ธ โโโโโโโโโโโโโโโโโโโโโโโโ โญ CAREER CHANGE TIPS โโโโโโโโโโโโโโโโโโโโโโโโ ๐ How to become a self-taught developer? โก Useful links and roadmaps in my bio! โโโโโโโโโโโโโโโโโโโโโโโโ ๐ Follow: @rehman_coding ๐ผ Portfolio: https://rehman-portfolio.netlify.app/ โ๏ธ GitHub: https://github.com/MuhRehman ๐ LinkedIn: https://www.linkedin.com/in/abdul-rehman-%E2%9C%94-8611505b/ โโโโโโโโโโโโโโโโโโโโโโโโ #programming #coding #programavimas #programuoju #karjera #javascript #reactjs #vuejs #gatsbyjs #nextjs #frontenddevelopment #fullstackdevelopment #javascriptdeveloper #reactjsdeveloper #vuejsdeveloper #peoplewhocode #codingdays #100daysofcode #learntocode #selftaughtdeveloper #softwareengineer #webdevelopment #webdeveloper #websitedeveloper #websitedevelopment #webapp #uxui #ui #frontendengineer #codingsetup https://www.instagram.com/p/COcmC43Ai2M/?igshid=1ja5s0o1vk7p5