What is the role of a technical person in an organization?

The Swimming coach analogy

Imagine a swimming coach.
Swimming coaches are hired to teach people how to swim.

Lets take swimming coach A.
He knows everything about the pool.
He knows how your current skill level will react on the pool.
Since he knows that you are unskilled, he wont let you use the pool.
Or only let you use the shallow side, hoping that one day you will be skillful enough to use the deeper side.
He acted as a sentry.

Now here’s swimming coach B.
Like coach A he knows everything about the pool.
And he also knows your how your current skill level will react on the pool.
But he lets you use the entire pool because he knows he can “catch you if you fall”.
His expertise allows him to know what you can do and where he needs to intervene.
He acted as a guardian.

The Technical Role

If you have more than you need, build longer tables, not higher fences. -Anonymous (if you know who said this pls tell me)

Your should be acting as a bridge between your realm of technical info and others’ field.
You should act like swimming coach B.
You should act like a translator.

Doing this maximizes your value, instead of just being a “requirement” in the team

Real value comes from what you share and not from things you know (and other people don’t).


If everyone from different fields work like this, we can merge and maximize our skills and potentials to achieve things bigger than ourselves.

How many miles has your thumb scrolled?

I might mave scrolled facebook, instagram, tweeter, 9gag and other SnS sites and ended up feeling empty or like feeling that im wasting my internet access.

So lately i have been scrolling alternative websites(and their android apps).

Feedly.com

– a website/app that consolidates updates from your favorite blogs. (in my case i mostly follow sources of tech info and new ideas). Feedly feeds will only grow if you add sites to follow. With feedly i can now unsubscribe from emails from blogs.

Medium.com

– A website/app that allows you to “discover” articles on medium that suit the “interests” you put in your profile.
Feeds here almost never ends..there is always a lot to read.

Pocket

– A google chrome extension/website and android app.
– Allows you to save webpages and reaf them later at pocket website or automatically synced to your android devices for offline use
– A reading list
– thanks to jerome for introducing this to me.

Quora

– a Q&A website/android app.
– see feeds of question and answers related to your “interests” posted on your profile.

Simple VS Easy

https://www.infoq.com/presentations/Simple-Made-Easy

Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.

  • simple is not easy,
  • it takes effort to simplify things,
  • it is easy to make complex things,
  • it takes skill to simplify them,
  • it is not about how many tools you know, it is about simplifying the way they connect to each other and how your users use them.
  • we should aim to reach efficiency by simplicity

Simplicity is prerequisite for reliability.

Edsger W. Dijkstra

Why we need to share information to empower our team

What changes when we have access to information?

It widens our “map” , it gives us more insight on where we are standing on the map

It improves our perspective.
It gives us better understanding of potentials and risks.
It allows us to act faster and more appropriate to a situation.

Scenario #1

this is how it looks like when you have limited info.
what would you next move be?
can you calculate risks “from a higher perspective”?

Scenario #2

this is what it looks like when you have more access to info.
paths to success become more apparent.
risks can be more calculated.
you can finally think “from a higher perspective”

Look again at scenario#1,  success is almost in front of you. But what prevented you from doing that?
If this was a task you gave to your member, why did you not allow him/her to see it?
We cannot say “please try to look from a bigger perspective” while not giving resources
that would allow our people to see from that perspective.
Instead we should practice Stewardship  to share information and scale our operations.

Look back at scenario#2  did i really give you the full access to info?

Other References

What is Legacy Code?

Michael Feather’s defines it as “Code without tests”.

Legacy code is not really about old code.

[et_pb_section fb_built=”1″ _builder_version=”3.22″][et_pb_row _builder_version=”4.4.1″ background_size=”initial” background_position=”top_left” background_repeat=”repeat” hover_enabled=”0″ column_structure=”1_3,1_3,1_3″][et_pb_column _builder_version=”4.4.1″ type=”1_3″][et_pb_text _builder_version=”4.4.1″ hover_enabled=”0″][/et_pb_text][/et_pb_column][et_pb_column type=”1_3″ _builder_version=”3.25″ custom_padding=”|||” custom_padding__hover=”|||”][et_pb_text _builder_version=”3.27.4″ background_size=”initial” background_position=”top_left” background_repeat=”repeat” custom_margin=”|-305px||||”]

Michael Feather’s defines it as “Code without tests”.

Legacy code is not really about old code.
Old code with tests is maintainable, modifiable, readable, it is a testament that the previous team/developer(s) had concern, concern for the craft and the future maintainers of the code and the future of the organization.

spectactor: what is your team doing?

tech lead: ah, they are writing legacy code

[/et_pb_text][/et_pb_column][et_pb_column type=”1_3″ _builder_version=”3.25″ custom_padding=”|||” custom_padding__hover=”|||”][/et_pb_column][/et_pb_row][et_pb_row _builder_version=”4.4.1″][et_pb_column _builder_version=”4.4.1″ type=”4_4″][et_pb_text _builder_version=”4.4.1″ hover_enabled=”0″]Knowing just this solid definition of what legacy code is gave a direction to my way of coding, and the way set the direction of our software projects. It should be about quality, it could be achieved by automated tests. Test, test, test, acceptance tests, unit tests, integration tests, api tests, the Testing Triangle, all of my projects will have these to ensure we won’t be writing legacy code anymore.[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]