CURRICULUM VITAE


Perustiedot    Koulutus    Työkokemus    Suosittelijat    Kielitaito    Varusmiespalvelus    Osaaminen    Harrastukset


Perustiedot

- Nimi: Ilja Antonio Mäki
- Kotikunta: Espoo
- Puhelin: +358-40-594 7606
- Sähköposti: (osoite on kuva, jotta spam botit eivät lähettelisi minulle roskapostia. Ole hyvä ja korjaa osoite kuvan mukaiseksi jos klikkaat siinä olevaa linkkiä)
- Internet: http://www.illisoft.com/
- Syntymävuosi: 1975
- Ajokortti: ABEC


Koulutus

- Alastaron peruskoulu, päättyi 31.5.1991. Päästötodistuksen keskiarvo 8,6 (asteikko 4-10). Keskiarvossa ei ole mukana konekirjoituksen, jonka aineoppimäärän suoritin ylimääräisenä normaalin peruskoulun oppimäärän lisäksi, arvosanaa kymmenen (siitä erillinen todistus).
- Loimaan Lukio, YO 4.6.1994. Päästötodistuksen keskiarvo 7,7 (asteikko 4-10). Ylioppilastodistuksen yleisarvosana Magna Cum Laude Approbatur.
- Turun Ammattikorkeakoulu, tietoliikennetekniikan koulutusohjelma, insinööri (AMK) 8.6.1999.

Turun Ammattikorkeakoulussa osallistuin kaikkiin koulussa siihen aikaan järjestetyille ohjelmointikursseille. Alla ote tutkintotodistuksestani näiden kurssien osalta

Kurssin nimi Laajuus
opintoviikkoina
Arvosana
(asteikko 1-5)
Kurssin sisältö/muuta huomioitavaa
Ohjelmointi 2,00 5 C++ -ohjelmoinnin peruskurssi, harjoitustyönä ohjelmoin PC:lle Yatzy-nimisen noppapelin DOS-pohjaisella Borland Turbo C++ 3.0:lla.
Java -ohjelmointi 3,00 5 Java -ohjelmoinnin peruskurssi, harjoitustyönä ohjelmoin PC:lle Game Of Life-simulaattorin JDK 1.1.5:llä.
Operating Systems 2,00 4 Kaksivaiheinen kurssi, jonka ensimmäinen osa käsitteli Assembler-ohjelmointia. Toinen osa oli C++ -ohjelmointia Unix-ympäristössä pääaiheena multithreading.
Fraktaalit ja tietokonegrafiikka 1,00 5 Fraktaalien matematiikkaa, graafinen ohjelmointiharjoitustyö C++:lla.
* Assembler-jatkokurssi 1,50 3 Jatkoa Operating Systems-kurssin ensimmäiselle osiolle (assembler-ohjelmoinnille), harjoitustyönä ohjelmoin DOS-alustalle Hae-nimisen apuohjelman MASM:illa.
Visual Basic -ohjelmointi 2,00 5 Ohjelmointia Visual Basicilla, harjoitustyönä ohjelmoin TCP/IP-verkossa usean henkilön yhtäaikaa pelattavan Tetris-pelin Visual Basic 6.0:lla.
Ohjelmointi 1 3,00 5 Suuntaavien opintojen C++ -ohjelmointikurssi, osa 1.
Ohjelmointi 2 3,00 5 Suuntaavien opintojen C++ -ohjelmointikurssi, osa 2.

* Tämä kurssi ei varsinaisesti kuulunut koulun opetussuunnitelmaan. Kurssi järjestettiin minun aloitteestani jatkona Operating Systems-kurssin ensimmäiselle osalle (Assembler-ohjelmointi). Kurssille osallistui vuosikurssiltani noin kymmenen henkilöä.

Koulutuksessani tutustuin myös Prolog -ohjelmointikieleen. Harjoitustyönä ohjelmoin Visual Prologilla ohjelman, joka ratkaisee perinteisen kartanväritysongelman. Tämä oli osa suurempaa opintokokonaisuutta (Topics in Data Technology, laajuus 12 ov), joten siitä ei ole erillistä mainintaa todistuksessani.

Koulutukseen kuului myös 12 kuukautta työharjoittelua, josta suurimman osan suoritin Winbase Sivuntekijät Oy -nimisessä turkulaisessa yrityksessä. Tein siellä sovelluskehitystyötä Windows-ympäristössä lähinnä Visual C++ 5.0- ja Access Basic-työkaluilla. Winbaseen tein myös opinnäytetyöni (laajuus 12 ov) nimeltään Automated Production Of Advertisement Catalogues. Opinnäytetyön tekemisessä perehdyin DDE- ja ODBC-tekniikoihin.

Espoon työväenopistossa olen osallistunut seuraaville kursseille:
- Yrityksen perustaminen ja toiminnan harjoittaminen, 20.9.2005 - 15.11.2005 yhteensä 27 oppituntia.
- Kirjanpidon peruskurssi, 11.2.2006 - 12.2.2006 yhteensä 16 oppituntia.
- Kirjanpidon jatkokurssi, 8.4.2006 - 9.4.2006 yhteensä 16 oppituntia.


Työkokemus

Työnantaja Aika Työtehtävä(t)
Winbase Sivuntekijät Oy 2.5.1998 - 30.06.1999, 1.9.1998 - 30.4.1999 osa-aikaisena opiskelun ohessa keskimäärin 2 päivää viikossa Sovelluskehitys Windows-ympäristössä C++ ja Access Basic työkaluilla
Mariachi Oy, 1.9.2005 alkaen nimeltään PartnerTech Åbo Oy 1.8.1999 - 30.4.2006 1) Sulautettujen sekä Windows-ohjelmistojen suunnittelu-, koodaus-, testaus- ja dokumentointitehtävät. Kahdessa Windows-ohjelmointiprojektissa toimin projektin vetäjänä.
Hybrid Graphics Oy 2) työharjoittelija 4.11.2002 - 28.02.2003 Ohjelmistoprojektin suunnittelu, toteutus ja testaus, 3D grafiikkaohjelmointi, optimointi, suunnitteluperiaatteiden (design patterns) soveltaminen sekä monialustakehitys ARM-pohjaisille mobiililaitteille
Seven Networks International 1.5.2006 - 10.10.2008 Win32- ja Windows Mobile-pohjaisten ohjelmakomponenttien suunnittelu, toteutus ja testaus. Asiakastukiosaston kautta tehtäväksi annettujen asiakkaiden teknisten ongelmien ratkaiseminen.

1) Syksyllä 2001 pidin ohjelmoijakollegoilleni Mariachissa ohjelmointikurssin, jossa opetin heille C++- ja Windows-ohjelmoinnin perusteita.

2) Syksyllä 2002 minut hyväksyttiin Rovaniemen Ammattikorkeakouluun peliohjelmoinnin koulutusohjelmaan opiskelijaksi. Korvasin tämän opiskelun käytännöllisesti katsoen kokonaan tällä Hybridissä suoritetulla työharjoittelulla. Suoritin työharjoittelun omalla vapaa-ajallani (pitämättömillä vuosilomilla, ylitöistä kertyneillä vapailla yms.) vakituisen työsuhteeni Mariachin kanssa ollessa koko ajan voimassa.


Suosittelijat

- Petri Tuura tiiminvetäjäni sekä Engineering-osaston johtaja Seven Networks International Oy:ssä
- Antti Makkonen projektinvetäjä Seven Networks International Oy:ssä
- Petri Väänänen Java-tiimin vetäjä Seven Networks International Oy:ssä

Suosittelijoideni yhteystiedot saa minulta.

Kielitaito

- Suomi on äidinkieleni.
- Englantia puhun ja ymmärrän hyvin, ja luen ja kirjoitan vielä paremmin.
- Ruotsin kielen taitoni on kohtalainen. Insinöörin koulutukseeni kuuluvan tutkinnon, joka osoittaa lain (149/1922,1§) mukaan kaksikielisellä virka-alueella toimivalta korkeakoulututkinnon suorittaneelta valtion virkamieheltä vaadittavaa kielitaitoa, suoritin arvosanalla hyvä.
- Lukiossa luin myös saksaa.


Varusmiespalvelus

Varusmiespalveluksen suoritin Porin Prikaatissa 9.7.1995 - 3.6.1996 välisenä aikana. Sain kiväärimiehen koulutuksen. Sotilasarvoltani olen alikersantti.


Osaaminen

Asteikko:

- Erittäin vahva osaaminen: Erittäin laaja ja perusteellinen, hyvin pitkäaikaiseen kokemukseen perustuva asiantuntemus ko. asiasta
- Vahva osaaminen: Laaja ja perusteellinen asiantuntemus sekä useiden vuosien kokemus ko. asiasta
- Hyvä osaaminen: Hyvä asiantuntemus ja yli vuoden kokemus ko. asiasta
- Kohtalainen osaaminen: Teorian osaamista sekä yli vuoden kokemus ko. asiasta
- Perusteet hallussa: Teorian osaamista sekä vähintään kuukausien kokemus ko. asiasta

Perusohjelmistot:

- MS Word: Käyttökokemusta versioista 2.0, ’95, ’97, 2000, XP. Erittäin vahva osaaminen. Vahva ohjelmointikokemus Word VBA:lla.
- MS Excel: Käyttökokemusta versioista ’95, ’97, 2000, XP. Erittäin vahva osaaminen. Vahva ohjelmointikokemus Excel VBA:lla.
- MS PowerPoint ja MS Outlook: Vahva osaaminen.

Alustat:

- Commodore-"käyttöjärjestelmät": Vic-20, C-64, C-128, Amiga 500. Vahva osaaminen.
- PC-käyttöjärjestelmät: DOS-versiot 6.x, Windows-versiot 3.x, 9x, NT, 2k, XP, ME. Vahva osaaminen.
- Sulautetut järjestelmät: Ohjelmointikokemusta vuodesta 1999 alkaen useilla prosessorikohtaisilla C-kääntäjillä. Hyvä osaaminen.
- Pocket PC/Windows CE: Ohjelmointikokemusta vuodesta 2002 alkaen. Vahva osaaminen.

Ohjelmointikielet ja -työkalut:

- Basic: Ohjelmointikokemusta vuodesta 1982 alkaen (Vic 20, Commodore 128, Amiga 500, QBasic ja Turbo Basic PC:lle). Erittäin vahva osaaminen.
- C++: Ohjelmointikokemusta vuodesta 1996 alkaen, jonka jälkeen käyttänyt pääasiallisena ohjelmointikielenä. Erittäin vahva osaaminen.
- C: Erittäin vahva osaaminen.
- Microsoft Visual Studio: Käyttänyt pääasiallisena ohjelmointityökaluna vuodesta 1998 ja versiosta 5.0 alkaen. Erittäin vahva osaaminen, myös kehitysympäristön makrojen, Add-In:ien ja Custom Application Wizard:ien kehittämisestä.
- Visual Basic: Ohjelmointikokemusta vuodesta 1998 alkaen. Vahva osaaminen.
- MFC-kirjasto: Ohjelmointikokemusta vuodesta 1998 alkaen. Erittäin vahva osaaminen.
- STL-kirjasto: Ohjelmointikokemusta vuodesta 2000 alkaen. Vahva osaaminen.
- Boost-kirjasto: Ohjelmointikokemusta vuodesta 2004 alkaen. Perusteet hallussa.
- COM-ohjelmointi: Ohjelmointikokemusta vuodesta 2000 alkaen. Vahva osaaminen.
- Win32 API: Ohjelmointikokemusta vuodesta 2001 alkaen. Vahva osaaminen.
- Assembly: Ohjelmointikokemusta vuodesta 1999 alkaen (Microsoft Macro Assembler 611/DOS). Ymmärrän Windowsille kirjoitettua assembly-koodia kohtalaisesti.
- WDM: Ohjelmointikokemusta vuodesta 2004 alkaen. Olen koodannut yhden kokonaisen kernel-moodissa ajettavan USB-laiteajurin XP:lle. Perusteet hallussa.
- Windows Native API ja Kernel-ohjelmointi: Ohjelmointikokemusta vuodesta 2004 alkaen. Perusteet hallussa.
- Embedded Visual Tools 3.0: Ohjelmointikokemusta vuodesta 2002 alkaen. Vahva osaaminen.
- DDE, COM-automaatio ja ActiveX: Hyvä osaaminen.
- Ohjelmointikokemusta useilla skriptikielillä, kuten JavaScript, VBScript, Perl, PHP, HTML, XML.
- Alkeet ohjelmointikielistä: Java, Lisp, Prolog, Logo, Pascal, SmallTalk.
- Ohjelmointikokemusta Borlandin C++ Builderilla (Windows) ja Turbo C++:lla (DOS).
- Käyttökokemusta mm. seuraavista kaavionpiirto-ohjelmista: Prosa, Dia, MS Visio.
- Käyttökokemusta seuraavista versionhallintatyökaluista: Visual SourceSafe, Intersolv PVCS, CVS, Perforce.

Peliohjelmointiteknologiat:

- OpenGL ja 3D-grafiikka: Ohjelmointikokemusta vuodesta 2002 alkaen. Kohtalainen osaaminen.
- DirectX: Ohjelmointikokemusta vuodesta 2003 ja versiosta 8.0 alkaen. Kohtalainen osaaminen.

Tietokannat ja tietokantateknologiat:

- MySQL: Kokemusta käytöstä ja ohjelmallisesta ohjaamisesta SQL-komentojen avulla vuodesta 2003 alkaen. Hyvä osaaminen.
- MS Access: Käyttökokemusta versioista ’95, ’97, 2000, XP. Erittäin vahva osaaminen. Vahva ohjelmointikokemus Access VBA:lla.
- ODBC: Erittäin vahva osaaminen.
- DAO ja ADODB: Ohjelmointikokemusta vuodesta 1998 alkaen. Erittäin vahva osaaminen.
- MFC-kirjaston CRecordset-luokka: Ohjelmointikokemusta vuodesta 1998 alkaen. Erittäin vahva osaaminen.

Ohjelmistosuunnittelu ja arkkitehtuuri:

- Design principles ja design patterns (myös antipatterns): Opiskellut ja soveltanut ohjelmoinnissa vuodesta 2001 alkaen. Hyvä osaaminen.
- UML: Tullut vastaan hyvin usein alan kirjallisuudessa. Osaan lukea ja laatia UML-kaavioita.
- Booch-notaatio: Osaan lukea ja laatia Booch-kaavioita.

Protokollat ja liikennöinti:

- TCP/IP, UDP, SMTP, Boot strap, FTP: Hyvä osaaminen.
- Omien protokollien suunnittelu, erityisesti sulautettuihin järjestelmiin sekä PC:iden väliseen kommunikointiin paikallisverkoissa: Vahva osaaminen.
- USB, RS-232, ethernet: Hyvä osaaminen.
- TCP/IP-verkon ylläpito: Vuodesta 1997 alkaen olen ylläpitänyt lähiverkkoa koti-PC:ideni välillä. Lähiverkkoon on eri aikoina kuulunut kahdesta seitsemään PC:tä, joissa on ollut asennettuna useita eri Windows-käyttöjärjestelmiä. Hyvä osaaminen.


Harrastukset

Olen 7-vuotiaasta asti harrastanut peliohjelmointia.
Vieläkin nuorempi olin kun aloin pelata shakkia. Turussa asuessani pelasin Turun Työväen Shakkikerhossa. SELO-lukuni oli yli 1800. Nykyään pelaan paljon shakkia internetissä.
Haluan innokkaasti oppia uutta ja kehittää itseäni erityisesti ohjelmoijana.
Luen paljon (ohjelmointi)kirjallisuutta.

Olen lukenut mm. seuraavat ohjelmointikirjat:
- Tehokäyttäjän opas/Peliohjelmointi, LaMothe, Ratcliff, Seminatore & Tyler, Suomen ATK-kustannus Oy, 1997
- Inside Peliohjelmointi, Andrew LaMothe, IT Press, 2000
- Programming Windows, Fifth Edition, Charles Petzold, Microsoft Press, 1999
- The C++ Programming Language, Third Edition, Bjarne Stroustrup, Addison Wesley, 1999
- Effective C++, Second Edition (50 Specific Ways to Improve Your Programs and Designs), Scott Meyers, Addison Wesley, 1998
- Design Patterns - Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson, Vlissides, Addison Wesley, 2000
- The Pragmatic Programmer, Andrew Hunt & David Thomas, Addison Wesley, 2000
- More Effective C++ (35 New Ways to Improve Your Programs and Designs), Scott Meyers, Addison Wesley, 1996
- AntiPatterns - Refactoring Software, Architectures and Projects in Crisis, W. Brown, R. Malveau, H. McCormick, T. Mowbray, Wiley, 1998
- Exceptional C++ - 47 Engineering Puzzles, Programming Problems, and Solutions, Herb Sutter, Addison Wesley, 2000
- More Exceptional C++ - 40 New Engineering Puzzles, Programming Problems, and Solutions, Herb Sutter, Addison Wesley, 2002
- Effective STL - 50 Specific Ways To Improve Your Use Of The Standard Template Library, Scott Meyers, Addison Wesley, 2001
- Exceptional C++ Style (40 New Engineering Puzzles, Programming Problems, and Solutions), Herb Sutter, Addison Wesley, 2005

Muita lukemiani kirjoja:
- Data Communications, Computer Networks and Open Systems, Fourth Edition, Fred Halsall, Addison-Wesley, 1996
- Operating Systems, Design and Implementation, Second Edition, Andrew S. Tanenbaum & Albert S. Woodhull, Prentice Hall, 1997
- Structured Computer Organization, Andrew S. Tanenbaum, Prentice Hall, 1990
- useita suomalaisten kirjoittajien kirjoittamia kirjoja, jotka käsittelevät C++:aa ja olio-ohjelmointia, PC-mikron laitetekniikkaa, MS Word 97:aa, MS Visual C++:aa, DOS -käyttöjärjestelmän versiota 6.2 jne.

Pääkohdin olen lukenut seuraavat kirjat:
- Real-Time Rendering, Tomas Möller & Eric Haines, AK Peters, 1999
- Artificial Intelligence, A Modern Approach, Stuart Russell & Peter Norvig, Prentice Hall, 1995
- Advanced C++, Programming Styles and Idioms, James O. Coplien, Addison Wesley, 1994
- Programming the Microsoft Windows Driver Model, Second Edition, Walter Oney, Microsoft Press, 2002
- Microsoft Windows Internals, Fourth Edition, Mark Russinovich, David Solomon, Microsoft Press, 2005