My background

September 22, 2018

This isn’t my resume, but more like a statement of where my career started and where it’s been and maybe I’ll say something about where its going.

I started with a few very different opportunities from college. I could have worked at a computer re-seller (and services), or a defense contractor, or a telecommunications company, or a chip manufacturer. Since I had a computer engineering degree I ended up at a chip place. (Btw, kind of disappointed on their recent security vulnerabilities and how they handled them).

I worked with flash memory when I started at Intel. I kind of felt that flash was very important and lots of hand-held devices would need them, and if I was the big huncho I would have increased production of those chips, but unknown to me, the margins on those devices were stiff and Intel didn’t expand. I ended learning a little bit of C programming and more about Perl. I read my first really good programming book. I knew software was the place to be so then I quickly switched to a more software oriented role at the company. I did device driver programming. The funny thing was my device driver code didn’t control a device. It actually “stopped” the CPU and date the BIOS software. It was kind of fun to work that closely to the metal. I had an exposed mother board sitting on my desk and was debugging/running my code on that. It was tough because if you had a memory violation you basically crashed the system. Nothing to protect you when you are running in kernel space.

After 1.5 years I felt that I had enough of California and had to move back to Chicago to help out with the family. I kind of didn’t want to leave California. I actually should have moved in the other direction…east…to the bay area or SF. I should have gotten into the thick of the dotcom bubble. Instead I picked up a job at a company developing C++.

C++ is and was a difficult language to learn and especially with some complex templates it can be excruciatingly hard to read and maintain. I spent a considerable amount of time trying to become a C++ expert. I read all the important books and studied up on STL. Even though I excelled at getting a good grasp of the language, my career went stagnant. I wasn’t really learning anything and the product we were creating wasn’t really changing much. Also I knew the future of software development was in the web. I should have changed jobs sooner but eventually I found a way out and started working at a small real estate marketing company (4 devs including myself) that did C#, web services and small web sites.

I finally learned something about software design and development. I got introduced to Agile and TDD. It really opened my eyes. I kind of got that idea at the previous place and tried to implement unit testing and more readable code, but it wasn’t valued much. We made sure the code was tested and was readable and I had freedom to push new technologies and make an impact on the customers. I became quite competent at C#, and got started with Javascript (AngularJS). But after almost 3 years I did feel I outgrew the position. After failing an Amazon interview (which in itself is a story), I landed a new company which showed me that I still had plenty to learn.

I’m not a huge fan of working in retail, but there are things to learn wherever you get position at a company that relies on modern technology. What I did learn was more about enterprise software development. Latency, metrics, logging and working on a decent sized team are all things that I really didn’t capture on previous jobs. I needed to take those things into account and also there was the pressure of getting a feature to market quickly. I didn’t work too many late nights, but enough to get me up to speed on some modern software techniques and practices. Still there are currently a few things to learn still and I’m glad I can see what is left. I also felt that I became an expert at front-end development, especially Javascript and CSS. Also I learned a lot about NodeJS.

Maybe another move is in the future? To change the landscape is not always the best thing (the grass isn’t always greener), but on occasion it does pay off. I think the focus is going to be mobile in my career, but also I think I have talent to manage. To hire, develop and train engineers is something that I got a taste off and I think definitely I can handle the different aspects of management, which are good communication and leadership.