Every blog has its first post, this is the one. I’d like to begin with a short introduction. I’m 28, based in Cracow, working full time as a translator and trying to dive into the ocean of programming. The idea of software development has been circling around my mind for several years. Although I gave it a try few times, it yielded no success. I bet started in a similar fashion as many of you, dear readers – looking around and trying to figure out what the hell should I begin with.
Does “Thinking in Java” rings a bell? Few years ago I thought it was a great idea to grab it pair with some online course. The choice fell on “Java for complete beginners” by John Purcell. The knowledge was substantial yet somehow, lacking IT background, I couldn’t wrap my mind around it and… no offence John, I must admit to something. The mix of low tone voice accompanied by a classical intro took stronger effect than a sleeping pill. This phenomena still astonishes me – I started fresh just to feel drowsy after 6 minutes, and after the 12 minute mark I could fall asleep anywhere, anytime, literally.
It all seemed too detached, abstract, illusory and made as little sense as the Python’s death bridge keeper’s question of the airspeed velocity of an unladen swallow (it’s 42 btw). Before I saw any potential real world application, I found myself surrounded by polymorphism, abstract classes and static methods…
It took me about two years to get back to the topic and this time I realized I need a new strategy. Little did I previously knew about the trivia that learning to code by reading is not the most effective way. As the Aristotle’s saying goes: “For the things we have to learn before we can do them, we learn by doing them.”. I needed an overview, a summary, a starting point. I begun by drawing a mind map (here you can find tips on how to create one) of everything I’ve learned so far and, more notably, a second map of where I’d like to go. It took some time for these concepts to emerge and clarify. Eventually I managed to tie up the loose ends and the picture actually started to make sense.
I didn’t know much about the industry, but I’m sure it was nothing like what we’re dealing with today. I’ve heard about PHP for dynamic websites, but for some reason I couldn’t get that on my FDD drive for dissection. When I look at myself from today’s perspective I wish I could say “hey pal, you can’t do that – PHP is a server-side language”. With time my teenager’s angst shifted to some other interests… One of it was online gaming. I believe I could be a pretty successful developer nowadays, if I didn’t spend so many hours leveling my cold sorceress, climbing the WGTour and PGTour ladders in Starcraft:Brood War or competing in a semi-pro Counter-Strike team. It was loads of fun, though and I still like to play a round or two in CS:GO, if you do too, pm me! :).
Long story short I decided that web design is going to be a good start, as for some reason I still well remembered what I’ve learned. It surely wasn’t up to the currents standards, but it was a starting point.
Today, when I’m writing these words, I’ve been learning to code for 3 months. I started by following the freecodecamp’s front-end path. Also I’ve joined the back-end bootcamp at coderslab based on PHP, Symfony 3, MySQL stack. Since I’m working full-time I opted for the weekend option. Hopefully I’m going to finish it in September. To say these 3 months aren’t much in web development is an euphemism, it’s close to nothing. I do realize I know only a little, probably some of my logic is flawed and that at the moment I can only recognize a small piece of the bigger picture. However, there are two main reasons I’ve decided to give this blog a go:
- While participating in a study groups, I realized that trying to explain a new learnt concept to some one else is a real challenge and requires deep research. Wrap your mind around it and paraphrasing it to the group skyrockets the learning effectiveness.
- It’s possible that a novice can better explain a concept to other novice, than an expert does. The concept is described among others by a Dreyfus model. Not every professional/guru is a good teacher, because the beginners’ obstacles may seem blurred to him or her. I believe that other people, who are making their first steps in programming, will find some of my insights useful.
What content can you expect here?
- A series of articles, with a working title of ‘purpose driven development’. I’ll be trying to explain programming concepts starting from the problem each of them is designed to solve and why do they even exist; based on a real world examples.
- Best practices for programming learning or learning programming ;). The most effective learning strategies, boosting your learning. What to focus on and how not to feel overburdened, when starting your journey in web development.
- I have almost 5 years of experience in working remotely, so probably I’ll share some insights on that matter.
- Hardware, books, dos and don’ts, cooking recipes, kittens and who knows what else 🙂
If you have come this far, thanks for the reading and see you in the next episode 🙂