Hi, I'm Sergey (call me "Serge"). Welcome to my site!
I'm a computer science graduate from PSU and luckily I enjoy what I do.
I currently work in the greater Northern-Virginia area, flexing my system-programming muscles at [SWIFT].
I like real, rigorous mathematics. I have minors in statistics and mathematics, I spend some of my time studying new topics and [writing about them] as I learn.
I'm an experienced developer. I've worked on desktop applications, server applications, windows apps, sleek terminal-CLIs and browser plug-ins. Professionally, I have developed enterprise software targetting Linux, Windows, RHEL, SunOS, AIX and HP-UX.
Most of my professional experience has consisted of stepping into existing projects and refactoring them. It's a pretty language-invariant process.
A project may be composed a monolithic or modular in one or a dozen languages, but there's always a logical intent deduced from coupling, code structures(or the lack thereof).
In a very real sense, a project's outcome is determined before any keys are typed. Project costs (aka your effort) are determined by their initial design and construction; with poor planning your endeavours will take 10x the effort to redesign during construction and several times that in post-release.
This may negatively impact your lifestyle.
Minimizing this is an adequate goal for development. If you follow good practices your debugging cost is less, and if you maintain loose-coupling defensively, changes in design become changes in configuration.
While there are a plethora of buzzword-based approaches, I've found the most productivity in following iterative development models supported by test-cases.
I prefer command-line development, but ultimately use whatever is most expedient. For more details on technologies I've touched, check out my [stats] page.