I could call it my 'Dream Job', except I feel like the process of getting it was very much a conscious one.
About six months ago I realized that while I knew a lot about what I
didn't want in a job, that isn't a very good answer to the question "What are you looking for in a job?". I also observed that my technical education had been rather general, and while I knew some things about a lot of areas, I didn't know any one area with particular depth. This did not leave me in a position of strength when looking for a job outside of my prior core-competency in network management. I needed to improve my skills, and I needed to do it in a targeted manner.
A short while after I had these realizations, I started writing a post entitled "A Visualization Exercise" where I wrote short statements about what I want my job and career to look like, in the present tense. I never published this post, but every few weeks I'd have a new experience and learn something new about what I want, and it would end up in that draft.
I am happy to announce that I am now gainfully employed again. The
Software Developer in Test position at
SwiftStack very closely matches my visualization. (The primary bullets were from the original list. The secondary bullets provide additional detail regarding the current situation, and may apply to more than one primary element in the group.)
- I take classes related to Data Storage, Linux Administration, Security, and Performance.
- It looks like it's not a great idea logistically for me to continue taking classes at UCSC-Extension in Santa Clara, and I wasn't terribly impressed with the level of their classes. I have, however, discovered similar certificate programs out of UC Berkeley, and they have a program in Virtual and Cloud Computing that neatly maps to what I want to learn and feel would be useful at work.
- I work with people who help me learn
- My manager will continuously challenge me to solve his quality related problems.
- I work in / on / with open platforms, languages, and standards.
- I code in object oriented, hardware independent scripting languages.
- Python, Linux, Django, RESTful APIs
- OpenStack architecture is predicated on the idea of running a Cloud on commodity hardware running Linux and the freedom from proprietary lock-in.
- I contribute to open source projects
- The company I work for is a significant part of the open source ecosystem.
- All SwiftStack employees are expected to be involved in the OpenStack family of projects.
- Things I learned while volunteering at Mozilla have been instrumental in my being able to hit the ground running and make valuable contributions to SwiftStack even on my first day. I plan to remain involved, particularly in MozTrap development.
- I expect to build out 90% of our automation infrastructure using open source tools and hope to be able to contribute my solutions to the problems we face back to that community.
- I work on projects whose customers I can identify with. Particular areas of interest are medicine, exercise, education, government, economics, software development infrastructure, and quality assurance tools.
- My career is concentrated on specialties that endure and are universal, like quality, dev-ops, data storage and manipulation, and security.
- I work involves design, implementation, testing, documentation, and deployment.
- I share my discoveries and methods of solving problems with my colleagues, both inside and outside the company.
- I have an office-mate (or study buddy) with whom I can chat about whatever problem I am trying to solve. This person doesn't necessarily know the answer, but is familiar with the tools I am using and is on the same side of any applicable confidentiality fence.
- This one is still pending. Most of the engineering staff live with their headphones on, but we're also hiring so the right person may come along yet.
- I follow a number of professional blogs, and I use IRC or IM to communicate with my coworkers and colleagues.
- My coworkers enjoy the work we do.
- I work with people I can call friends.
- My team uses Agile development methodologies.
- My Acceptance Tests are run in a Continuous Integration environment.
- My test code is well-factored and modular.
- I participate in (both sides of) code reviews.
- I have time to take care of my health and fitness.
- Our office building has easily-accessible 5-story stairs. Instant exercise.
- I'm still looking for lunch-time Zumba without a contract.
- I'm still looking for / might build an open-source exercise tracking tool to manage my workouts and progress.
My career is clearly progressing.