Things every software developer should know

  • You must be bored with writing code and hanging out here just to gain some knowlege. Well I would say “Smooth move”. I do the same.
  • Now In this shitty post unlike usual I want to share most important/ common topic every developer should know.

TLDR;

Here are the most common topic every developer should know

  1. Programming language
  2. Database
  3. API
  4. Architecture
  5. Library/Dependency

To get better idea lets understand one by one

  1. Programming language
  • Choosing programming language was never easy especially for beginner or atleast happened to me when I started
    learning program.
  • But I always knew that if you know one language does’t matter which language. other will be more or less similar.
  • I started with java and now I am very comfortable with dart, JavaScript, Python, Kotlin but ofcourse I am not master in any of those.
  • I am sharing this not to show off how many language I know but point here is that you don’t need to confuse which language to choose.
  • If You are comfortable with JS, learn js.If you are comfortable with C# learn c#.
  • But when time comes you can go for it, say some potential friend reach you and ask for native android app. you can lean java or kotlin.
  • I promised that time it will be lot easier to learn since you already know in and out of language you have learned before

Remember : The key is to start.Don’t just struck in which language to choose.

2. Database

  • Again similar to language,beginner always struck in which database to choose.
  • I know there are varieties of option and you can get lost in it but remember, These all database are not created so that you can learn all but to store data where anyone can use.
  • Base on your requirement you can choose any database

But You have no idea which one to choose?

  • Well as I said, choose anyone either sql or nosql does’t matter because if you know one,rest are similar.
  • I have done few project on sqlite,oracle sql,posgresql,mysql as database in past few years. Suprised! really no need to,because
    if you know one. rest are similar.
  • Same goes to no sql db such as firebase,mongodb,dynamodb and more

Remember : The key is to start.Don’t just struck in which database to choose.

3. API

  • This is the most confused and misleading term in programming community.
  • Every tech people explain in different way. But know this, When ever someone mention API either in blog,video, docs, It means one application is trying to interect with some other application.
  • Best example I can think of is YoutubeAPI. you can get your youtube video in your application using YouTubeAPI. That means your application is trying to communicate with YouTube.
  • I don’t know how to express how important API play role in programming irrespective of mobile,web,ml etc. remember API is everywhere.

How can I learn API?

  • Most people thinks reading is only for either arts or it is boring subject.
  • If you are one of them and you want to be part of developer then
    you need a change.
  • Programing is 50% of copy paste and 40 % of reading documentation/post and 10% of writing code.

Remember : The key is to start.Don’t just wait for someone else tutorial or help. Keep reading answer is everywhere.

4. Software Architecture

What is Software architecture?

“Software architecture refers to the fundamental structures of a software system and the discipline of creating such
structures and systems”

It means how good you write code.

  • Well, I will say this is very important and vast topic but If you are beginner, You don’t need to focus that much.But Once wise men said Knowledge is power so there is no harm in knowing it.
  • I myself have no idea about architecture almost 2 year. But I heard mvc , mvp,mvvm are some architecture that exist and people are using it.
  • As I told these terms are little deep and it will get you bored easily so just know this and don’t bother too much.
  • If you are more like intermediate and have clear idea of what you are doing and very comfortable with building project. then you should start
    thinking on architecture.
  • It will make your life easier as well as other life to read your project and contribute to your project.

Remember : The key is knowlege here.Don’t just feel like this is too much. You dont have to learn these overnight but to get start and gaining
knowlege,you will have to start from somewhere.

5. Library/Dependency

  • Ever heard of gradle in android, maven in java project, package.json in js and ts,pom.xml,pubspec.yaml in flutter etc . If yes good we are going to learn how important it is. If not,
  • These are the Library which is done by some one else and you are welcome to use but know this It is very important that you should know how to use.
  • Let me take an example, If you are android developer then you must be knowing Glide library. If this is the first time you are hearing then you are living under rock.
  • So Glide library is an image loading and caching library for Android.
    Android doest have proper image loading tool so we used glide similarly they are tons and thousand of library you could use in your project
    to make your life easier.
  • So I would suggest you to check out and play with it.

Remember : The key is to start.Don’t just make your life more complicated when you have easier way to do it.

Checkout more blog from CodingWithTashi. Follow me on twitter or Instagram or YouTube.

That all,Thanks guys, I hope you like this blog. please make sure to give clap 👏 and leave some engagement.

Mobile/Web Application Developer