ShahzadBhatti
Welcome to my Home.
Work
Currently I am working at Online group of Peak6.com as a Senior Software Engineer.
Past Projects
I have over seventeen years of experience and most of that have been primarily in web development that include:- Retail System Platform and internal web applications in the Retail group of Amazon,
- Ecommerce Websites for Orbitz: Orbitz, CheapTickets, etc.
- Web based Warranty Claim System for Hendrickson International.
- Web based Scheduling application for United Airlines
- Travel Websites for IDOT: GCM
- Travel Websites for CDOT: Trex
- Website for Discover Card
I generally distinguish developers into following categories:
- Day-Jobber vs real hackers
- Generalists vs Specialists
- Application Developer vs Tool Builder vs System programmer
Here is snapshots of the computer languages I have used over the year
I have worked in role of:
- Software Engineer
- UNIX Systems Administrator
- Technical lead
- Principal Engineer
- Application Architect
- Systems Architect
- Senior Software Architect
I have worked on various technologies and middlewares such as:
- CORBA
- J2EE/J2ME/J2SE
- ESB
- Web Services
- JINI/JavaSpaces
- Voyager
- Python
- Ruby on rails
- Amazone Web Services (S3, ECS, SimpleDB, EC2, SQS)
- Erlang/OTP
I am currently learning following technologies on my own
- Haskell
- Scala
- OCaml
- Factor
I have worked on a variety of methodologies such as:
- Rational Unified Process
- XP/TDD
- Scrum/Lean
- Crystal Clear
- DSDM
- FDD
- Agile Project Management/ASD
Open Source Contributions
I am primary contributor to following open source projects:- DocuSearch- Document Repository and Search library based on CouchDB/BerkleyDB and Lucene
- OCActiveObjects - an Active Object based O/R mapping framework for iPhone development
- Test Player
- Erlinda - an Erlang framework for parallel computinga
- ErlSdb - an Erlang library to access SimpleDB
- JavaNOW - an Java framework for parallel computing
- Implementing a Single Sign-on solution for Wordpress (PHP) and Rails applications using Central Authentication Service (CAS)
- NoSql databases bring "Stored Procedures" back in fashion
- Tutorial days from OSCON 2010
- A few lessons from Seth Godin's book Linchpin: Are You Indispensable?
- Building a stock quote server in Erlang using Ejabberd, XMPP, Bosh, Exmpp, Strophe and Yaws
- Favorite fifteen tips from "Rework" book by Jason Fried and DHH
- A few recipes for reprocessing messages in Dead-Letter-Queue using ActiveMQ
- PlexRBAC: an open source project for providing powerful role based security (I)
- PlexRBAC: an open source project for providing powerful role based security (II)
- Building Security Systems
- Dynamic Inheritance and Composition using Object Extension Pattern
- Applying Adaptive Object Model using dynamic languages and schema-less databases
- Quering and Indexing CouchDB documents
- Introduction to CouchDB
- Cut the scope and make your life easy
- Day 1 at #oscon 2009
- Day 2 at #oscon 2009
- Day 3 at #oscon 2009
- Day 4 at #oscon 2009
- Day 5 at #oscon 2009
- OCActiveObjects: ActiveObject based O/R Mapping framework for iPhone development
- Does software quality matters?
- Software Estimation
- Review of Clean Code
- Tips from Implementation Patterns
- Tips from Effective Java
- Implementing Actor-based message passing using Object-oriented methods
- My gripes about REST services
- Developing REST based services using JSR 311
- Concurrency Constructs
- Traits of good programmers
- Implementing HTTP Proxy Service with XSL Transformation
- Love and Hate with Java
- Designing Microblogging system for Scalability
- Challenges of multicore programming
- Integrating with lots of Services and AJAX
- Does experience matter?
- Accessing SimpleDB using Java and Erlang
- Starting cluster of Erlang nodes on EC2
- Rosetta solution in Erlang
- Performance testing C++, Java, Ruby and Erlang
- Code Smells
- Polymorphism in Erlang
- Benchmarking Java vs Erlang
- Ten Commandments for Scalable Architecture
- Annotation based Caching in Java
- Load and Functional Testing with Selenium and Grinder
- Ten Commandments for Configuration
- Ten Commandments for Writing a Service
- Resource Bundle in Ruby
- Working with Amazon Web Services
- Agile Methodologies Under the Hood
- Development in large IT Shops
- Enums and Lookups in Ruby and Java
- Integrating Ruby with Java using ActiveMQ and Stomp
- RailsConf 2006 Day 3
- RailsConf 2006 Day 2
- RailsConf 2006 Day 1
- Integrating ActiveMQ with JBoss
- Agile Purists
- Implementing Const in Java
- Brainstorm Chicago April 19-20
- Message-Driven-Pojos with ActiveMQ
- Sudoku Solver in Ruby
- Nexus for next generation languages
- Scripting Flame War
- Log locally and query globally
- Responsibility vs Accountability
- Web 2.0
- Bohrbug Vs Heisenbug
- Keeping the truck number low
- How overwork leads to dumb workers
- Best Practices 2004 (East)
- What is right methodology?
- Offshoring
- Design by Committee
- Software Development Profession is Doomed?
- What's in the Title
- Software Rewrites
- OO Summary