Skilled primarily in Microsoft ecosystem. Can develop both frontend and backend of complex multiuser systems: information systems, collaboration systems, chats, games. Full-stack skills from CS fundamentals to business abstractions to sockets and bit twiddling.
Languages *** C#, Delphi, Java, Python, AS3, Go, Matlab, Mathematica
XAML frameworks *** Windows 8 XAML, WPF, Silverlight. Including Expression Blend
Microsoft APIs *** WinApi, COM, WinRT
.net related *** WCF, Entity Framework, Photon 3 socket engine
DBs *** Firebird, MySQL, MS SQL, Membase, SQLite via [login to view URL], entity framework, JDBC, FibPlus, SQLite-net
Java related ***Smartfox2, ant, Google guice, red5, Eclipse
Flash related *** Flex, Aswing, Robotlegs, TweenLight, flint particles, stratus/cirrus, box2d
Other *** OpenCV, OpenGL, SolidWorks, Arduino platform, FEA of electromagnetic systems with COMSOL Multiphysics AC/DC interface and CST Studio.
Here is HOW I CAN HELP:
1. [FREE, Interviewing/consulting]. Discuss your problem, help determine the scope, clarify requirements, define priorities, choose appropriate technologies, explain technological limitations and possible difficulties.
2. [FREE, Interviewing]. Estimate time and cost.
3. [Requirements]. Develop requirements specification.
4. [Frontend, prototyping]. Propose a UI workflow and wireframe sketches.
5. [Frontend, development]. Implement the user experience, client side logic, and interaction with the backend. Test and debug the complete system. I can implement arbitrarily complex UIs with custom developed controls, animations, touch support, UI state dependence (editors with tool palettes and different editing modes), and responsive features (ability to adapt to various screen sizes/resolutions).
6. [Frontend]. Develop user manual if needed.
7. [Backend, development]. Implement whatever backend is required. Typically a WCF service, can also be a custom-made socket server. Business logic + database connectivity + API + administration interface. Develop unit tests. Develop and implement the DB, all in NF3’s, with rare performance-critical exceptions. Key-value DBs are also possible. Load test the backend (with custom developed scripts/bots if needed).
8. [Backend, deployment]. Set up/deploy the backend on your servers.
9. [Backend, administration]. Make systems administration notes if necessary.
10. [Post-release services]. Fix bugs, implement new features, address scaling issues, and perhaps help with migration to other technologies.
1. Mathematica-based solutions. I’m experienced in Mathematica and the Wolfram Language ([login to view URL]). So if you have a math-intensive project, you are welcome too! There is a free software ([login to view URL]) that end users can use to run the Wolfram Language programs. Potential use cases are:
-Interactive 2D and 3D graphics involving a lot of computations;
-Technical articles with built-in interactive computations;
-Engineering tools (e.g. interactively compute a coil inductance given the parameters);
-Virtual experiments and demonstrations for students in math, physics, technology.
If there is a performance bottleneck, I can rewrite performance critical parts in C using LibraryLink.
Here is WHAT I DO NOT OFFER:
1. Web design. I generally do not design or develop web sites.
2. Photoshop design. I do not draw in Photoshop. I can develop wireframe UI prototypes, but if you need a detailed UI design in Photoshop, you will have to hire a designer. I can accurately implement arbitrarily complex UI (look and feel, interactions, animations) if you provide the necessary UI assets.
3. Regular systems administration of the developed systems. If there is something complex, you will have to hire a systems administrator(s).
4. Technical support for your users. Troubleshooting on the end user side, user training, helping the users to get started, preparing training videos. You will have to hire a tech support team. I can help to your tech support, but not to the end users (if there is a large user base).
Here is what I am ready to do UPON YOUR REQUEST:
-Use only PGP encrypted communication. Start a contract so that we can exchange contact details and keys.
-Avoid the use of Dropbox and other unencrypted and privacy invading services for file and message exchange.
-Keep all your data only on an encrypted partition.
-Erase or wipe out your data after the project is complete or during the development.
-Install a custom cryptographic software and follow your custom security protocols.
-No problems with NDAs.
I spend most of my life in code editor(s). Source code means something more to me than just a work. Owners of mission critical projects that require dependable people, you are welcome. I can bring technical competence to your project.