I am first and foremost a computer programmer. I fell in love with computers at age 11 when the possibility of a personal computer was a theme for science fiction. I grew up thinking that HAL, the computer of “2001 an Space Odyssey” was a goal in the distant future that I may not be able to see.
In my last year of High School I learned to write programs in FORTRAN IV. I also learn how to punch cards and that the reality of computers was very much divorced from my ideal.
I always wanted to do my college education at the National University in Mexico. Unfortunately, in the year before I was to start, there was a worker’s and student’s strike, that lasted for 18 months. As an alternate school I applied and got accepted into the “Universidad Iberoamericana”, a very prestigious private university in Mexico City.
I choose Civil Engineering as my college major, mostly because there was no curriculum for Computer Science at the time. The closest was to study Mechanical Engineering with an emphasis in Electricity and Electronics. Since my father and most of his friends were Civil Engineers I was compelled to go that route. However I spent my four years in college learning about computers and how to use them to solve problems.
My father had a construction company and during my first year in college I wrote for him a program to do Job Costing. That was a very important tool for his company because the contracts they were working spanned for several years and the prices for materials and labor change often enough to need to compute the contract price very often. Imagine having to do several thousand multiplications and additions in a matter of a few days. Mechanical calculators where very slow and electronic calculators did not kept a printed record, so they have to do the math, transcribe it and pass it to someone else to verify. Today with spreadsheets and databases that may be a trivial problem, but back in the day they had to devote a whole team of engineers just to do it. With the program I wrote the turn over time was reduced from several days to a couple of hours.
I finished college in December 1976, and I did my Master in Computer Science in the “Instituto de Investigaciones en Matemáticas Aplicadas y Sistemas” or IIMAS in the National University in Mexico (UNAM) in 1978-79.
After college I started working in different projects, all related to computer programming. I wrote another version of my Job Costing program, this time for a DEC PDP 11, and using Basic instead of FORTRAN. I tried to sell the services to construction companies, but computer time price was still very steep for most construction companies in Mexico, typically very small operations with under 20 employees. I did several programs as a free lancer, not all related with construction, but mostly using either FORTRAN or Basic.
In 1977 Apple released the first Apple II. It did not have a lot of memory with only 4 KB of RAM, and it had an 8 bit processor, the 6502, running at 1 MHz. But it was the first micro computer that came completely assembled and ready to go, including a keyboard and game paddles. It was not enough for serious business applications but the personal computer had arrived. In 1980 Apple released the Apple II Plus with standard 48 KB of RAM and the ability to add 16 KB more in an expansion card. That was the computer I was waiting for. With the 16 KB expansion you could get the UCSD Pascal compiler and operating system. That was a very robust software platform and provided the tools to build business software.
I finished a version of my Job Costing program for the Apple II in April of 1980. I sold the first copy just a couple of weeks after that. The biggest challenge was that most potential costumers did not have computers and I had to sell the hardware along with the software. At that time, the computer market in Mexico was restricted by the government, and importing computers was difficult and expensive. Regardless of that by 1982 I had sold several hundreds of copies of the program and had started a successful company to write and sell computer programs. In 1985 we started making programs for the IBM PC and eventually we published about 17 different titles, most of them related to the construction industry, but we also explored other markets, like word processors, databases and office software. In the last category I lead the team that wrote FinalSoft Executive, a piece of software that was a precursor of current office software, with a word processor, an integrated database, calendar and email. FinalSoft Executive was awarded the prize “Windows 100″ by the Windows Magazine in 1992, the first year of the award.
Moving to California
In 1991 I was approached by Action Technologies, a software company based in Alameda, California, to participate in a project to convert their software from DOS to Windows. I joined the office in Mexico, and received an invitation to move to the United States in December 1992. They sponsored my working visa and later my green card. At Action Technologies I worked in several projects, all related to workflow. In 1995 I lead the team that released Metro, a Web based workflow application framework. Metro and the underlying Workflow engine became an important source of business for Action Technologies, as it facilitated the implementation of workflow applications. In my last role at Action Technologies I was part of the professional services group, and I was in charge of writing workflow applications for our customers.
In 1996 my wife and I decided to buy a house, and since the process in the United States is very different to what we were used in Mexico we decided to take the “Principals of Real Estate” class at a local community college. That would have an important impact in our lives later on, although we did not realize it at the time. We bought our house in 1997.
At the end of 1999 one of the Action Technologies vice presidents left the company to start his own business. Still related to workflow the new company focus was on provisioning systems. I was invited to work there an moved in December 1999. At the company that eventually became newScale I had different roles, both as a programmer, as a manager and as a professional services consultant. Along with other 3 programmers, we created the very first release of RequestCenter in under 6 months. Just at a time that the DOT COM bubble burst, newScale survived because we could show that we have a working program.
In 2002 my wife decided to get her Real Estate license in the state of California, and asked me to help study for the exam. Then she suggested that since we both had taken the class and were ready for the exam, to take it and get my license. And so we did. We got our licenses in 2003, and I still keep it current. My wife started working as very successful Real Estate agent that same year.
In 2005 I left newScale, as I was no longer happy with the working environment, and went to help my wife in the Real Estate business. But even then I could not stop writing programs. I wrote a program for doing what is called CMA or Comparative Market Analysis, and later a program to filter a feed of prospects that I received every day. Many of my coworkers wanted the filter and I was happy to oblige, and charge them for the service. In 2008 I wrote a program to help me do BPO’s or Broker’s Price Opinion. This is basically a determination of the potential price of a property and used by financial institutions when the need of a rigorous appraisal is unnecessary. With the help of this program I was able to deliver up to 10 BPO’s a day.
In 2008 I was approached by one of my Action Technologies previous coworkers. He was working at Wells Fargo and in need of senior developers to work in the writing of their front end applications. I started at Wells Fargo first as a contractor, and in 2011 they offered me a full time position, that I still have. I have had several roles in Wells Fargo, as a tech leader in the “Self Admin” redesign proof of concept, for the “Family Wealth” prototype and as the Front End leader for the Wires, ACH Payments and TIR applications. Currently I work as a prototype developer for the User Experience group under the Wholesale Internet Services group. I am a contributor to the WFRIA (Wells Fargo Reach Internet Application) framework.
Through all the years I have had the opportunity to learn, and in some cases forget, many computer languages and support software. This is an incomplete list:
- Computer Languages
- RatFor or Rational Fortran
- Basic (several versions and incarnations)
- Algol and Pascal
- SQL, several versions, from Microsoft SQL server, to Oracle and MySQL
- Operating systems:
- IBM DOS
- IBM OS
- PDP DEC RSTS
- Hewlett-Packard RT1000
- Burroughs MCP for B5500 and B6000
- UCSD Pascal for Apple
- Microsoft DOS
- Microsoft Windows
- Apple MacIntosh OS
- Microsoft Windows NT (All Windows OS from 4 are based on Windows NT)
- Unix/Linux/Apple OS X
- Application servers
- Windows IIS
- Apache Tomcat
- Node, Express, Mojito
- Development API’s and Frameworks
- Microsoft Foundation Classes
- JSP and Java Struts
- Google Engine
- Google Maps API
- Yahoo User Interface (YUI)