
Orest Kulik
Software Developer
Orest is an experienced server-side Software Engineer who has been developing software for 15+ years. His language of choice is Ruby which he uses for creating scalable web apps and REST API services. He is a self-driven worker who takes ownership and responsibility in what he creates.
Portfolio
Availability
Preferred Environment
Git, MacOS, Visual Studio Code (VS Code)
The most amazing...
...thing I've developed is a significant portion of Labtiva's ReadCube application's back end.
Work Experience
Senior Software Developer
Labtiva
- Handled web-based back-end software development for ReadCube, Labtiva's platform for managing research literature and scientific articles discovery using modern open-source web technologies.
- Created server-side systems for log storage and analysis, PDF document usage heat maps, web scraping, collaborative recommendations, article timelines, and sync services (between multiple client applications).
- Sustained and tuned performance for web applications and web services to run smoothly on Heroku and AWS.
- Created and sustained different SQL and NoSQL data storages like MySQL, ElasticSearch, Neo4j, DynamoDB, Redis, and Memcached. Also created and sustained database load balancing and failover using mostly HAProxy.
- Integrated web applications and web services with Google Analytics, Mixpanel, MailChimp, SendGrid, etc.
- Created a REST API prototype to allow customers to query data.
- Created a prototype AngularJS app for supporting the main web application.
- Used Adobe AIR's native extension to help a desktop application to render PDFs more efficiently (for OSX and Windows platforms).
- Hired as the first non-founder Software Developer in the company; assembled the initial development team and rented the office.
Senior Software Engineer
RealNetworks
- Worked on converting the existing J2ME mobile application to the Qualcomm's BREW platform.
- Co-developed code dealing with differences between J2ME and Brew platforms such as a lack of threading, a lack of exception handling, and no garbage collection.
- Implemented parts of the J2ME layer in C++ for the emulation layer.
- Adapted the emulation layer for the target Brew platform.
- Worked on the Real's J2ME/Android white label mobile application for media distribution and sharing, targeting mostly J2ME and Android handsets and tablets.
- Sustained the existing code base by creating new widgets and incrementally transferring legacy J2ME code to the modern Android Java platform.
Architect, Senior Software Engineer
SecurityHeroes
- Organized and led a small team in building a next-generation advertisement blocking product and web browser security product.
- Created an extension for Firefox using C++, Crypto++, and JavaScript.
- Created back-end web services using C#, WCF-REST, and SQL Server.
- Designed a custom security protocol to allow safe client-server data exchange.
- Coordinated outsourced system admins responsible for the maintenance and monitoring of the datacenter blade servers.
Senior Software Engineer
Syntellect (Enghouse Interactive)
- Sustained and fixed bugs in one of the company's Interactive Voice Response applications.
- Searched for performance bottlenecks and general code inefficiencies.
- Developed additional VoiceXML specific functionality.
- Created a server application for the integration of two separate IVR applications in Java .
- Created a migration tool and transferred an existing source code repository from SourceSafe to Subversion.
Consultant, Senior Software Engineer, Software Engineer
Ekobit
- Participated in many different software development outsourcing projects (mostly for EU software companies like Lexware, Moba and Sauter). Worked almost exclusively with software development tools from Microsoft.
- Gave a number of software development presentations related to Microsoft C++ and .NET technologies and their applications at local IT conferences like WinDays and DevDays.
- Mentored junior Developers.
- Earned the following Microsoft professional certificates: MCPD (Enterprise Application Developer, C#, Jun 2007), MCTS (Distributed, Web and Windows Apps, May/June 2007), MCSD (Early Achiever, C#, May 2003 and Visual Studio 6, C++, Oct 2000). Also earned more than a dozen different Brainbench Master certificates and three Job Role certificates.
- Attended the following soft skills courses: presentation skills, successful business communication, nonviolent communication, time management, stress management, creativity development, self initiative development, and consultative selling.
- Learned German within the period of employment and used it in daily communications with German-speaking customers.
Experience
ReadCube
https://www.readcube.comSkills
Languages
Ruby, JavaScript, Bash, C++, C#, C, Flash ActionScript, XUL, C++/CLI, ActionScript 3, Java, JRuby, Objective-C
Frameworks
Sinatra, Ruby on Rails (RoR), AngularJS, ActiveX, .NET
Libraries/APIs
Ruby on Rails API, Microsoft Foundation Class Library (MFC), ATL, Standard Template Library (STL), Node.js
Tools
Amazon Simple Queue Service (SQS), AWS Simple Notification Service (SNS), Mercurial, Git, RSpec, Eclipse IDE, Microsoft Visual Studio, Sublime Text 3, Xcode, Sublime Text, Visual Studio, GCC, CVS, Redmine, Trac, Subversion (SVN), NGINX
Paradigms
Object-oriented Programming (OOP), Agile Software Development, Unit Testing, Concurrent Programming
Platforms
Amazon EC2, Heroku, Amazon Web Services (AWS), MacOS, J2ME, Eclipse, Android, Visual Studio Code (VS Code), BREW, DigitalOcean
Storage
PostgreSQL, Amazon S3 (AWS S3), MySQL, Elasticsearch, Neo4j, Redis, Amazon DynamoDB, AWS SimpleDB, Btrieve
Other
HTTP, HAProxy, Adobe Flash Builder, WCF Web Services, XPCOM, VoiceXML, Text to Speech (TTS), ASR, OLE DB, Electrical Engineering
Education
Master's Degree in Electrical Engineering and Computer Science
University of Zagreb - Zagreb, Croatia