portfolio logoAndrew Roe - About Me

I am a very seasoned computer geek and that's all well and good. But in today's computer world that is not enough. What makes me a valuable resource for your organization or enterprise is not only from my past experiences, work and otherwise, but perhaps more importantly because I continue my learning for today's needs and plan to continue to keep learn new things in the future. My past experiences are listed in my resume and I have summed up skills gained from those past experiences in my "Skills" web page. I have also summed up my learning progress in my "Learning" web page.

Perhaps it is helpful to explain a little more about myself. The first picture to your right (or below if using an iPhone) is overlooking the Mississippi River, which is where I now live. It is pretty far removed from where I grew up. The second picture is my first school.

As I reflect upon those two images I am reminded of all the changes I've had not just in life, but also professionally. I believe adapting to change is an important skill and necessary talent I can provide for your orgainization or enterprise. I recently saw a quote about adapting to change.

It is not the strongest or most intelligent who will survive but those who best manage change.
--Charles Darwin

It seems like a good quote for the reality of today. Not to suggest that those who can adapt to change lack intelligence or strength, but rather that it is a crucial need in today's computing environment to be able to adapt, change and constantly continue to grow ones skills in order to remain relavent. That is my goal and I think it is a worthwhile goal in order to remain relavent and valuable for your computing enterprise's needs.

But let me step back and tell you about my experiences and hopefully I can explain how those experiences make me more valuable to you. During my last semster in college I became enamored with "Basic" programming. The fasination was that a computer never mis-interpreted what you told it to do. It did exactly what you instructed it to do - good, bad and indifferent! This was a language I could really deal with. That lead to my first job, which was with Control Data Corporation, at the Advanced Development Lab. My job was writing a tape device driver on a 16-bit assembler machine for an external tape peripheral controller device to the main computer system. Although that today is a completely obsolete skill, I look back on that job as a job where I learned so much about how computers (electro-mechanical machines) really worked.

Much of the actual work involved error recovery handling. To this day, I'm firmly of the mindset - it's all about how to handling things when something goes wrong. So many times I've seen projects where co-workers assume that they are almost done when it all works for the first time; a time when they have not yet been confronted with nasty surprises. I feel sorry for them and I try to never fall into that trap. One might ask, is that really a skill. I think so. It was and is a lesson learned based on many late nights and weekends. I do consider being very aware of what might go wrong as an invaluable skill.

Many projects later and at various companies has required me to have skills in BAL (32-bit assembler), C/C++, Perl, bourne and bash shell. I have created many Word documents and used in-house test frameworks, CGI/Perl test scripting, SCSI protocal, ESCON/Block Mux Control Programs, almost all of which with device driver creation or maintenance and file system QA testimg. I also have extensively used various code repositories such as RCS, CVS, SVN and others. I have some familiarity with Ruby, Python, the Jenkins build tool, Agile methodologies and Git and am way to comfortable with vi/vim. These projects have presented many interesting challanges. But now, I believe many new and unmeet challanges will center around the web. It is time to focus on growth and change toward that direction. Thus my current "job" is to train and prepare for those newer challanges. Now my job is to focus on learning.

Upper Landing on the Mississippi


Deer Lake School

Photo by James Dean

Learning is something all of us can do and I believe should do. One thing I have already learned, mainly from my mother, is that learning to learn is a skill in and of itself. Learning to learn requires; keeping an open mind, willingness to dig in on our own, knowing when it is best to draw upon external training resources, keeping track of what we've learned, and repeatedly refreshing or updating what we've learned with new information when we can. Learning is a constant and valuable mental activity much like staying physically active and thus in good shape physically.

On my own time I have set up an AWS "LAMP" host and built up a simple web site that utilizes HTML, CSS, PHP and MySQL, as a learning exercise. I also created a Python Flask App to run on my home Mac computer and also did some very simple Java programming. But I have recently been given the chance to begin a Java Server Pages certification sequence of classes and that is what I'm currently actively pursuing. It has been very interesting so far and one of my first classes is for in depth learnig of HTML and CSS. I am enjoying the structure of learning that my classes are providing. The full suite of these classes will be a good review for my general understanding of computer science and in addition help me to augment my specific skills in HTML, CSS, PHP, MySQL, Java, Java Script, and finally, Java Server Pages. I also expect to be immersed in the usage of various computer tools, such as IDEs, editors, etc. while taking this training for Web development work.

I've seperated my resume onto a seperate web page My Resume. I encourage you to look around at other pages in this web site such as my "skills" and "learning" web pages for summaries of those skills and learning activities. Also, checkout my "fun" page for some interesting and/or fun facts. Finally, please feel free to contact me by going to my "contact" page.


Three words that describe me

From my earliest days at school and through many work experiences afterward I believe I've learned certain important values. I believe that I am;

Honesty

As mentioned above in the essay, I believe learning is good, but it is also important to recognize what doesn't change - to have learned what values are as invaluable in the past as they are today and will be so in the future. One of the key lessons in life is the need for honesty. We tend to recognize that honesty is needed in our interpersonal relationships. But it has surprised me when I've encountered those in professional situations that don't seem to recognize the importance of honesty in that arena too. In business lack of forthrightness just leads to unnecessary mistakes and missteps. Those missteps cause inefficiences and all too often outright failures! I try my best to be honest in all situations and will make every attempt to be honest with anyone in my professional dealings.

Dependability

A big part of honesty is being dependable. I like the notion of, "say what you do and do what you say." That sounds like a clique and I must have heard it somewhere. But it sticks in my mind and is something I try my best to adhere to. If I tell you I'm going to do something, I will make my best effort to follow through and do it. Sometimes we all run into difficulties, usually unforeseen, that keep us from the success we planned and expected. For me, in that case, it is incombant upon me to let those I've made a commitment to to know about my difficulty. In those events and as best as I can, I will explain in detail what unexpected challange caused my commitment to be delayed or whatever. That is the responsible thing to do. I don't like to be less dependable than expected, but what I insist on for myself is being dependable about is that I will let those who need to know when an expectation is in jeapordy of not being met as soon as possible. That to me is an essential business practice.

Being a Team Player

Being honest and dependable is what being a team player is all about. Being a good team player certainly involves listening and communicating, but that commumication has to be as reliable as I can make it. Being a team player can become a bit "squishy". There are times to speak up and get things ironed out. But there are times when it's best to focus first on getting one's assigned task accompished. As a team player it is important to know the difference and not just try to play the "notice how I'm being a great team player" aspect of work to excess.