Tuesday, October 8, 2019

Adventures in the Land of Oracle and the Peoplesoft Test Framework

Hey everybody,

    I've been writing test cases with the PeopleSoft Testing Framework for the past year and a half, and I've found it hard to find any real objective feedback regarding how this framework operates and whether it's a tool that various businesses want to use.  So, I thought I would scribble my thoughts on the matter, and talk about testing with this interesting tool.  Oh, and just to be clear, I have a strong opinion that I am sure you will understand by the end.  (Scroll to the last line if you want to know the spoiler.)

   First, what is this thing about which I speak?  Oracle bought PeopleSoft some years back, and a tester on that PeopleSoft team wrote a UI automation tool to test new features when they come out.  He called this thing the PeopleSoft Testing Framework (which I will call PTF).  It is included with PeopleSoft, and it is a database-driven layer on top of Selenium as well as a UI to write/record and playback tests.

   When the County hired me to come on board and write their tests, I had never touched PeopleSoft before, and all I knew about it was that big companies use it for HR like stuff.  I think they hired me because the PTF UI had just enough clues for me to look at it, and see the similarities with Selenium development.

    Because I know Oracle gets a little litigious at times, I'll just describe the UI rather than post a screenshot.  The UI feels like a 90s era muti-document interface, complete with awkward elements that won't fit quite right on the page, and the inevitable empty spaces that almost always take up a third of the screen.  You have a sidebar that displays a folder tree along the left side, and inside that you will find tests and test shells.  The test shells are containers for you to execute tests from in a specific order.  The main meat of the program comes from tests - which look a lot like test shells - and are displayed as a table of values.  Each row is a test step, and the steps have some general properties like ID, comments, and a checkbox to toggle a step active/inactive; however, the meat of the tests is contained in the Type, Action, Recognition, Parameters, and Value fields.

     Type is used to point your action to a type of element on the page, the browser itself, or back at the PTF tool to run a function.  Each Type has a list of supported Actions (I.E. the type "button" has a "click" action.  The Recognition is mostly used for HTML element selectors, but there are exceptions to this, like the "Page" type, which uses GoTo and a unique identifier for the page.  You can pass Parameters to a special type of test call a library tests, and the "Get Property" Action on many Types will use Parameters to determine the exact property you want as well as what Variable you will store it as.  Finally, every test has a set of Test Cases, which use the Value field to create variants of the test.

Here is an example of what a test case would look like:

     The above, opens a new browser and logs in with a test user specified in the global PTF configuration (more on that later.)  it loads a page, with a value of "add", which actually loads a URL within the PTF environment (again in the global configuration), then clicks over to a section to create a new user.  PromptOk is a special action to click that add user command.  Finally, it enters text into a textbox on the page with the desired name.  The Value here is actually a variable, stored globally in the database.

     So, I said globally there a couple times.  PTF uses a global configuration for each environment; this locks down the base URL for the test, specifies a browser, and securely stores a username/password for use in your tests.  Also, because EVERYTHING is stored in the database, so are the variables, in fact, you can view your PTF variables using the regular PeopleSoft web UI.  There are also certain permissions in PeopleSoft security to allow a user to create, modify, or run PTF related things.  I'm not getting into that here.

     Now, I described the UI a lot, but if you go down the road to learn about PTF, everyone promotes the test recorder feature.  It does it's job well, but only works in Internet Explorer, and not even Microsoft wants to support that anymore; however, it will record what you click on and where you go.  There are also a few configuration options for making it recognize when you are just clicking through menus, and it will deactivate those steps in favor of a single goto action (however, it saves both methods to the test.

     Once you record some tests it is time to playback, which is the part about PTF I hate the most.  When you playback tests they run extremely slow.  I don't know if it's something the County has done or everyone has the same problem, but the tests are only capable of filling out about one text box per minute.  I have seen it take 5 minutes just to log into the system.  In theory, your tests would be running over night when nobody is sitting around watching the paint dry, but I have had a lot of problems getting command line execution to work correctly, and nobody can touch the keyboard or mouse while the tests are running.  I have also had a whole host or problems getting it to run in a Windows VM as well, and you can wave goodbye to Linux support.

    We found that things run well as long as we had a dedicated computer sitting in a corner cube to run the tests on, and we didn't mind leaving the computer unlocked when we walk away while still signed in... this part always makes me cringe.  I dread the day someone causes havoc while logged in with my credentials because of this issue.  I have found that if I log in using remote desktop, things work okay most of the time, but then I need to babysit the tests because we will occasionally get errors because it won't type in a value in some random text box; I suspect this is some sort of network related snafu, but it makes execution hard.  If you run in Hyper-V, get ready for random crashes and network failure messages, and god help you if you are connected to a VPN.

     As you might have picked up on at this point, running the tests requires constant babysitting.  I was told and once upon a bunch of the tests passed on to me ran smoothly, and nothing ever went wrong, but in my experience, this has never been the case.  You will run a testshell, that shell will call five test cases that run great, then the sixth one fails.  You review XML the log in PTFs internal log viewer and find that it didn't type in a required field, and the test failed half way through creating a complex object.  Fixing the problem looks like this:

  1. You take the shell you are running, and deactivate the tests that succeeded
  2. click into the failed test, make sure you are viewing the correct test case
  3. deactivate whatever steps succeeded
  4. possibly add an extra step to open the partially created object and edit it 
  5. deactivate all the steps in the shell after the object is created
  6. re-run the test... the mysterious failure goes away!
  7. remove or deactivate the step that you possibly added to the test
  8. re-activate all the stuff that was deactivated in step 3
  9. deactivate everything that has been run in the shell
  10. reactivate anything that was not run in the shell
  11. run the shell again and pray you don't get another failure like that
  12. possibly repeat steps 1-11 several times, but for a different failure in another part of the shell.

As a result of running these automated tests a few times, I know in detail all of the steps created in each script.  I know that if one part of the test fails, I need to manually go into the database and correct the data by hand with SQL or a compare report will fail.  I have an intimate knowledge of this kind of thing just from troubleshooting my tests, and saying.. well, lets see what happens if I just push forward with the tests even though that step failed... or I just repeat this step and create a new position rather than correcting an incorrect position.

Getting support from Oracle is painful.  You always get sent to an over-sea support center where they ask the same 10 questions before escalating your issue, meanwhile, you only get one message per day unless you decide to work in India's time zone; often times, issues will magically resolve themselves after a week with no action done by you. 

There is also no community support.  Or very little.  Most forum topics are asking for success stories with PTF, and the Oracle PTF focus group hasn't proven to be a source of information.  The only documentation Oracle has on the the tool is a chapter in their documentation on PeopleTools, and a $2,000 course that pretty much just walks you through the UI, and the teacher will not understand in-depth technical questions about the tool.

However, in the back of my mind, I keep looking back on my previous decade of experience before coming to work here.  I think back to the days of coding tests in Specflow/C#/Selenium... or Mocha/ heck, the other day, just for laughs I implemented a few of my tests in Robot Framework with Python... and that is when I lost all hope for PTF.

I admit, the idea of hiring a developer to write automated tests can be intimidating, but if you have a budget for using PeopleSoft, you have a budget for it.  The thing about Robot Framework specifically that really won my admiration at this point is actually the report it generates.  Just google RobotFramework tutorials on YouTube, or you might be able to access for free via your public library's website (you don't even need to leave home!)  Why do I happen to like it?  I'm glad you appear to care!

     Robot Framework has a nice keyword driven syntax.  So, you can start by describing your test in english, and gradually convert each sentence into code.  For example, start by writing a user-story like suite name  "As a ___ I want to do ___ so that ____ happens."  Then elaborate with a series of "Given ___ when someones does ____ then ____ happens" tests.  Each line of that file is a keyword, so, you can create a hierarchy of .robot files that define each keyword as a series of steps.  There are tons of libraries to add database, API, and even Selenium/Appium functionality to your tests, and if you really need custom functionality, everything is open source, and there are even tutorials on how to create your own custom libraries written in python.

     The tests support running locally, pointing at your own Selenium grid, or pointing to a cloud provider like browserstack of Saucelabs. You can even run multiple browser simultaneously.  However, best of all, is that report file.  It gives you a great summary that breaks down each file run into a bar graph of how many tests in that file passed/failed.  When you hit failures, clicking on the failed test opens a detailed log page, and you can drill down to the exact step that failed (complete with screenshots.)

     As a proper test automation framework, RobotFramework gives you the ability to write a custom piece of code that automatically run before/after all the tests as well as before/after each test.  Plus, there is a Jenkins plugin that perfectly integrates the whole thing into your build reporting pipeline.  Using a different CI server?  Don't worry, you just need to specify a folder to save the report in, which will contain everything you need.  results are in XML by default, but you can change formats if that works better for you.  I'm sure people will make more plugins for the Atlassian and Microsoft crowd too.

The final amazing part is that there is tons of documentation and an active community.  During the process of writing a few tests as a POC to compare against PTF, I found a link to almost everything I needed on the main website, and nearly all the github documentation pages followed the same format.  Nearly every question I came up with had an answer on Stack Overflow already.  The couple I had to ask were answered pretty quickly.

So, my conclusion is that it's really hard to compare PTF with a Selenium framework.  The theory behard PTF is that your PeopleSoft experts will be able to record tests and play them back rather than running tests manually, and sometimes it works that way, but my experience has not gone that way at all.  The reality has been that I need to fall back on my Selenium experience and web development background constantly.  I frequently end up using browser development tools for inspecting elements and exploring page DOMs to better define my selectors.  I've spent so much time debugging the tests, I constantly wonder if it really is faster than running the tests manually. 

That said, let me circle back for a second to this topic of learning curve, because that seems to be the #1 thing going for PTF at this point.  For that, I point you to Selenium IDE.  A wonderful tool that gives you almost all of the functionality of PTF.  Just record you tests in a browser, and you can play back the tests.  However, when troubleshooting, in both situations, you will need a lot of technical knowledge to parse through the depths.  So, if you are writing Selenium tests in C#, PTF might be easier, but it's not nearly as powerful.  Javascript is probably just as steep of a learning curve.  However, I think Python with Robot Framework is the easiest way to go.


PTF has poor documentation, little-to-no community support, inadequate corporate support, its limited to only controlling a single browser ata time, while connecting to a single PeopleSoft environment at a time, on a dedicated computer, and has no Continuous Integration server support.  On the other hand, Selenium has tons of documentation, a massive community, supports multiple simultaneous browsers, can handle multiple URLs to any site simultaneously, can run in the background on your workstation, and was built to be run from a Continuous Integration server.  Additionally, Selenium is way faster, and only a slightly steeper learning curve in some cases.

Anyway... I just had to vent for a few minutes... PTF is driving me nuts right now.


Spoiler:  I have grown to hate PTF and will never recommend people stray away from Selenium.

Friday, June 14, 2019

Can I come back to blogging?

So, I've been debating with myself if I want to go back to blogging again.  I tried switching to wordpress for a little while, and I even hosted my own wordpress blog on my home computer (pretty much just for personal journaling, not really to share.)  I keep wondering if anyone really cares what I have to say.

So, in the meantime I've: had 2 kids; bought a house; changed jobs... 3 times?; gotten what seems like a dozen certifications; Jaani died; and firmly established that I hate mowing the lawn.

Some of these things have not been completely positive... Jaani died on my birthday last year, which was a pretty traumatizing event; I'm just happy my older daughter didn't cry too much, because I would have lost it.  My younger daughter has officially been alive for 4 weeks as of today.  That's kind of an accomplishment; even if a really low bar.  My marriage is going really well; it appears I married super mom, and it just adds to the immediately apparent things that have gone well (however, improvements to our financial situation is probably still more immediately apparent... despite taking a 30% pay cut to work at the County.

So, let me break out to talk about the work situation.  In April of 2016... oh man, I had just left Avanade... that seems like a lifetime ago.  My wife was still pregnant with our first daughter.  So, I had left Avande on April 1st... they announced in the previous January that they were outsourcing our team to India... I spent the next few months teaching unqualified people in India how to do my job.  I honestly don't think any of them knew what they were doing, and inside sources tell me the project was scrapped as a result.  Avanade offered me a lesser job on April 4th... literally the next working day after April 1st.  I interviewed for Rightside, Amazon, and Avanade in the middle of April.  Avanade wasn't really so much of an interview, because I had interviewed for that role the previous February, but a check in to see if I would come back.

I told Avanade I would take the roll so I wouldn't lose unemployment for the next few weeks before I could start there.  Amazon and Rightside spent a week or two deliberating as they interviewed candidates; they responded within a day of eachother, and I chose Rightside because they had the most competitive of an offer as Rightside did...  So I ended up accepting the Avanade role, worked for three days, and quit when Rightside made an offer.  I worked at Rightside's team until January 2017, when our team was sold to Tucows, and they laid off everyone. So, after a short search, I moved on to a contract with Expedia; I stayed there for about 10 months.  My manager there actually left after a month, so the whole 3-month contract-to-hire idea got messed up, and the team didn't have a budget to bring me on full time.  At one point, I saw a job application for the County, and just applied to see what it would be like.  They made me an offer, but it was a full 30% less than I was making at Expedia.  Honestly, I probably should have stayed at Expedia to see if they would make an offer once things on the team stabilized again, but - with some pressure from my wife - I decided to try life at a government job.  To be honest, it's stable, predictable, and low pressure most of the time, but I fear it doesn't challenge me enough.

So yea, that's my work story for the past 3 years...

Things are heating up on the training side too.  Last year, I did Microsoft Technical Associate certifications in Python and Computer Science; I got my ITIL certification, and I took 2 Peoplesoft classes covering PTF and Peoplesoft Security.  This year, I completed my Six Sigma Yellow Belt certification, and I'm committed to getting my ISTQB certification in mid-July.  I also signed up for a Google Cloud 12-week challenge to get a Google Associate Cloud Engineer certification, which makes me wonder if I should just go ahead and get my MTA for Cloud Fundamentals just because it's free...  I am also thinking about getting the Amazon Cloud Practitioner certification just to be well rounded.

 In addition to those certifications, I also finished a Professional Certificate in Six Sigma and Lean from the Technical University of Munich, and I will probably get the Google Cloud Architecture Specialization from Coursera because I can get a free month to work on it, and I will probably have some time with my upcoming parental leave.

Life with kids is different too.  I was starting to get used to having one around, and now that we have two, I feel like I need super mom to gain some upper body strength (the one area she is lacking...)  It gets hard to carry both of them around, and she is already overpowered by one 2 1/2 year old...imagine a 2 year old with a 4 1/2 year old...  But the kids are great overall.  They have their moment.  Right now they compete to see who can cry louder at 3AM... or how many times they can make mom go back-and-forth between the two bedrooms.  However, with the older one being able to talk more... and form sentences.  They say the darndest things.

anyway... that's a huge update.  Let's see if I can keep this up to keep things brief in the future 'eh?



Sunday, April 24, 2016

My post politically active year ever!

     So, aside from being a vocal Bernie Sanders supporter, I have also participated in more aspects of the social process than ever before.  I have been a regular contributor by making small $10 weekly payments to Bernie's Campaign, and I've even engaged in phone banking (an activity that I absolutely despise.)  All because I feel like for the first time in my life, a political figure actually represents my views.  However, I have been learning a lot about Hillary supporters in this process, and I would like to take a few minutes to describe what I am hearing from them.

     First of all, there is not much (if any) talk about what actual policies Hillary supports.  The vast majority of people I speak with just say they want to vote for her, and usually say they don't have a reason.  Honestly, who can blame them.  News channels like CNN and MSNBC only cover how much Hillary disagrees with the other candidates, but there is never any talk about what Hillary is planning to do.  She just talks about how she is being attacked by Bernie Sanders, who has tried more than any other candidate to keep the debate about policy issues, but she has only engaged in mud slinging.

     If her time as First Lady, A Senator, or as Secretary of State are any indication of what to expect, then we can rest assured it will be a year dominated by news of the various scandals she is involved with.  We can rest assured that she will continue to deregulate the banks, and we can be certain that the countless wars we actively engage in will continue to receive more tax dollars year after year.  Furthermore, the TPP would be signed, and tax loopholes would be expanded to provide new alternatives to Panama, now that recent events have exposed that loophole.  Our healthcare system would continue as is, and she would make more grants available to finance college education; both of these are part of the problem leading to astronomical College tuition rates and healthcare costs.  This is what we should expect if Hillary does exactly what she has been doing throughout her career.

     I have not talked with a single Hilary supporter who understands what Hillary will do, nor can they even explain what she claims she will do.  Again, who could blame them.  In order to figure out what her claims are, you need to sift through pages of empty campaign slogans and glittering prizes, and you still won't read much about what she actually plans to do.  Most of the time, especially in terms of campaign finance, you are looking at a candidate who benefits greatly from Citizens United and secret funding from Super Pacs; not to mention that she gets sanctioned for campaign finance violations in every campaign she has run.  However, thanks to the Clinton Defence Fund, she can just treat these pesky fines as the cost of doing business as usual.  If she did bring campaign finance reform, it would most likely be in the form of opening up contributions so she wouldn't have to pay so much in court fees and sanctions.

     One thing Hillary has established, is that she knows how to speak out against the ideas of others, but where she is lacking is the actual follow through on her own views.  She considers contacting your state representatives and asking them to support your candidate "harassing the Super Delegates."  She calls Bernie Sanders unqualified with no basis, and then claims she is being viciously attacked when Bernie said taking tens of millions in campaign funds from special interest groups through her Super PACs makes her unqualified; he claims that supporting the Panama Free Trade Agreement makes her unqualified.  Honestly, based on her campaign claims from her own website, she is claiming that she will eliminate the very things that have allowed her to run for president.

I cold continue to go on, and honestly, when it comes to the issues she lists on her own site, nearly every one of them is in direct contradiction to the actions she has taken throughout her political career.  Honestly, I can't go through all 30 of them here, but I encourage you to do some fact checking, and see what she has actually done.  You , may be suprised to find that while many of the points she makes on her site seem good on the surface, she does not have a plan to achieve any of them, and history has shown that she typically voted against these views in the past; with a few exceptions like Alzheimer's, sexual assault, and disability rights.  However, those are no-brainer issues that have not even come up during the campaign; additionally, everyone agrees with those points.

In closing, Anonymous has a great video that lists the scandals that Hillary was involved in.  While I admit some of these are not substantiated claims, but it was proven that she repeatedly lied to the public, she pardoned FALN terrorists, and repeatedly committed record setting campaign fraud offenses.  Anyway, take a look at this video, and judge for yourself.


Saturday, March 26, 2016

Why I Chose Bernie Sanders

Before half of our precinct showed up, they had to move us to the hallway because we didn't fit in the room...
After caucusing today, I got really riled up about why I chose Bernie. (121 people in my precinct, 93 for Bernie, 23 for Clinton – well over 1,000 for my district showed up!) Part of it was because I chose to get involved when it came time to give arguments supporting him after the Clinton candidates spoke, and the thoughts are bouncing around in my head now, so I feel like I need to get them out! So, here I go… A vote for Bernie is a vote for:
  • Eliminating the health insurance racket, not reforming it.
  • Eliminating the overpriced private school system we refer to as Universities and Colleges, in favor of updating our public school system to include a college education.  Increasing access to grants and student loans has resulted in over a Trillion dollars of outstanding debt, and the 37th education system in the world in terms of quality.
  • Eliminating tax loopholes, that allow large corporations like the NFL, Microsoft, Walmart, and Apple to shift profits to overseas tax havens, costing the American public Billions in taxes each year (I.E. $40 Billion from Microsoft and nearly $100 Billion from Apple every year!)  Plus we all know the NFL should not be considered a non-profit tax-exempt organization.
  • A vote to repeal citizens united, which Hilary has utilized in every campaign she has run in the past 6 years (thus, no way in hell she would change that.)  I suppose rootstrikers.
  • A vote for trying to confront Islamic extremists by disproving their argument (and primary recruiting tool) that the western world doesn’t care about them.
  • The only hope for achieving peace in the middle east is to treat each of the countries involved as equal partners in a mutual resolution to conflict. (I.E. Remain neutral and not side with Israel and Saudi Arabia exclusively in opposition to Iran).
  • We need to adjust our tax laws to remove tax caps for high income households; especially in terms of the 15% investment income tax, which almost exclusively applies to people with annual income above a million dollars.
  • We need to ask the question of where the money to pay for war is coming from.  This money is obtained by punishing the teachers and schools in this country with insufficient funding.  It is obtained by punishing the citizens of this country by not maintaining our existing infrastructure.  It is obtained by devaluing public transportation, and denying people a mass transit alternative.
  • We need to recognize that we only have one planet, and if we break it we might not be able to fix it.  Global warming is real, and regardless of how it is happening, we need to take every action possible to slow or reverse it’s effects.  We need to reduce subsidies for oil, coal, and nuclear power production, and increase subsidies for solar, wind, and geothermal power production.  There is no reason we shouldn’t have a 100% green power grid by 2020.
  • We need to promote a more sustainable materials economy.  Our buildings, electronics, and other consumer goods need to be designed to be broken down into raw components that can be used for the next generation of consumer goods.  This type of technological ecosystem will reduce the burden of disposing of waste, and reduce the demand for destructively mining new raw materials.
  • Electric vehicles are one of our best bets to reduce CO2 emissions.  Even though the current electric grid would produce a similar or greater emission per mile than gasoline cars; centralizing the source of emissions increases the feasibility of eliminating CO2 emissions from transportation.

Friday, May 23, 2014

Adventures to Amazon Land

South Lake Union Neighborhood seen from Lake Union
South Lake Union Park
     On the North side of downtown Seattle is a neighborhood called South Lake Union.  It is, as the name suggests, South of Lake Union.  On the shore of the lake you will find the MOHAI (Museum of History & Industry) as well as the center for wooden boats.  (Also home to the Jeff Bezos learning center - extra points if you know why he is relevant).  At the other side of the neighborhood is Denny Way, and my new employer The Seattle Times.

Center for wooden boats

Space Needle from Seattle Times

Amazon construction
     In the middle is the place where everything you buy comes from... At least the world headquarters.  That is, the main campus of Amazon's would headquarters.  It's a wonderful mix of brick and mortar retail shops... with the online giant that's putting them out of business sitting right on top.
Riding S.L.U.T. to Amazon
Part of Amazon Campus
     A land of contradictions... it's named after a place synonymous with nature, but in a place where anything older than me is decimated and covered in concrete.  Retail stores in the capitol of online shopping.  Its a hip little space with bars, stores, restaurants, and even a Microsoft office mixed in there.

I get coffee here in the morning
     Along the ground snaking through the forest of construction cranes is Westlake Ave... and the S.L.U.T. (South Lake Union Trolley) - a trolley that apparently uses the honor system to collect fares.  The person riding with me tells me he has been taking it every day without paying, and watching a few other people board I relief that nobody really pays.  I had to laugh a little at that.  I watch the S.L.U.T. pass me every morning as I walk to work, and if I really wanted, it would reduce a 1\2 mile walk into a small city block. 

I rode the S.L.U.T. back from Lake Union to the south end of the line.  Which is the heart of the shopping district.  Westlake Center, where the bus tunnel, most surface buses out of the city, the S.L.U.T., and the monorail all meet.  From this point, its a short walk to the Pike Market, the Elliot Bay waterfront, and the convention center, and all kinds of stores.

The Bus Tunnel
Park at Westlake Center

My purpose for visiting Westlake is usually because I'm either entering or leaving the city.  In this case, I came for the bus tunnel... a weird pseudo-subway where buses and trains meet in the same tunnel.  Here, the light rail can take you to the airport, and based on what looks like an honor-system fare situation, I bet most people ride for free.  The ebb and flow of people gathering in the station, then boarding and heading off on the light rail is neat to watch.  A train comes about every five or ten minutes, and because my bus was running about 20 minutes behind, I got to watch a few groups of people gather and board.
My broken bus... Where my bus broke down... Local Artwork...

Of coarse, today was not my most lucky day riding the transit lines.  My bus broke down just before getting on the Interstate to head back to Renton.  They said the check engine light came on, and it's against the rules for them to get on the highway with the light on...

Anyway, the bus parked for about 30 minutes until a new bus could arrive, then I boarded on and went home.

So, if you ever wondered about Amazon's campus, or what the area is like... maybe this will give you an idea.



Saturday, April 5, 2014

It's been a long time... How have you been?

I think the quote from GLaDOS is appropriate for any return after a long time.  The Portal villain certainly reminds me of my favorite things of the video game.  After all, it's all for science.

That's  not what I came to babel about this time.  To be honest, I was starting to wonder if I would ever return to this blog, or if it had faded into the ether of my distant past.  I find myself writing more in a book these days than on the Interwebs, but I don't know why.  Perhaps I don't always want to share my thoughts with the world first.  I guess I could do that, but digital permanence and all.

I recently have had a few things change.  I went through one of the hardest break ups I've ever experienced, and a couple days later I lost my job.  I didn't care about the job though;  it seems that SDETs are in high demand around these parts, and I have no shortage of options.

I recently started thinking about moving to Portland.  I love Seattle, and it would be hard for me to move on from here, but a breakup followed by loosing my contract, and finally a call from some recruiter who might offer you a way better job than you had... it all seems to feel like it was meant to be.  Funny enough, just the breakup made me think of leaving town to get a fresh start.

Anyway, maybe that's a thing... maybe I'm just babbling again... whatever it is, I might have some changes around the corner, but in the mean time, I have more time on my hands.  Maybe I'll just start blogging again for a while?   time will tell.



Wednesday, November 2, 2011

No picture today...

I don't have a picture (because I'm still waiting for my camera) however, maybe I can describe it for you...

Anyway, I have been waking up just before the sun rises to the point it would be visible if the clouds weren't hanging around.  In fact, the clouds are right on top of me most mornings, and even below me as I walk my lap around the river.  Along Riverside Drive, across the bridge at Wells, backtrack through Jones Park, and cross the river again at Bronson.  It's a short walk, maybe a quarter mile at best, but it is just enough to help wake me up and make sure Jaani can do his morning business.

I fill up Jaani's dish with food, and then I dump out, rinse, and refill his water dish with nice cool water from my filtered pitcher in the fridge.  This time of day, my phone keeps my rhythm for me... Cock-a-doodle-doo marks the time to wake up.  I need to get up for my morning eat and clean... Beep-beep, Beep-beep and it's time to take the dog for his walk.  Usually I get the early 1900's phone noise before making it back to the apartment, which means I need to check his food and water.  Honk honk means the bus is about 15 minutes out.  However, the bus alarm isn't just based on a specific time.  Sometimes it comes earlier than I expect... This alarm is from an App on my phone (other than the default clock app).  It updates the bus schedule in real time. I can pick up my phone and see how many minutes I have until the bus gets there.  It is handy.  (One Bus Away is the name of the app FYI.)

My phone is my master of scheduling.  Something that makes me very nervous to tinker with now that I use it for more than just fun and games.  A feeling that makes me a little nervous about the idea of getting the latest and greatest new gadget on release day; however, I suspect it still won't stop me.

So, this marks the time when I start heading toward the bus.  I need to allow about 10 minutes to walk to the bus stop in order to get there in time.  Sometimes I can wait a couple minutes because I time the lights just right, but usually the bus is pulling up just after I arrive at the terminal.  I usually manage to get a seat toward the back, but today I actually had to sit near the front (in the sideways seats that are reserved for elderly and handicap people (usually that just means I need to sit sideways and can't lean my head back.

Although I wouldn't lean back if I could.  I break out my tablet, plug in my headphones, and watch a video lecture.  I have about 30 minutes to watch lectures before I arrive at Overlake Transit Center.  I am excited about this bus ride in the summer.  The view of Mt Rainier from 520 East while leaving Bellevue is an excellent way to start your day off.  The fog is usually below the horizon.  The sun is behind the Cascade range to the East... Rainier to the South.  The left side of the mountain glows, the glacier on top can even blind you on a sunny morning when the sun hits it just right.  The right side of the mountain is dark and takes on a blue tint from the shade.  Sometimes the mountain wears a white fedora, almost as if it was lifting it's hat to say good morning.  For this, and only this, reason I almost always sit on the right side of the bus in the morning.

Once I arrive at Overlake, I am just across the street from the Studios West Campus. Well, across 520, which is a six lane road with two additional exit lanes on each side... So the bridge is like a small city block.  Then I cut between Studio A and the Commons... across to the far side of the campus, where I get to Studio C.  Once in the building, I take the stairs to the fourth floor and get my coffee before heading into the lab.

Things are a little different in the lab.  The teams have become adjusted to the new space.  Every part and tool has found it's home.  It's time for new developments; this is the story in the tech industry.  Stay competitive... be adaptable... do what the lab needs you to do.  This sometimes forces me to step slightly outside my Test Engineer role, but doubling as a part time Network Engineer... Software Architect... or miscellaneous grunt is something that just needs to be done from time to time.  You just read a few articles about what you are trying to get done... find someone who can give you practical advice... get-r-done!

I came back at a time where several teams need a little help.  All the new products that were put out this past year have created some interesting challenges, and new tests need to be run... test results from the summer need to be analyzed to make sure we learn from our failures and successes.  My boss likes it when I can point out things we could have done better, and how to ensure it really gets done better next time.  Even though that sometimes means making a plan for something we will never do again.  That's just the nature of being on the bleeding edge.  If one and three ideas pans out, we are making progress;  However, if one and six pan out... well, it's epic... whether win or fail.

By the end of the day I'm usually beat.  Half the time I can hardly make it through more than five or six minutes of lecture before I need to close my eyes and lean back.  I open my eyes to find I'm back at the Renton Transit Center... I walk home... get Jaani... walk him for a mile or two... then get dinner and relax for another couple hours.

I spend from 07:30 to 18:30 away from the house.  Which makes me feel really bad for Jaani.  All alone for 11 hours a day... although, I need to go to work.  Plus, I try to make it up to him on the weekends by not leaving him alone at all.

Anyway... That's the story with my work life right now.  It's not bad.  I get a sense of fulfillment form my work... a sense of greater being than just fending for myself in the wilderness... a sense of belonging somewhere that only comes from working with a great team of people.

So, that's all for now.  It's my story, and I'm sticking to it.