Story of a passionate programmer

I would like to tell you a story. My personal dev story of how I’ve become a programmer.

I was born in 1986 in Warsaw (Poland). When I was around 10 years old I got my first computer, Commodore 64. Oh! What a machine it was. Keyboard with CPU inside, tape recorder two joysticks and few tapes loaded with games (do you remember?:)).

Rewriting phase

But there was also something else. A book. User manual with a short BASIC tutorial. It was completely in German which was a bit of a problem because i didn’t know that language then. Actually I didn’t know much then, I was 10 🙂 But it didn’t stop me from rewriting code from the book and  looking what’s going to happen. That’s how my first „Hello world” appeared on the screen.

When I was about 12 my Mom signed me up for my first computer classes. They were held in the tallest building in Poland – Palace of Culture and Science. Once a week for 1,5 hour I was learning about simple web design (basics of html) and a bit of graphics (corel draw).

PalaceOfCultureAndSciencePalace of Culture and Science

Pascal period

During that time I’ve switched from Commodore to PC (486DX4 100MHz, Win95). It was some change, you probably can imagine. Plus I had Quake 1 already installed on my new machine (sic!). No CD-ROM or sound card though.

After a year of web design for kids I thought it’s time for some serious sh.. stuff 😉
I’ve decided to join Pascal course. And it was a good decision. After a while I was hooked. Big time! I was attending this course for two years and learned a lot. Meanwhile I was putting my new knowledge to good use.

Who doesn’t like games, right? So let’s take a novice programmer who love games and think of the best project he can do? Got it? Yup, let’s make a game!

„Arfuria” was an ASCII-based dungeon crawl game. A bold project that I’ve never finished. But it was awesome! Pure professional, clean code. Everything in one file (only maps were in separate files). One procedure for one map with endless if..then statements. Pretty SOLID 🙂

When my code file exceeded 5000 lines my compiler said „oh hell no!” and I quickly needed to learn what modules are.

So many nostalgic moments.

meMe and my machine

New kids on the block

When I was 14 I’ve started buying computer magazine called CD-Action (and I’m buying it ever since.. it’s 15 year now). At that time I was doing mostly Pascal, but I had on my mind that it’s about time for something new.

Back then CD-Action was publishing short programming courses (guys it was awesome, why you’ve stopped?). One of them was about C++. It was something new.. something powerful.. something exciting! So I got my DJGPP on and started doing a lot of stuff. I was making simple games, playing with graphics doing fractals, generally all kinds of things. It was also a paradigm shift for me, going from procedural Pascal to object-oriented C++.

djgppDJGPP

Simultaneously I finished my Pascal classes in Palace and I’ve switched to web programming. We were learning about the hottest web stack of that time – PHP/MySQL/Apache. I’ve used it to build various web apps and had my sites about Diablo and Tomb Raider up and running in no time.

Time to share!

When I was in middle school I’ve already had some knowledge on me and I wanted to share. I’ve decided to make an introduction to programming during computer science classes in my school. It went.. not quite well. I mean, as far as I remember my classmates weren’t interested at all. Probably my presentation skills were poor because what 14 year old kid is not interested in programming? 🙂

It got better when I went to high school and started a computer science circle. We were doing C++ and PHP. We had a lot of fun because most of the people paid attention. Of course some guys joined just to play Counter-Strike (which by the way I’ve picked up there and played for 7 years).

High school was also the time when I earn my first money on programming.

So I’m in high school. I’m doing my C++ on Windows now. And it is painful. WinAPI where to write app that prints „Hello world” you need 150 lines of code and that monstrosity called MFC that I won’t even talk about. Luckly, this episode ends quickly. Next!

New hope

Place: Book store.
Purpose: Buy programming book which would inspire me.

I’m walking around the store browsing through the books. I got 20 dollars in my pocket, I can afford one. What would it be? Eventually red cover with big white letters draws my attention. Book title is „OpenGL for experts”. Damn! That’s something for me!

During the following weeks I’m doing mostly graphics programming, finally discovering what linear algebra is used for. I also stumble upon some online game programming tutorials and.. it is on. I’m deciding to build my own 3D game engine. 😎

Next couple of months are filled with math, understanding lot of difficult concepts and getting them to work in my freakin’ code. After hours and hours (and hours) of coding it finally works. Map is correctly rendered, textures are there, camera is working, you can move and look around with your mouse. Done! I’m going back to normal life.

geSourceLarge
Game engine in C++ 1

My romance with  graphics programming was passionate and breathtaking. I’ve learned a lot and enjoyed it. No regrets.

Some time later I had a run with DirectX. I was doing 2D for the most, creating small games like Pong and Pacman. However this phase was quite brief and not so exciting any more.

Wait for it..

In 2003 I read an article about new programming language which was supposed to be an upgraded C++. Even the name was similar – C#. I kind of like it from the beginning. Object-oriented with clean, simple syntax and garbage collector. Powerful combination.

I was amazed by whole .NET platform, especially by it’s web framework – ASP.NET. Creating full featured website with drag and drop and few lines of code. I thought it’s brilliant (I don’t think so any more).

Money, money, money

Place: Parking lot, inside the car
Characters: Mr. Bogusz, Mr. X

B: What do you need me for?
X: I have a job for you.
B: What kind of job?
X: There is a problem, I need you to get rid of it.
B: Payment?
X: As usual. Cash after it’s done.

I might have changed some details, but in fact we were in the car on parking lot discussing details of my first commercial project, website for fire department unit. I’ve decided to do it and I signed a contract for 1,500 PLN (360 $). It was a lot of money for me then.

To build this site I used my new, shiny toys – .NET, C# and ASP.NET WebForms. As it wasn’t hard project I succeeded without bigger problems and shiped my code to „production” for the first time.

I still remember the smell of that money, first serious money that i’ve earned doing what I love. That felt great.

Fire department
Actual fire department that I built site for

Proper education

As you can imagine I picked IT related subject as my major. I chose Informatics and Econometrics at Warsaw University of Life Sciences. My time in college was truly awesome and I have so many unforgettable memories that it’s hard to count them all. Yeah.. but let’s get back to business.

After classes I was freelancing, doing mostly websites. Several projects not worth mentioning and one worth it. I have built quite large online newspaper with full featured CMS. I was a student. I was cheap. I did it for 3,000 PLN (720 $). My clients were lucky as hell 😉

Going social

In the meantime I started attending .NET meetups where various people were doing tech sessions on .NET related topics. I always liked the idea of sharing knowledge and I want to be a part of it. I thought it would be cool to have this kind of group at our university. So I created one! I gathered people, created group website, contacted Microsoft to sponsor us and led first few meetings. That’s how Silver .NET Group was founded (btw. now I think it’s a bit lame name:P). After 9 years not only that the group still exists but it’s doing great.

Silver .NET Group
Website of Silver .NET Group

What shell we do with a drunken sailor?

Lot’s of ‚first times’ in my story. There will be one more. My first full-time job.

Place: University hallway.
When: 3rd year of studies
Characters: Bogusz, Piotr

P: Hey man. I work at this IT company and we need more developers. Join us.
B: Meh. Full-time job? I don’t know, I’m lazy.
P: Well, so what would you like to do?
B: Hmm.. I want to sail around the Caribbean.
P: Do it then.
B: I can’t afford it.
P: Join our company and you’ll be able to afford it in a month.

Caribbean
Caribbean

I joined the company. But I didn’t sail around the Caribbean. Damn!
I worked there for a year. Full-time during summer break and half-time during academic year. It was a small company (5-6 people), but experience that I gained there was crucial.

Just chill bro

After a year of working and studying I was soooo tired (commute was killing me, 1,5 hours from home to office) and I decided to join magnificent student exchange program that is Erasmus. 😀

I’ve spend 6 great months in Greece (Thessaloniki) mostly travelling and parting. In the meantime I was freelancing building social network services. When facebook hype has started everyone thought that building similar service is a brilliant idea (joke’s on them).

Shisha
Greek chill out

Back to reality

When I came back to Poland I wrote master thesis, finished studies and joined a startup as a .NET developer.

Since then I have changed my job few times, always trying to find new challenges.
I still have a lot of crazy dev related stories to share. And I will, but maybe a bit later 🙂

And that’s about it. That’s my dev story!

1 © http://www.marekknows.com/images/forum/geSourceLarge.jpg

bogusz
CEO & Co-founder w Polisa w Chmurze, developer, entrepreneur, sailor, gitarist, beer geek, traveler, husband and father.
  • Rafał Pachnicki

    Interesting… I’m waiting for part 2

    • Great! I’m glad you enjoyed it 🙂 What do you think, was it too short, too long or just fine?

  • Klodzina

    what a fun to read this! nice

  • Maciej M.

    Thats a good peace of work mate. GL & HF! Btw. I used to read only game revievs in CD-Action, maybe thats why i’m not a programmer today ;).

    • Yeah probably 😀 But it’s never too late to start coding mate 🙂

  • Damian

    To moze po pl. 😉 Przyjemnie się to czytało. Powodzenia

    • Dzięki za komentarz 🙂 To daje mi powera, żeby siadać i pisać dalej 🙂

  • Sahee

    Podoba mi się, trzymaj łape na fb =)

  • Cachorro

    very interesting history 🙂
    I’m waiting for continued.

    Fajnie się czyta, ale to kolejny angielskojęzyczny blog o programowaniu w sieci 😉
    Może trochę po naszemu?

    • Glad to hear that! 🙂 Story will continue, for sure!

      Blog nie będzie stricte o programowaniu. Bardziej o całej otoczce z tym związanej. Mam między innymi pomysł, żeby korzystając z doświadczeń znajomych porównać jak się programuje czy prowadzi startup w różnych krajach. A do tego warto żeby każdy mógł przeczytać. No i język można poćwiczyć 😛

  • Grzesiek

    Nieźle 😉 Ja pamiętam C64 i to słynne „cicho, bo się wgrywa”.

    • Ale przed wgraniem trzeba było podstroić głowicę magnetofonu. Do dziś mam ten malutki śrubokręcik 🙂

      • szymon

        A próbowaliście na żywca zmieniać blackboxa z finalem?? albo wychodzić z ramek lub powiększać duszki w assemblerze?? 🙂

        • O kurde, do tego to nie doszełem 🙂 A co można było dzięki temu osiągnąć?

          • szymon

            Generalnie assembler dawał możliwości oszukania i obejścia możliwości technicznych 🙂 W zasadzie efekt wykorzystywany w introsach 🙂 łezka się do tej pory kręci na wspomnienie komodorki 🙂

          • Oj kręci się łezka 🙂 Ostatnio trafiłem na gameplay gry, którą katowałem w tamtych czasach – Wonderboy https://www.youtube.com/watch?v=fIXOEj2tkPw

  • Jan Bajena

    Hej, tez chodziłem na zajęcia z programowania w pałacu:) Te stare sale, niewygodne krzesła i przestarzałe narzędzia miały swój klimat 😀
    Do jakiego liceum chodziłes?

    • Nooo klimat to był. Ja to do Pałacu chodziłem z 7 lat łącznie na najróżniejsze zajęcia. A do liceum na Jelonkach, Pawlikowskiej-Jasnorzewskiej. A Ty gdzie? Do kogo chodziłeś na Pascla, do Rafała Milczewskiego? 🙂

  • krzysiek

    Bogusz keep going!!

    ps. me and my machie photo is freakin awesome :D…what goes on the internet stays on the internet 😉

    Cartman

    Czekam na więcej i do zobaczenia przy jakimś apa

    • Thanks! I took this photo from old family album and scan it 🙂 I hope I won’t regret it 😛

  • geek42

    you are lucky, i was born in 1987(China), when i was a child, i also ask to bought a 6502 based machine, but my parents got huge debts at that time, so i got my own computer when college. well, i still self-taught programming from a 6502 based e-dictionary devices bought from my sernior school classmate. now i am a programmer works for 6 years 😀 (BTW, i graduated as a liberal art student. i have to learn those CS knewledges myself)

    • It had to be much more difficult for you. Congrats that you made it.

      • geek42

        Yes, i have made it, i even got remote working chance recently. but i am always worried about my CS knowleges, so i keep on learning

  • Justyna Przybylska

    To były czasy! C 64, kasety i czarny-biały monitor szczytem technologii;) Muszę przyznać, że zobaczyć, jak Twoje hobby przerodziło się w sposób na życie to interesujące doświadczenie.

  • Pingback: How much does a .NET developer make in Poland? – Startup My Way()

  • Pingback: links()

  • Pingback: Aws Laws()

  • Pingback: pendaftaran cpns()

  • Pingback: corporate event management companies()

  • Pingback: 自己煮月子餐()

  • Makenzen

    Fajna historia 🙂 Zaciekawiła mnie na tyle, że nie przeszkadzało mi to, iż jest po niezbyt przeze mnie kochanym angielsku ;))) (gdyby była po czesku… to… ach, joooo! :)))
    No dobra, żarty żartami…
    Ja sobie troszeczkę dłubię od niechcenia w HTML i CSS, przeżywam nieraz katusze, ale jest satysfakcja, gdy mogę w końcu powiedzieć: U MNIE DZIAŁA! :-))) Jak już będę się sprawniej w tym poruszać, to, jak sądzę, przyjemność będzie większa 🙂 Bo ogólnie to lubię robić coś, co ładnie wygląda. 🙂
    Pozdrawiam 🙂

    • Super! Miło słyszeć. Nowe wpisy już będą po polsku, po angielsku niby fajnie, ale muszę poświęcać 2x więcej czasu 🙂 Po czesku to chyba z 10x więcej by było 😛

      Niestety zabawa w programowanie to ciągła „walka z maszynami”. Czym się różni doświadczony programista od początkującego? Początkujący dziwi się, że za pierwszym razem mu coś nie działa, a doświadczony, dziwi się, że zadziałało 🙂

      • Makenzen

        Ja od dziecka mam tak, że jak mi coś nie wychodzi od pierwszego spróbowania w życiu, to znak, że należy rzucić to w cholerę… I tak rzuciłam w cholerę naukę gry na pianinie, czego dziś ogromnie żałuję. Nie chcę za X lat żałować, że porzuciłam kodowanie, więc… koduję, nieraz ze łzami w oczach, bluzgów nie szczędząc ;))) Cytując klasyka – alleluja i do przodu 🙂

  • Pingback: house for sale()