Hello, thanks for your interest. I'd love to work on your project, however I'd like to set a few conditions if you hire me. If there is more than 1 dev on the team I insist on peer
Hello, thanks for your interest. I'd love to work on your project, however I'd like to set a few conditions if you hire me. If there is more than 1 dev on the team I insist on peer review and a version control system - I prefer git & github. Even if it's just me we should probably do a version control system.
Even if you don't hire me please implement peer review. That way when you hire me in the future your team is already set up with good habits.
Here are a few good articles on the importance of peer review.
Now that I'm done with the peer review PSA (Public service announcement.) Allow me to brag about myself.
Over the last 10 years I have taught myself how to program in PHP and Python. I love using jQuery to make a site pop. I run my own .com from home with a Linux server on site. This has given me much insight into how servers are maintained, and backed up. I have set up and maintained the following servers Postfix(email), Apache(http), Nginx(http), Open-ssh(ssh) and used Supervisor and Gunicorn to deploy python web apps.
In the python arena I've been working with imgartists.com through odesk to develop booking software. This includes reports, calendar, artist/user profiles, timezone management, traveling, accommodations, fees, commissions, venues, repertoire and currency conversion. To date, this has been the most challenging and rewarding project for me. The team I work with are extremely talented. We use Python, Flask, Mako, MongoDB, jQuery, Backbone.js, Underscore.js and Java to generate reports.
Another quick app I wrote was for optionsroulette.com - it's not pretty, it's functional. This site parsed PDFs about stocks and put them into a database that could then be searched based on the stock symbols mentioned in the PDFs as well as attaching an expiration date.
Other accomplishments include a picture labeling program for home inspections that would insert images into a .doc file when needed. It used a lot of jQuery/ajax calls to assign a case number, address, city, state, zip, and classification with lots of auto-complete. The database was MySQL, and I used OpenOffice/LebraOffice with a the pyuno bridge to generate the .doc files. I hosted/managed this site for several years, and developed it as new features were needed. I parsed PDF files to get case information, as well as cut out specific pages that needed to be printed, and sorted them out for specific agents.
Through odesk I've also done work for stuffbuff.com, and zebraclick.com. We used a combination of MongoDB, SOLR, MySQL and CodeIgniter for that project. At the time I left we were in the process of changing from stuffbuff to zebraclick. Stuffbuff started as an affiliate e-commerce/auction site and was in the process of switching to an advertising model. This project started out using MongoDB and we migrated to MySQL.
In my spare time I'm developing a Family Media Player https://github.com/the7erm/fmp-pg It uses pygtk to render it's gui, postgresql for it's database, and gstreamer to play the audio/video. I've been focusing my development efforts on creating a web frontend that utilizes Flask so it can all be controlled via a phone or tablet.
I prefer the following:
2 git "main" git branches:
Preferred Workflow - with multiple devs:
1. Issue is created
2. Branch is created off dev/qa branch for the issue
3. Do work in the branch
4. Post "Please review" with a link in a chat room
5. Peer review
a. Peer responds with 1 of 2 answers "merge it" or "fix ____ it should be _____"
i. If it's "fix ____" I goto #3 and repeat the process.
ii. If it's "merge it" continue
6. Merge to `dev` branch
a. Branch created in #2 is deleted
7. QA tests dev branch on QA server
a. If it still has bugs goto #2.
b. If it works merge `dev` branch to `master` branch.
Obviously if the site is not live there would not be a `dev` branch, and the work flow might change if it's just me developing your project.