How software developer can make his life easier at work

suraj adsul
5 min readApr 21, 2018

The company I work for is a medium sized web application development company.
When you work for a company you have to follow the certain set of rules. And there are the certain set of things you need to do throughout the day apart from the development. Here I will share some tips that I implemented in my day to day life. As a developer, you can automate a lot of repetitive tasks that are too much boring to do. All scripts provided here are designed for me. You can modify that scripts for your own use or you can draw inspiration from that.
I will share a list of things that I automated at my workplace.

1] Daily I need to send punch in and punch out mail to my project manager to keep the track of my in and out time. Because if you miss biometric punch-in then at end of the month you can ask PM to reimburse that day.
So It takes 5 minutes to log in to your mail account then type the punch in mail and hit the send button. It takes your precious time. Because when I arrive at the company I just want to dive into my work. Because over the night you get some fresh ideas and you just want to implement them. At the time of leaving typing mail is too much of thing to do. So I just automated this task using shell scripting. Off-course you can use python to do this or any other favorite language of yours. But using native tools to do a simple task is the best way to do it.
So I added a script in the startup as I use Linux for development. So whenever at morning I start my PC punch in mail gets sent automatically and when I shut down PC punch out mail gets sent automatically. So I saved 10 minutes of my day.

2] Next thing we need to maintain project plan in Excel Sheet like how much hours needed for each task, date, status and future project plan. This varies for each project. The first project I worked for has an offline sheet that needs to be maintained. So I need to update the project plan once a week and maintain the status of that project plan throughout the week. Also, I need to send the development status mail to my client. So manually I update the project plan once a week. Then I have written a script which will pick the status from project plan for that day and add a task status in-progress/completed based on date added to the plan. So I don’t have to worry about sending the mail about development status to my client.

3] In another project I need to maintain the daily project plan in google sheet and I can do that in a programmatic way but it’s more time consuming and it may turn out a whole different project. So I used an online site which will manage this for me. If you don’t know this site then this will change your life. So on this site, you can automate most of the applications used in IT field. So I used this site to maintain the google sheet through the slack channel. So at daily 8 PM, we post the status on the slack channel and it automatically picks up the status and adds it to a google sheet. One thing I hate is maintaining sheets. So by automating this, I saved almost half an hour.
Zapier

3] The project I’m currently working on has 5 staging environments so whenever we finished a feature or bug fix we need to add that on one of the staging environment. And we need to mention which branch is checked out on each staging server within the status. So daily I need to SSH the server switch to each staging server note down each branch name then send that to a client on the slack channel. It’s repetitive task so I automated that. I created a shell script which will run daily at 6 pm except on weekends. It will SSH into a server, switch to each staging server, picks up the branch names and send it to slack channel. So I don’t have to worry about that too. God, I love shell scripting. I use shell + PHP to do most of the automation.

4] I work until 10 PM. And one of my friend waits for me to join the dinner at night. Sometimes I need to stay late at night and I always get lost in the work and I forgot to message my friend that I’ll be late for dinner. He always gets angry about that. So I created another shell+php script that will send him SMS that I’ll be late if my PC is turned on after 10 PM. Isn’t that cool? As he’s not from the technical background and now he’s pretty surprised about that I’m very punctual.

5] Sometime back I need a flat to move into another area. I was going through different site checking for each listing and comparing prices and all. The online list on different site gets updated daily. And daily I need to check the site for new listings. So I had created a script for this which will check the listing according to my needs and budget and it will send me an SMS whenever promising listing shows up. Later I modified the script to look for one single room within my budget because the problem was whenever single room available in flat it gets booked within two hours. I have created a cron which will crawl through that site for every hour. If something promising shows up it will send an SMS.

Other things I have automated.
1] Using Trello API to keeping the uniform number system across the different trello boards. Because whenever you move cards from one board to other the number gets changed.
2] Using Zapier to pass information from different webhooks for various purposes.
3] Using slack webhook to throw production exceptions on the slack channel. It helps me a lot. You can use relic or bugsnag for this. But I like the idea keeping things at one place. Using slack channel helps me to work on bugs immediately.

There are a lot of scripts I have written which gets changed for each project. But these are the most common once. I have added some of these scripts on my GitHub account. It’s been curated for my purpose. So feel free to modify them according to your needs. Some of these scripts won’t work right away on your machine. Because it has dependencies. The idea of this post to inspire you to automate your boring stuff. So get up and list down your repetitive task and think how you can automate them. If you like the post please share it with your friends, colleagues. Happy coding.

Originally published on my blog: http://laravelchannel.com/2017/10/01/how-software-developer-can-make-his-life-easier-at-work/

--

--