Job: Software Developer / Programmer / System Analyst
If you’ve registered with us previously, please login now. If you’d like to register, please click the ‘Register’ link below.: : Register | Forgot your password?
Title Software Developer / Programmer / System Analyst
Salary R50 000 to R75 000 / month
Start Date 1 May 2012
Location Centurion/Pretoria in South Africa (Gauteng)
Job Information

Exciting development position available in object oriented development environment focusing in the financial industry. Development is done using an advanced OODBMS, latest web frameworks and an agile development methodology. The candidate should have a good attitude, willingness to learn, share knowledge and ability to grasp difficult technical concepts. He should have a passion for development and solving problems. Qualification is essential (BSc university degree).

The candidate will be a member of a development team responsible for the development of a web based investment administration system. This will include support and enhancement to current features, as well as new functionality.

The investment system supports the administration of investments (unit trusts/mutual funds) for individuals and groups. It stores relationships between administration companies, investors, employers, financial advisers as well as transactional history. It allows various users with different permissions to login to the system and perform certain functions in the business process. The system is currently being expanded to include different investment products, transaction types and business processes.

The role will require the candidate to develop detailed knowledge of both investment businesses and OO development. It involves the thorough analysis and understanding of business requirements, the accurate and on-time development and implementation thereof, appropriate documentation and support in the production environment. It also involves the candidate’s cooperation in the team environment, where all share their experience and knowledge for the benefit of the team. The position requires the candidate to have strong communication skills.

The applications delivery environment is highly object oriented and written entirely in Smalltalk. The developers are responsible for developing, testing and delivering the specification using an agile programming approach resulting in software delivered on time and in budget.

The successful applicant is most likely to be a graduate with a higher level degree in a mathematical subject keen to develop a career in the financial industry. They will have between 1 and 3 years experience developing commercial software, during which time they will have gained considerable experience of Object Oriented software practices.

General experience of application development, preferably within the financial areas (Unit trusts / Mutual funds, Retirement funds, Investment banks, Hedge Funds or investment groups).
Proactive with a delivery focus approach to work.
Strong communication and team working skills are essential.
Excellent analytical and problem solving skills.
Candidate should have experience of development, release and implementation practices.
Candidate preferably has experience of working with users and able to understand their requirements quickly.
Experience of working in a pressurized role, to tight deadlines in a constantly changing environment.
Candidate should have high awareness of development standards and requirements for an online investment industry and how it impacts the development environment.
The candidate should have expertise in an object oriented programming language (e.g. Java, C++, C#, Smalltalk).

Our Business
FINWorks specialises in the design and implementation of business processes and technology in the financial industry. We have expert teams consisting of skilled individuals with industry experience to develop, enhance and maintain systems.

Our Technology
Our preferred development platform is GLASS: GemStone, Linux, Apache, Seaside, and Smalltalk (

Smalltalk is the superclass of all OO development languages. It’s a dynamically typed, everything is an object, language that runs on top of its own virtual machine. Smalltalk objects are all live and can be modified on the fly in the running Smalltalk system. This means you can get an exception in a running process, debug the exception by changing code, hit ‘go’ and the process will resume where things broke. We use Squeak: or VisualWorks:

Seaside is a Smalltalk web application framework ( It takes advantage of Smalltalk’s continuations by allowing the developer to put different components on a page at the same time and each of the actions of the components (expressed as HTML, a hrefs, or form field) executes some code when it happens.
For example:
html link: ‘add one’ do: [self count: self count + 1 ] .
html link: ‘reset’ do: [self count: 0 ] .
However, Seaside also allows a ‘call:’ construct which is done in the flow of the Smalltalk program. You ‘call:’ another Seaside component which is substituted in the HTML display for the calling component and the results of the called component are returned in the normal flow of the caller. So, it would look something like:
address := self call: AddressForm new .
(address inState: ‘NY’ ) ifTrue: [self alert: ‘We don’t like New Yorkers’ ].

GemStone ( is powerful OODBMS. No object/relational mapping issues; just commit your changes!

Smalltalk is a lively community (just check; and there are others too!); .NET and Java don’t even begin to understand the word.

Change to a pure OO language if you dare!

Apply Now