Published: 2011-08-31
ilka guigova . [email protected]
Who is Ilka Guigova?
: )
In a nutshell, I am a kernel of laughter. I find freedom in the second law of thermodynamics. I wish people were less short-sighted. Eventually, I want to be able to dedicate a bench in a park to something I care about for everybody to have if they wanted to. That bench may as well be a software project that I become proud of.
In a nutshell, I am a kernel of laughter. I find freedom in the second law of thermodynamics. I wish people were less short-sighted. Eventually, I want to be able to dedicate a bench in a park to something I care about for everybody to have if they wanted to. That bench may as well be a software project that I become proud of.
What do you do?
Stay curious.
I am an agile problem solver. In one of my high school classes, I came up with a set of assembler instructions to achieve a task that the professor considered unsolvable at the time.
I have more than 10 years of experience as a Software Developer / Engineer / Analyst / Programmer. I have worked on process control and information systems implementing innovative solutions for managing complex real time processes. While I have worked primarily in Delphi and C# on Windows-based systems with MS SQL Server or Oracle at the back end, I have also implemented a few smaller platform-independent solutions in Java and C++. Using Javascript, both at the client and server side, I have built web applications for workflow management and automation. Presently, I am learning Python and Haskell.
I work well independently and as part of a high performing team.
I am an agile problem solver. In one of my high school classes, I came up with a set of assembler instructions to achieve a task that the professor considered unsolvable at the time.
I have more than 10 years of experience as a Software Developer / Engineer / Analyst / Programmer. I have worked on process control and information systems implementing innovative solutions for managing complex real time processes. While I have worked primarily in Delphi and C# on Windows-based systems with MS SQL Server or Oracle at the back end, I have also implemented a few smaller platform-independent solutions in Java and C++. Using Javascript, both at the client and server side, I have built web applications for workflow management and automation. Presently, I am learning Python and Haskell.
I work well independently and as part of a high performing team.
What accomplishments are you most proud of?
The stepping stones.
I studied computer architecture, including digital circuit design principles, at the Technical University of Sofia Electronic Systems School and was awarded Top 3 Student Distinction. When my family moved to Canada, I completed the Honors Mathematics Specialist program at the University of Toronto as 6th in my class. Concurrently, I took most of the courses at the Computer Science department, including Professor Cook's Computational Complexity and Computability. I obtained a Project Management certification from Centennial College in Toronto where I completed 5 of the 7 program courses in one semester while working full time. My assignment on Project Selection and Registration was selected for the Blackboard's Gallery of Student Works for the benefit of future students.
I made 3D models using VRML while developing a peer-to-peer application for 3D design collaboration. Based on the obstacle avoidance path planning prototype that included these models, the company was awarded a sub-contract to the Canadian Space Agency for an autonomous mobile robot simulation system.
I implemented the SmartCart mobile fastening system interface from its conception to its integration and conducted a feasibility study researching new ultrasound localization algorithms to allow for tool recalibration based on its position, error-proofing of the fastening operation, and control over the workflow execution.
I simplified the code behind millions of payment transactions per month performed within the software-as-
a-service Halo platform considerably reducing defects and increasing performance. I was responsible for the integration of all code from various legacy, newly developed, and third party components. It supported the interaction with new and existing payment processors and the distribution of unlimited number of Point-Of-Sale (POS) terminals. As a result the system was accredited with the Payment Applications Best Practices (PABP) certification in compliance with the Payment Applications Data Security Standard (PA-DSS).
As part of the KleinPort team, I built the underlying mapping engine of the Cargo and Container Manager. It is a fully configurable component that provides the ability to import and validate comprehensive cargo data through a variety of message formats and communication protocols. It enables the manifest input to be a manageable and optimized operation which, in turn, significantly increases the value of the port management system to the client.
Two weeks after I was hired by PointyHat, I had implemented an auto-recovery mechanism for their theater production script editor. It was then reused as-is in the implementation of a Undo/Redo feature. As a result the team could move on to the next phase of the project much quicker.
I studied computer architecture, including digital circuit design principles, at the Technical University of Sofia Electronic Systems School and was awarded Top 3 Student Distinction. When my family moved to Canada, I completed the Honors Mathematics Specialist program at the University of Toronto as 6th in my class. Concurrently, I took most of the courses at the Computer Science department, including Professor Cook's Computational Complexity and Computability. I obtained a Project Management certification from Centennial College in Toronto where I completed 5 of the 7 program courses in one semester while working full time. My assignment on Project Selection and Registration was selected for the Blackboard's Gallery of Student Works for the benefit of future students.
I made 3D models using VRML while developing a peer-to-peer application for 3D design collaboration. Based on the obstacle avoidance path planning prototype that included these models, the company was awarded a sub-contract to the Canadian Space Agency for an autonomous mobile robot simulation system.
I implemented the SmartCart mobile fastening system interface from its conception to its integration and conducted a feasibility study researching new ultrasound localization algorithms to allow for tool recalibration based on its position, error-proofing of the fastening operation, and control over the workflow execution.
I simplified the code behind millions of payment transactions per month performed within the software-as-
a-service Halo platform considerably reducing defects and increasing performance. I was responsible for the integration of all code from various legacy, newly developed, and third party components. It supported the interaction with new and existing payment processors and the distribution of unlimited number of Point-Of-Sale (POS) terminals. As a result the system was accredited with the Payment Applications Best Practices (PABP) certification in compliance with the Payment Applications Data Security Standard (PA-DSS).
As part of the KleinPort team, I built the underlying mapping engine of the Cargo and Container Manager. It is a fully configurable component that provides the ability to import and validate comprehensive cargo data through a variety of message formats and communication protocols. It enables the manifest input to be a manageable and optimized operation which, in turn, significantly increases the value of the port management system to the client.
Two weeks after I was hired by PointyHat, I had implemented an auto-recovery mechanism for their theater production script editor. It was then reused as-is in the implementation of a Undo/Redo feature. As a result the team could move on to the next phase of the project much quicker.
What have been your biggest failures and frustrations?
Future Shock. I no longer retrieve and store all the information I come across. I index it.
What is the single toughest problem you had to face, and how did you get through it?
Adolescence. Divide and conquer.
What are your greatest strengths?
Integrity and enthusiasm.
What are your greatest weaknesses?
Being only a human.
What motivates you?
Challenges.
What is the best advice you have been given and try to apply to your life?
Automate it if you repeat a task three times (or more).
How do you like to spend your free time?
Playing.
I have a passion for algorithms.
I enjoy learning about software architecture and design. One of my favorite readings on the subject is Roy Fielding's doctoral dissertation on Architectural Styles and the Design of Network-based Software Architectures.
I climb, scramble, hike, swim, kayak, ski, dance, dream, travel, read, write, and love.
I have a passion for algorithms.
- I conducted a feasibility study researching ultrasound localization algorithms, such as the RANSAC method, to support error-proofing of fastening operations at assembly plant floors.
- I came up with my own file comparison algorithm that runs as fast as the Longest Common Subsequence (LCS) method but can be used for finding differences that are not sequential. The first version of the algorithm was used by the winner of the Code Project's Code Lean and Mean competition in the C++ category.
- I worked out a simple, yet effective, poker hand evaluation algorithm that assigns a value to a hand of cards that reflects its strength/score according to the standard poker hand ranking system and avoids the need to sort, compare, and lookup the set of hands. The number of cards in a hand does not really matter. In particular, it applies to both 5-card and 7-card poker games. The winner of a game is the player with the highest score.
- I am working on my version of a spell-checking algorithm inspired by the Microsoft Research Speller Challenge.
- At the moment, I am learning Python and Haskell in order to efficiently solve computational challenges like the ones presented by the Project Euler team.
I enjoy learning about software architecture and design. One of my favorite readings on the subject is Roy Fielding's doctoral dissertation on Architectural Styles and the Design of Network-based Software Architectures.
I climb, scramble, hike, swim, kayak, ski, dance, dream, travel, read, write, and love.
What do you think it takes to be successful as a software developer?
Hard work.
It takes constant learning by doing. It requires the discipline to identify multiple applicable solutions and the insight to choose the simplest one that satisfies the problem needs and meets the stakeholder expectations. In the end, it is creativity and forward thinking that distinguishes all successful software enterprises.
It takes constant learning by doing. It requires the discipline to identify multiple applicable solutions and the insight to choose the simplest one that satisfies the problem needs and meets the stakeholder expectations. In the end, it is creativity and forward thinking that distinguishes all successful software enterprises.
What is the future of software development?
Paradigm shift.
For now, we have a chance to explore the limits of Moore's law. In five years, Pranav Mistry's vision of the future may have materialized; in ten - Iron Man's holographic interface can be a reality; in fifty - we may be able to tap the efficiencies of the quantum computer. Would we reach a technological singularity?
"And out there beyond are the stars.
And the interesting thing is that if we can get through the next thirty years, there's no reason why we can't enter into a kind of plateau which will see the human race last, perhaps, indefinitely...till it evolves into better things...and spread out into space indefinitely. We have the choice here between nothing...and the virtually infinite. And the nice thing about it is that you guys in the audience today, when I say guys I mean it in a general term embracing gals...when you guys in the audience today will still be barely middle-aged when you will know which choice has been made." (The Future of Humanity: a Lecture by Isaac Asimov, Newark College of Engineering, November 8, 1974)
For now, we have a chance to explore the limits of Moore's law. In five years, Pranav Mistry's vision of the future may have materialized; in ten - Iron Man's holographic interface can be a reality; in fifty - we may be able to tap the efficiencies of the quantum computer. Would we reach a technological singularity?
"And out there beyond are the stars.
And the interesting thing is that if we can get through the next thirty years, there's no reason why we can't enter into a kind of plateau which will see the human race last, perhaps, indefinitely...till it evolves into better things...and spread out into space indefinitely. We have the choice here between nothing...and the virtually infinite. And the nice thing about it is that you guys in the audience today, when I say guys I mean it in a general term embracing gals...when you guys in the audience today will still be barely middle-aged when you will know which choice has been made." (The Future of Humanity: a Lecture by Isaac Asimov, Newark College of Engineering, November 8, 1974)
What do you think about women in software development?
There will always be women.
When I was a kid I wanted to be a writer. It was fascinating to me how imagination can take you to places that nobody has been to before. However, my marks seemed to indicate that I am better at math. Mathematics is an ugly duckling. It hides more power than most languages. But it requires patience and no greed. Thus, I became a programmer. It is practical. And I discovered that even though I may not be creative enough for the artistic world, I am resourceful enough for the world of 'men'.
I like working with men. They know what they want most of the time and they are much more predictable than women are. I haven't had trouble with discrimination. If anything, it amuses me or flatters me. For example, I got this comment in Code Project: "Thank you, kind sir" [^]. (Thank you, PIEBALDconsult).
It has been said that "Genius is 1% talent and 99% hard work"... I'd like to think that women soften the landscape a bit sometimes.
When I was a kid I wanted to be a writer. It was fascinating to me how imagination can take you to places that nobody has been to before. However, my marks seemed to indicate that I am better at math. Mathematics is an ugly duckling. It hides more power than most languages. But it requires patience and no greed. Thus, I became a programmer. It is practical. And I discovered that even though I may not be creative enough for the artistic world, I am resourceful enough for the world of 'men'.
I like working with men. They know what they want most of the time and they are much more predictable than women are. I haven't had trouble with discrimination. If anything, it amuses me or flatters me. For example, I got this comment in Code Project: "Thank you, kind sir" [^]. (Thank you, PIEBALDconsult).
It has been said that "Genius is 1% talent and 99% hard work"... I'd like to think that women soften the landscape a bit sometimes.