tldr; Increase your productivity by deliberately setting time aside for design, development, refactoring, and personal development. Protect your personal time and stay away from your inbox as much as possible.
For the last few years, I've essentially been a software developer working doing Tier 1 support. All I could do was react to the business unit reporting the largest issues. One of my true passions has been Agile software development and last year I became a Certified ScrumMaster. In my downtime, I developed our SDLC processes for the IT department. Suddenly our department was restructured and I was moved to our Software Development team. Now that I'm removed from the daily freak-outs of the business, I find myself actually analyzing and designing systems before jumping into a solution. Additionally, I also find myself refactoring code for the first time in three years.
At first I though this was because I'm physically separated from the business. Interestingly, I've found out that what is actually happening is that the SDLC process actually increased our the delivery of new features and bug fixes at such a rate that the business is running out of things to request. To put this in perspective, in 2016 we had only about 10 releases whereas year-to-date we have had 8 releases. Also, the business units are taking much more time to define their problem space or they modify their business processes to harness the seeded functionality of the software platform. But this has caused a major shift in my day-to-day thinking and overall picture of what is happening around me.
Honestly, I'm relearning how to be a developer. Beforehand, I was essentially acting as Tier 1 support and putting band-aids on the system to just get the ticket board to be quite. Now, I have to learn to adapt because I keep running into walls and painting myself into corners and I realized it was because I was still working in that support mode. I wasn't analyzing the problem and designing the solution. I just furiously Google searched whatever line of code I was working on until it worked (which never did). I was just wasting my time and never getting anywhere and getting intensively frustrated. I decided I was going to find some help and I stumbled upon a blog post that caught my eye:
Design Your Ideal Week-Increase Productivity
I decided to design my week with some themes that I feel are important for a software developer and strategically divided up my calendar to stay focused on my tasks.
- Design - Designing the software solution before you begin writing code.
- Create - Writing your code and documentation
- Refactor - Reinventing and cleaning your code. Paying off technical debt.
- Personal Development - Reading blogs, listening to Podcasts, conferences, and reflect.
- Not Negotiable - Lunch, workout, remove yourself from your desk and unplug.
- Email - Reserved from responding, clearing, or sending email.

No comments:
Post a Comment