Geeks With Blogs

News Please visit me at my new blog!!

profile for Aligned at Stack Overflow, Q&A for professional and enthusiast programmers
"free in Christ Jesus from the law of sin and death." Romans 8:2 (ESV) Check out the Falling Plates video on YouTube.
more about the Gospel
And then listen to Francis Chan speaking at LifeLight in SD.



Programming and Learning from SD

I’ve been a software developer for about 10 years, 8 years in my current full time job and 2 years off and on in a part-time job during college. Every year we do a yearly review with a reflection form to fill out and a discussion after it has been looked at by  a few people.

This reflection got me thinking about how I’ve gotten to where I am now. 8 years ago I didn’t know .Net or C# (just some PHP I had taught myself in my college job) and was put on an small eCommerce site with WebForms and VB. It was painful and slow and we had many issues. Thankfully, my company was very supportive and aware that I was new to all of this. After that, some colleagues encouraged me to start studying for some Microsoft Certifications, specifically Asp .Net 2.0. After passing the tests and getting the MCPD Web Developer certification, I realized I now knew a lot about the framework that I wouldn’t have learned otherwise. That spurned me on to keep learning through studying for some tests, reading some books, and following blogs.

Today, I’m more interested in web libraries (AngularJs, Aurelia, MVC, Gulp, TypeScript, SignalR, etc as more keep coming out each week) and even if I don’t get to use them all the time at work, I’m trying to keep up with it and learn about them. Sometimes I can’t help myself.

I’ve come up with a non-scientific formulation that can be applied to many aspects of life. I’m sure others have come up with something similar, but I don’t have any direct sources (if you do, let me know).

Time + Input + External = Output (accumulative effect)

Time

Time is limited, we all know it. One day we won’t be around anymore. “So teach us to number our days that we may get a heart of wisdom.” Psalms 90:12 That’s something to seriously think about.

We’ve all heard the old adage that “Rome wasn’t built in a day.

Scott Hanselman says “You have a finite number of keystrokes left in your hands before you die."

How do you use your time to move towards a positive effect? Do you do it consistently and efficiently? The past years I’ve spent countless lunches and many hours in the evenings watching videos or reading books or studying for certifications. It’s very cool to see that knowledge build up little by little (the challenge is to be able to recall it months or years later) and how things I learned will help a future conversation or project. Even if it is just “I’ve read about that, but it looks promising. Let me do some more research and get back to you”.

This applies to much more beyond development, writing code, and solving business problems with technology.

Learning: Think about how you learned math. You start with numbers, then adding, then subtracting, then multiplication, then more complex things. If I had to take college Calculus again, I’d probably have to start back with Algebra and Trigonometry to get back into it.

By reading an hour a day for 2+ years, you can become an expert over time.

Music: On the DotNetRocks episode Getting into the Zone with Mark Seemann, Carl says he’s played guitar for 30 years an hour a day, and he’s obviously very good.

Relationships: It takes time to get to know someone. Think about your close friends or your spouse.

Input

I’m defining input as “What you do with the time you have”. Is it going towards a positive outcome or negative?

Focus: The level of focus you can keep on the input will determine how effective your use of time is. Are you trying to do too many things at one time? How are you deciding what to focus on?

Learning: What are you learning? Are you only reading and hearing or are you applying what you learn? Are you learning the right thing for this point in time of your life?

Who: Who are you investing in? How are you helping them move forward?

External

Team Members: If we let our team members teach us through conversations, code reviews, working through challenges, looking at their code check-ins, etc, then we can grow much more quickly. This will propel us forward as a group, especially as we invest back into them. This takes a lot of trust (that takes time to build), but it worth it in the end.

Family: Make your family a priority. They are very important. I strongly believe that all aspects of life are connected, so if you are ignoring your family or having unresolved conflict (seek forgiveness and reconciliation), it will affect you at work and what you are able to accomplish.

Health: Stay in decent shape. We can’t control all aspects, but if we aren’t healthy we won’t be as effective. (of course there are many exceptions to this rule in the development world that I know of)

Faith: We are body, mind and soul. Faith and your worldview will greatly influence you.

Output or Accumulative Effect

This is the result of the time, energy and external influence. Let’s try out a few examples.

Time + Input + External = Output (accumulative effect)

(a few minutes every day for a few weeks) + (thinking, writing, organizing) + (supervisor’s ideas, team members and current project, good health) = this blog post

(many lunches, some evenings over years) + (desire to learn, studying for certifications, reading books, taking notes, watching Pluralsight, reading blog posts) + (encouragement from employer, hour lunch periods, supportive wife) = deepening knowledge of development, processes and tools (becoming a better developer and employee)

(riding my bicycle to work and back home, 3-4 times a week, 7 miles each way) + (pedaling, energy, determination, desire to save gas and get exercise) + (weather, health, job schedule) = 1832 miles biked in 2012 (that was my best year, I’m continuing to ride as often as I can)

(years) + (5% of your paycheck to an IRA) + (stock market gains and losses) = ability to retire some day, nest egg, gaining money that isn’t tied to hours worked

(days, months, and/or years) + (getting to know each other, sharing knowledge, code reviews, working to help each other get better, may mean some time spent where you aren’t coding or just working on your own task) + (their attitude, work environment and stability, goals of the business, management) = team growth and team culture, moving to more efficiencies and solving challenges together

The formulation is not prefect, but works pretty well.

Goals, They are Important

“Where there is no vision, the people perish: but he that keepeth the law, happy is he.” Proverbs 29:18

We need to know what the goal of the accumulative effect or output that we are going for, otherwise we don’t know how we should spend our time and input. Here are a few ideas.

Retrospective: This is an Agile team idea, but we should do team and individual retrospectives often (weekly, monthly, yearly). Ask yourself, What things are going well? What things are not going well? What do I need to change? Record these and you’ll be able to see progress.

Make sure you aren’t acting irrationally.

Plan for the day: What are the 3 main things I’ll focus on for this day? What should I ignore, so I don’t get distracted?

Track time: If you’re like me and get distracted browsing the news or developer information, try using a tool like Codealike to track how much time you’re spending on things. You can also try the Pomodoro technique to help keep you focused.

What is success? Remember success isn’t all about earning money, or even completing the task. I have goals to be a good husband and father, to put things in the right priorities (God, family, work, fun). I don’t always achieve them, but these are some of my guiding principles

Therefore

Time is very valuable so we need to know what our goals are and use the principle of iteration and small increments adding to big things to our advantage. Think about how you can apply Time + Input + External = Output (accumulative effect) to life.

Proverbs 3:21 & 22

21 My son, do not let wisdom and understanding out of your sight,
preserve sound judgment and discretion;
22 they will be life for you, an ornament to grace your neck.

Posted on Tuesday, April 7, 2015 7:54 PM Productivity , Pragmatic Programming | Back to top


Comments on this post: Accumulative Effects

# re: Accumulative Effects
Requesting Gravatar...
I appreciate your work and your post makes me realize that although I am not a fan of programming, there are people for whom it is a daily activity that brings both money and personal satisfaction. Continue to share with us new information from your current life, because you have great things to teach us.
Crina

Left by Maria on Apr 09, 2015 2:34 PM

Your comment:
 (will show your gravatar)


Copyright © Aligned | Powered by: GeeksWithBlogs.net