Cell: 516-874-6569
E-mail: Contact Me
Resume: PDF, MS Word 2010+, MS Word or just print this page.
In case you don't have a lot of time to read this, here's a short list of my key skills. All of these are real, actual skills which I have acquired or learned over my many years of writing software.
C++ and its STL, the boost C++ libraries, Python, templates, OOP, RAII and other modern software design idioms, multi-threaded software design with various concurrency and locking mechanisms such as mutexes and locks, desktop development including raw WIN32 API and wxWidgets, MySQL and other relational database design, web development including HTML/XHTML/CSS/JavaScript/AJAX, server administration including FreeBSD and administering clusters of servers, web server software such as nginx and Apache, high availability and high traffic websites, and many other things.
Does a candidate with skills like these sound like a good fit for your organization? Please read on!
From a young age, I have been fascinated by computers and technology. My parents bought our first computer, a Tandy 386, at an age where I was still counting half-years (eleven and a half, I believe). It was then that I set out to develop my first commercial software product - an innovative platform solution industry standard RFC compliant buzzword thing for - hah, nevermind. It was called "CHEATS!", and it was a convoluted mess of batch files which displayed cheat codes for PC games of the time. I published on AOL as shareware with a full version available by mail order. Months and several thousand downloads later, I received my first and only order - thus marking the beginning of my career as a professional software developer. See more.
It was in middle school computer class that I learned my first "programming" language - LOGO. Yup, the one with the turtle! While other seemingly uninterested students struggled to learn the concept, I flourished. I was hooked! Hide this.
Nowadays, whether it's scaling a high availability API to handle thousands of requests per second, developing a custom from-scratch scripting language to solve unique business needs, or finding a way to portably store application resources such as icons for use in desktop executables across different platforms like Windows and Linux, I love to do it all.
I'm a quick learner, and I can be brought up to speed very quickly on just about anything. As any career software developer knows, learning to use new tools can be fun and easy with the right documentation, especially when you already have a really strong grasp of all of the principles. In my current role, I often find myself taking on the role of mentor, and I find jumping in on random projects to solve problems others were stuck on to be quite fun. See more.
Like many programmers, I have a passion for solving interesting problems. I started getting more serious about a career in software development a long time ago when I realized that computers were an excellent tool which could make my life easier, as long as I knew how to fully utilize them by writing custom software. Hide this.
I'm anxious to work with a group of people who share the same passions as me - technology and using it to solve problems. I'd love to work somewhere that I can really make a difference, and not just be another cog in the machine. I'd love to work for a company who places a high value on its software developers, and doesn't consider technology and the people making their products to be simply a business expense. Above all, I want to create innovative solutions for whichever industry I may wind up in - and as you know, that pretty much requires joining a team who feels the same way.
I'm a software developer by trade, and not really a designer. As such, much of my work doesn't lend itself well to pretty pictures. Below, I've included some screenshots of desktop applications I've developed as well as snippets of code.
A small snippet of just some of the Boost Spirit grammar which makes up my Rigel templating language.
For my ideas and implementation of our LeadBid platform, we won US patent #8,010,416. This is a photograph of the actual patent book.
A screenshot of IMBot, a tool I developed for a consulting client. It facilitates the use of Yahoo! Instant Messenger as an advertising platform.
The POP3 monitor for the faxing utility I developed for CyberLead.
Scraping websites of car manufacturers for clients in my software which I developed for CyberLead.
I often choose C++ as my main tool for its portability, compiled performance, and lack of a need for any real dependencies (like an interpreter) to run on an average computer. For the web, I generally develop in Windows (MSVC), writing portable code, and compiling into production in a UNIX-like environment using the GNU toolset.
Many of the applications I've developed are heavily multi-threaded, and I'm well versed in the potential pitfalls of such designs (such as race conditions and deadlocks) and the tools available to avoid them.
Rather than reinvent the wheel, I use the boost C++ libraries quite often, and I follow the library as a whole quite closely. A small sampling of the boost libraries I've used would include ASIO, Spirit/Karma/Phoenix, Thread, Xpressive, GIL, Interprocess, IOStreams, Locale, Python, and Test.
Users of Python tend to be some of the most passionate of programmers. I totally get it! I consider it to be among the best of the high-level languages. It's performant, easy to read, easy to learn, and supports many modern software design idioms. I generally use it for any task not well suited to C++ or where the compiled nature of C++ is not needed. I've used the Boost Python library to embed Python into C++ code, and to create wrappers around my own C++ libraries in order to use them inside of Python.
I've used Python for everything from "quick scripts" to the generation of geographical maps to represent sales data in graphical form to desktop software.
If you were to ask me what my favorite area of software development is, I'd have to say desktop. Nowadays, I use wxWidgets and C++ to write portable cross-platform desktop applications which have a native look and feel, but have also worked with raw WIN32 API many times.
I'm competent with HTML/XHTML/XML/CSS/JavaScript/CGI. While I wouldn't consider myself a graphic artist, I can confidently say I'm well versed in almost all areas of web development. I've been making web pages since the mid-90's, but that's not to say I'm still using <blink> tags! I know what modern web design looks like. My go-to stack for web applications is FreeBSD, nginx and MySQL, with my own C++ or Python on top of that. See more.
I've done just about everything in web development including UI design, shopping carts, back-end development, SEO, and PCI-compliant payment gateways. Like many software developers who dabble in design, I prefer to write markup and CSS by hand rather than fight with a WYSIWYG editor to get things exactly as I want them. Hide this.
Direct experience with MySQL (and various forks, such as MariaDB and Drizzle with its attractively licensed client API) and MSSQL, as well as the related client APIs (such as the C MySQL API, MySQL++, POCO database interfaces, etc.). I use SQLite for anything not requiring a full database server. In pursuit of writing various software, I've used stored procedures, triggers, functions, indexes, as well as the InnoDB, MyISAM MySQL storage engines.
My experience includes a strong background in FreeBSD system administration. While not exactly FreeBSD-specific, my preferred shell (and shell scripting language) is bash, I generally use subversion for version control (but have worked with CVS and git as well), and I have worked at an advanced level with nginx, Apache, OpenSSL, OpenSSL, bind, postfix, dovecot, OpenVPN, and similar services used for other purposes.
Regular expressions, GNU development environment, Microsoft Visual Studio, NoSQL (couchdb, memcached, etc.), TCP/IP, UDP, debugging (MSVC debugger, GDB, valgrind, etc.), code analysis and documentation.
Lead Bid, Inc. is a subsidiary of Cyber-Lead, Inc. headquartered in Hauppauge, NY. As the project lead, I am responsible for all aspects of the design, implementation, and upkeep of all company software. Our main product is an innovative platform which connects buyers and sellers of real-time sales leads in the automotive and insurance industries. The USPTO also thought my ideas were innovative - we eventually won US patent #8,010,416.
During my years at Lead Bid, I developed a number of new technologies to deal with our unique business needs.
At Cyber-Lead, Inc., a subprime automotive finance lead generator, I was initially tasked with promoting new company-wide software development and testing procedures. To this end, we first implemented policies on use of version control as well as regression and unit testing.
It eventually became obvious that the myriad of company sites, previously all almost identical hard copies of each other with simple layout changes, needed a universal content management system. We worked together to develop such a system while simultaneously cleaning up and sanitizing all HTML and JavaScript to modern standards, enabling cross-browser compatibility and functionality.
I sometimes take on side projects. Here is just a small sampling of the things I've worked on:
- Sonthi Y, Senior Software Engineer - CyberLead, Inc.In my 9+ years of working with Brett, he has proven to be an invaluable teammate. Brett has always been ready to assist me when a problem appeared that was beyond my range of experience, and dedicated long hours to getting things done, and done properly. Brett provided new ideas, and was always open to my own ideas about how to tackle any given situation. In addition to team duties, Brett carried on his own solo tasks and projects within the company with a tenacity and zeal I have rarely seen. Any organization fortunate enough to bring Brett aboard will find that they have acquired a key component to their future success and growth.
- Romy S, CEO - CyberLead, Inc.As the lead developer, Brett created and built our Lead Bid platform. He collaborated with his on-site team as well as outside developers seamlessly and efficiently. We hope to work with him on future projects.
- Devlin K, Vice President - Lead Bid, Inc.Brett is a hard working and energetic individual. As lead developer, he was able to handle several tasks at once and excecute them timely and meticulously. He will be a real find for his next employer for sure.
Made by hand with care.