Optimistinen sovelluskehittäjä, joka vain nauttii tästä aivan liikaa. Uskon lujasti haastehakuiseen elämään. Minulle on tärkeää nähdä jokainen päivä mahdollisuutena oppia uutta ja tuoda tämä esille.
Sovelluskehitys ei ole pelkästään ammattini, vaan se on intohimoni, joka alkoi ihan pienenä. Tämä intohimo motivoi minua etsimään jatkuvasti uusia haasteita ja mahdollisuuksia oppia. Arvostan siistiä ja tehokasta koodia, ja pyrin aina parhaimpaan mahdolliseen laatuun. Uskon, että hyvä koodi on ymmärrettävää, laajennettavaa, ylläpidettävää ja kaiken tämän lisäksi säästää aikaa. Tavoitteeni on vaikuttaa positiivisesti ihmisten elämään luomalla innovatiivisia ratkaisuja ja sovelluksia. Haluan jatkuvasti kasvaa ammatillisesti ja oppia uusia työkaluja toteuttamaan tämän vision paremmin. Minulla on laaja kokemus eri ohjelmointikielistä, ohjelmointityyleistä ja ekosysteemeistä, ja tämä monipuolisuus antaa minulle ainutlaatuisella tavalla laajan näkökulman sovelluskehitykseen.
Asiat on hyvin kun kaikki vain toimii, tehdään tuotteista sellaisia että ne vain toimii
Panostus työympäristöön ja -putkiin tuottaa osinkoa pitkään. Siisti koodi säästää aikaa pitkällä tähtäimellä
Epäonnistu nopeasti, niin tiedät voiko ideasi toimia, ennenkuin siihen on käytetty kuukausia. Tätä tehdessäsi löydät monta uutta tapaa tehdä asian paremmin. Iteroi!
Monimuotoinen tiimi auttaa ymmärtämään uudenlaisia perspektiivejä ja avaamaan uusia mahdollisuuksia. Nostetaan toisiamme ylöspäin!
Osaaminen paranee kun edistetään toistemme oppimista. Omaan laajan taustan pythonin opettamisesta.
Olen aina tehnyt tätä,
Tulen aina tekemään tätä
Nuxt-ekosysteemillä luotu henkilökohtainen verkkosivuni toimii paitsi ansioluettelona, myös vaikuttavana esittelyalustana omille projekteilleni. Tämän työstäminen tarjosi minulle loistavan mahdollisuuden syventyä Vue-puolen osaamistani, ja samalla näyttää työni laajemmalle yleisölle.
A* on suosittu algoritmi lyhimmän reitin löytämiseksi kahden pisteen välillä verkossa tai ruudukossa. Se arvioi solmuja yhdistämällä niiden etäisyyden alusta ja heuristisen arvion maaliin ja laajentaa lupaavimmat solmut ensin, kunnes se saavuttaa maalin.
Suunnitellessani pelejä, tarvitsin reitinhakualgoritmia, joka voisi ohjata vihollishahmoja järkevästi monimutkaisessa ympäristössä. Tämä vaatimus innosti minua oppimaan A*-algoritmin perusteellisesti ja toteuttamaan sen käytännössä erilaisissa projekteissa. Ensimmäisen version toteutin Python-ohjelmointikielellä, ja myöhemmin loin version käyttäen Svelteä, josta voit nähdä käännetyn demon alla.
Tavoitteenani oli ratkaista D&D yleinen ongelma: hahmolomakkeiden jakaminen siten, että ne säilyttävät ajantasaisuuden eivätkä sisällä vanhentunutta tietoa muutaman viikon kuluttua. Tärkeämpinä tavoitteena oli säilyttää pelaajien ilmaisuvoima ja monipuolisuus.
Lähdin ratkaisemaan ongelmaa Vuella hahmolomakkeen luomiseen, ja käytin Djangoa välityspalvelimena käyttäjien välillä. Kaikki lomakkeen kentät ovat vapaasti siirrettävissä haluttuun järjestykseen, ja monet komponentit ovat interaktiivisia, mikä tekee halutun lopputuloksen saamisesta helppoa.
Lopputuloksena syntyi yksi monimutkaisimmista web-lomakkeista, jonka olen koskaan tehnyt. Projektin aikana käyttäjäpalaute auttoi viimeistelemään projektin niin, että se oli kaikille miellyttävä ja toimiva.
Teen jatkuvasti jotakin, tässä pieni osa muita teoksiani, joita olen tehnyt. Useimmat näistä ovat pienimuotoisia projekteja omaan tai kavereiden käyttötarkoituksiin
MVP tuominen kehiin nopeasti säästää aikaa pitkälta kantamalata. Tämä projekti on pika-paketti liikenteelle, joka sisältää valmiiksi django palvelimen, kustomoiduilla käyttäjä-mallilla. Projecti sisältää plug-and-play google kirjautumisen, kun vain syötät google-auth avaimen taustajärjestelmälle.
Chatti palvelimen hallintaa avustava discord botti, joka seuraa keskusteluja, ja poimii ei-toivottuja sanoja, ja käyttäytyy automaattisesti näiden perusteella. Kerää myös tilastoja ja sisältää hauskuuksia.
Overwatch pelissä on muokattavissa oleva pelimuoto, johon pystyy ohjelmoimaan omia ohjeita. Ohjelmointi tapahtuu pelin sisällä peliohjaimella. Tämä muotoutuu esteeksi monimutkaisten systeemien yhteydessä, joten päädyin tekemään python ohjelman, joka kääntää pythonin kaltaista koodia overwatch custom peleihin yhteensopivaksi helpottaakseni kehitys prosessia massiivisesti.
Screippaaminen on työläs prosessi, tätä helpottaakseni tein ohjelman jolle annetaan aloitus url ja arviointi funktio. Se tämän jälkeen siirtyy sivujen linkkejä pitkin kaikille löytämilleen sivuille ja kerää arviointi funktion perusteella halutut materiaalit jatkokäsittelyä varten. Ohjelma multiprosessoitu hyvän cpu käytön sallimiseksi ja sisältää GUI edistyksen seuraamista varten.
Pelissä tarkoitus automatisoida teollisuuden prosesseja. Pelissä Lua tietokone, jossa verkkoyhteys. Loin verkkoselaimelle ohjaimen lua koneeseen ja yhdistin tämän automatio prosesseihin, jotta pystyn ohjaamaan automaation prosesseja puhelimella myös pelin ollessa suljettu.
Tein saman mobiili ohjelman kahdella toisistaan poikkeavalla ekosysteemillä. Ohjelmana oli noppien pyöritys sovellus, jolla voit valita noppia heitettäväksi, ja ohjelma antaa esimerkki lopputuloksen sekä taulukoita. Tehty vertaamaan javascript pohjaisia mobiili ekosysteemeitä.
Videopeli kännykälle, jossa asetetaan rakennuksia 3d maastoon resurssien vaikutusalueelle, jolloin resurssit tulevat käytettäväksi rakentamiseen. Pelin tarkoituksena kannustaa pitkäaikaista resurssien hallintaa, ja visuaalisesti kauniin kaupingin rakentamista.
PyQT5 Desktop applikaatio, jolla voit liittää unicode emojeita mihin vain tekstikenttään. Ohjelma käyttää Twitterin emoji kokoelmaa emojeiden esittelyyn. Ohjelma avautuu näppäimistö yhdistelmällä, ja automaattisesti tarkentaa hakukenttään nopean hiirettömän käytön sallimiseksi.
PyGame applikaatio, jossa voit asettaa loogisia portteja, ja yhdistää niitä toisiinsa muodostaaksesi monimutkaisia piirejä visuaalisella tavalla.
Projektilistan jälkeen on toivoakseni tullut esille, kuinka paljon nautin ohjelmoinnista, ja kuinka intohimoinen olen käytetystä kielistä ja teknologioista riippumatta. Alla on kuitenkin helposti purtava lista teknologioista ja työkaluista, joiden parista löydän itseni useimmiten.
Sovelluskehityksen ja -suunnittelun parissa työskennellyt pääasiassa seuraavilla teknologioilla
Django back-end
Vue + Django full-stack
Nativescript mobiili
Olen syventynyt matematiikan ja tietotekniikan opintoihin yliopistossa, ja pystyin etenemään nopeasti opinnoissani.
Nopean etenemisen ansiosta sain mahdollisuuden osallistua maisterin tason kursseille.
Työ koostui SketchUp (Arkitehtuuri sovellus) käytöstä avustajan roolissa, suunnittelusta ja ideoinnista.
SketchUp design
10 vuotta ohjelmointi ja palvelien hallinta kokemusta. Alkujaan videopelejen palvelien ylläpitoa, kustomointia, ohjelmointia.