Stephan Miller

About

Contact

stephanmil@gmail.com

Availability

Freelance

I do pick up side work and consulting jobs every now and then. I am a full stack developer in multiple languages and databases. I’ve been doing this since 2002.

Recruiters

I currently am a Senior Software Engineer. So I either only see myself in this role with Architect in my future. That being said, the benefits where I work are great and I like the work and the people. But if you think you have something better, connect with me on LinkedIn. I rarely answer phone calls from numbers I don’t know.

Code Skills

I am a full stack developer who has worked with many stacks.

I started writing PHP and Javascript code for CMS’s and still do every now and then:

  • Wordpress
  • Drupal
  • osCommerce
  • Magento
  • ZenCart

I soon ran into the limitations of these platforms and the value of writing just the code you need using frameworks, first in PHP and Jquery.

  • Zend framework
  • Lithium frameworks
  • Phalcon Framework (I wrote a book on this one for Packt)
  • Laravel
  • Apache
  • Nginx

Along the way I picked up Python, mainly to deal more easily with backend processes and processing data. Some of the libraries and tools I’m familiar with:

  • Numpy
  • SciPy
  • NLTK
  • Flask
  • Bottle
  • Django
  • Keras
  • Theano
  • SciKit Learn

Python is my preferred language for anything of this sort because it is used by many scientists, statisticians, mathematicians and data scientists. In other words, a lot of smart people who don’t want to waste brain cycles wrapping their heads around Java or C++. Python is easy to learn and makes it easy for academics to put their ideas into code instead of fighting with a language. Hence, there are a lot of libraries in Python written by the actual people who came up with the idea, instead of a separate programmer writing code according to requirements. We all know how that goes. And with libraries like PyCuda, you can go just about as fast as C and use the GPU. A machine learning, hands down, there are more libraries available to do the work in Python than any other language.

So, I had to get that in, but after Python, I realized learning any other language would be easy and once you learn a framework in one language, you find similar functionality in other frameworks and a learning curve that is easy. So I went to the MEAN stack and went pure Javascript for a while. Up to that time, I had only used Jquery.

  • MongoDB
  • Express
  • AngularJS
  • NodeJs
  • es6/Babel
  • Typescript
  • Angular2
  • Ionic2
  • Electron
  • KnockoutJS
  • ReactJS

And during that time I even wrote a native node module in C++ to process some calculations a lot quicker. So then I could add C++ to my list of languages, it being the first time I touched C or C++.

Now in the next job, I jumped into the Microsoft stack for the first time:

  • C#
  • SQL Server
  • TFS
  • Visual Studio
  • IIS

And now I am really liking go and contributing to open source go projects.

Though for my own projects and side projects I tend to go the cost effective/lowest common denominator route:

  • Any desktop apps use Electron
  • Any phone apps React Native
  • I use Laravel, Python Flask, or Go to only create a REST API
  • I use ReactJS on the frontend to render the site
  • I use MySql/MariaDB or Postgres depending on the servers and use case
  • I use Python or Go for any heavy data processing, backend processes, and machine learning
  • I use Docker to everywhere I can

Data Skills

Along the way, I learned a lot of SQL, NoSQL and other various ways of handling data.

  • MySql
  • SQL Server, TSQL, and Procedures
  • Oracle, PLSQL, Packages and Procedures
  • Postgres (My preferred for many things)
  • MongoDB
  • Redis
  • Memcache
  • Neo4J
  • Hadoop
  • ZeoDB (I learned it, so it’s here)
  • Filemaker (I was forced to learn it, so it’s here)

I am putting Machine Learning here because it seems to fit:

  • Natural Language Processing
  • H20
  • Theano
  • Keras
  • TensorFlow
  • Pandas
  • Scikit Learn
  • Numpy
  • Scipy

Ops Skills

So I started out on my own creating affiliate sites. I became a full stack developer from day one because if I didn’t do it, there was no one else to pick up the job. I would never only consider doing this. I see ops as a route I have to take to do what I want to do, like eating your vegetables before you get desert. Here is an unorganized list of stuff I learned wearing this hat.

  • Linux Administration
  • Apache
  • Nginx
  • Vagrant (not any more)
  • Docker
  • Puppet
  • TravisCI
  • Jenkins
  • IIS

Code Repos

Here is where you can find some of my code. I realize I don’t have a portfolio section, but I am not a designer, although I do know how to slice PSD’s, use CSS and have spent part of every job in the frontend. I write code, so here’s some code:

Publications

In the late 2000’s, I spent a lot of time blogging and guest blogging to get my name around. It helped.

You will notice a lot of SEO content. I became a developer by way of SEO. I looked at the processes I did manually over and over and realized that a lot of my work could be automated with code.

Slowly I shifted from 50% developer/50% SEO to 100% developer. I did make great money from my knowledge of SEO but I saw it as a waste of my life eventually. I was basically spending my life reverse engineering one application other people wrote. The easy money kept me content for a while. But I am a creator and builder. It is magic seeing your ideas come to life.

Books

I’ve written two books on PHP code for Packt. I got offered to write the PHP7 book but had to turn it down due to time constraints.

I enjoy writing. This blog has over 500 posts. I have two bank boxes full of notebooks. So I plan to write more books in the future.

When I retire, I plan on switching to writing fiction, my first love, before I even touched a computer and disappearing from here.

Free Software and Apps I’ve Developed

I used to write a lot of desktop shareware and freeware back in the day in Visual Basic 6. Once I got into web technologies, I didn’t see the point of keeping up with two totally different stacks. And I waited for about a decade for Electron to come along and makes things worth the time again.

  • Zen Notebook: A Writing IDE - I have been doing writing practice as taught by Natalie Goldberg since I was about 14. I wrote longhand in notebooks. I wanted to create a tool for doing this that would be at core distraction free. Not a distraction free mode. But just you and your writing. The IDE part comes into play with the fact that Zen Notebook now handles a Diary/Journal format perfect for doing writing practice but I want it to handle novels and other type of “compiled” documents in the future. It’s a labor of love. I actually use the tool.