Allow me to introduce myself. My name is Steve Allen, although you probably already gathered that from my username, because you're smart like that. :)
I'd really rather find out all about you, but since I don't know you yet, you'll have to reach out to me!
Just so you know what you're getting into, though, let me give you a brief outline of who I am with respect to the technological world, which is probably why you're here. (This is GitHub, after all.)
The nearly two decades I've spent so far in the development world have been a journey of self-discovery and growth. I started out as a simple FileMaker developer, learning the ropes at Richard Carlton Consulting, Inc., where I learned how to estimate projects, hit deadlines, communicate clearly, listen carefully, and find the best solution for my clients. Along the way, I picked up additional programming skills as well (listed below in the "Skills" section), in addition to becoming a FileMaker Certified Developer, a status which I have maintained.
Several years ago, I moved out of California to Arizona (yes, it's a dry heat), and started my own Steve Allen Consulting, LLC (aka SAC), mostly to put myself in a better tax position, but also because RCC is focused primarily on Claris' FileMaker platform and I wanted to be able to expand beyond that focus while continuing to do work for RCC.
In this expanded capacity, I was approached by an old friend from college, who asked me to do some business and project consulting for a small business owned by a friend of his. I was in a slow period with RCC's work, and I was intrigued by the particular problem set with which they were struggling, so I accepted. I was able to help resolve the issues, and coached them to a much better footing. Eventually, my company (SAC) was made a full partner in that business, in addition to our work for RCC and others.
I am available to help your business as well, through business or technical consulting, development in any of the skills listed below, or second (or first!) opinions.
In every engagement, I strive to listen carefully, communicate clearly, and maintain a professional manner. I'm not afraid to say, "I don't know", and I'm always willing to go find out. I consider personal integrity to be the most precious attribute one can have: it is to be guarded and maintained with utmost attention.
I am familiar with and have participated in several project management paradigms, including ITIL and Agile. I have also worked outside of these.
The keys for the success of any project are the following; paradigms can help obtain these, if used properly.
- Clear lines of communication
- Clear delineation of responsibilities, enabling and encouraging well-informed and actionable decisions
- Developing consensus around the common vision for the project
- Note: Often the common vision itself must be developed
- Flexibility to adapt to changing circumstance
- Commitment to Quality at every level
- Not as many people are actually committed to quality as might be expected.
- Quality is notoriously difficult to obtain without discipline.
- Personal and professional disciplines are paramount to ensuring quality at every level and every step.
- If working in a team, the structure should be set up to encourage and require such discipline.
- Quality is measurable. It is also beyond measure. Measure what is measurable. Find ways to check what isn't.
There is more, of course, but these are what I would call "essential".
Many developers have a slew of open source projects in their GitHub profile; however, most of my projects have been "work for hire". As such I do not own the IP, so those repos cannot be made public. Therefore what you can see doesn't accurately reflect my actual accomplishments very well. So I'm left with simply listing my skills, along with my self-perceived strength score (1-10) for each.
Also, although I do prefer to write "vanilla" code most of the time, sprinkling in libraries only where it makes sense, it is nevertheless sometimes advantageous to use a framework. I have also listed the frameworks in each language that I have actually used at one point or another, along with my self-perceived familiarity with each (again, 1-10).
Language / Platform / Framework | Proficiency Self-score | Notes |
---|---|---|
FileMaker | 10 | Certification maintained since version 8.5 (currently on version 19.3) |
HTML | 10 | |
PHP | 7.5 | |
- Slim | 6 | |
- Symphony | 4.5 | |
- Drupal | 3 | I have not developed new projects in Drupal, but I have extended and cleaned up existing projects |
- Wordpress | 7 | |
JavaScript | 8.5 | |
- Angular | 7 | |
- Node.js | 4 | |
- jQuery | 10 | I don't use jQuery all that much any more, preferring "vanilla" code instead, now that the browsers have mostly caught up. I used it extensively in the past, though. |
- Gulp | ||
CSS | 8 | |
- Boostrap | 9 | |
AWS | 5 | |
SQL | 7 | |
- MySQL | 7 | |
- MSSQL | 7.5 | |
SSRS | 6.5 | |
APL (Dyalog flavor) | 5 | I <3 APL! ⎕IO←1 |
Dabblings | < 3 | Go, React, Vue.js, Ruby, Bash, Batch |
My preferrerd editors are, in order of preference: VSCode, Sublime, Atom, Notepad++, Vim, Notepad
I'm a Windows guy primarily, but will gladly work on Mac and Linux as well.
For indent: use tabs
To make columns: use spaces
But the style guide rules