6 most things to love being a software developer
Tags: discuss, career, motivation, yearinreview
Published: 2020-10-26 06:18:17

<img src="https://dev-to-uploads.s3.amazonaws.com/i/baq2blka4l662gzu4ms1.png" width=300 />
There are a lot of things to love about programming and also hate about it. It's always a love-hate relationship 😉. Ain't it?
One day, I decided to become a software developer no matter what. I will put my sheer will, hard work and commitment towards this. Rage built in me. I quit my job as a customer support associate in Amazon. Applied for a post graduation and got into college. I really had 2 options. One, To learn programming all by myself through internet. Two, To join college and force myself into discipline so I can become a developer one day

I chose 2nd option and today I'm a full stack engineer. So, here are things I love the most in my 17 months of career.

### 1. The paramount of resources available

There are a huge ton of resources in internet. Even the newest technologies like `Deno` has many tutorials.
Core engineering, web development, system design, building your own programming language, IoT, cloud and what not.
You can become from a zero to hero with less to no cost.

### 2. Minimum infrastructure

To learn programming, you need
* Power Supply
* Computer
* Internet

And viola, you're good to go. Contrary to other streams, programmers read a lot of documentation instead of books. Yes, there are very good books related and some do read it. What I mean is, there is no investment needed in buying or borrowing books.

### 3. Community

It would be mean if I had not mentioned this point. The support is tremendous. These people are real life heroes.
* Stackoverflow
* Sub-reddits
* Github issues
* Blogs
* Twitter
* Dev.to
and many more.
Yes you are stuck, but there is also enough help. Whether it be asking for a technical question, job opportunity or freelance project there is always somebody who is ready to help.

### 4. It's magical

Really. It's magical right! By writing code, all we're trying to do is flipping bits. But, this has a potential to transform lives. Look at digital classrooms, payments, shopping, music, movies, gaming, photography, 3D printing and ton other things. You can do simple addition to quantum equations, all by writing code.

### 5. It's challenging

Most part of writing code is to first figure out the needs and solve the problem. Let's take a scenario.
```To automate a coffee machine to brew coffee 8:00am everyday```
To do this, you don't directly jump into writing code and expect everything to work.
We list down what we have, what we need, how we solve the problem and what have to be done to ensure it. We have a coffee machine, a Raspberry Pi. To automate, we have check a list of things:
* A power supply
* Milk
* Coffee beans
* Condition of the machine
* Whether jug is placed under the tap

Now, we break down the tasks:
* Check the conditions above either manually or through sensors
* Take input of time, schedule, amount of coffee(like 100ml) and type of coffee
* Ground beans
* Heat milk and brew
* Dispense coffee

This is just a simple example. You can apply the same to basic calculation and launching missiles.

### 6. Programming is an art

You probably heard this already. Numerous times. And, it's true. There is a ₹5000 wooden table and ₹50,000 wooden table. The difference is not just the type of wood used or the size, but the carpentry. Similarly, there are programs which can execute the given task in `n seconds` and in `n/2 seconds`. It will take time, patience, continuous effort, a lot of learning and dedication to be a good artist.

```
The more you practice, the better you get.
```

There are so many things we can discuss, but I decided to cut off here so I wouldn't bore you or take a lot of your time. 

You've reached until here and I'm so thankful to you. Let me know in comments if you like/dislike this article and add points to this.

To know me better, you can follow me on twitter. Link is in my profile.

Adios!