Robert Basic's blog

Posts tagged 'learning'

Things I learned in the past four years

by Robert Basic on December 30, 2016.

Since yesterday was my last day on a project after four years and two months, I decided to take a look back on those four years and write down some of the things I learned.

Things I learned about being a better listener, a better communicator, a better team mate, a better programmer.

Leave your ego at the door

This is probably one of the hardest and most important lessons I learned. I’m happy that I learned it early into the project.

Ego gets into the way of the actual programming. There is no place for it. People get defensive about their code, become deaf to advice, don’t take criticism well. This slows down the development process, makes communicating difficult, if not impossible.

Criticism of my code is not criticism of me. If I submit a pull request and the reviewer deems the code not fit for inclusion into the project, there is nothing to get upset about. The code needs improvement. If I know how, I’ll improve it, if not, I’ll ask for help how. It is much better and efficient than getting all protective about the code.

Don’t play the blame game

Joe wrote an excellent piece on the blame game more than 3 years ago.

Removing the blame from the entire process is liberating. When dealing with a problem, don’t focus on trying to find the person, or persons, responsible for the issue at hand, but try to understand what caused the problem, what is the best and fastest way to solve it, and how to prevent it from happening again in the future.

I know I was lucky to be working on a project where this blame game was not being played and that there are a lot of teams and companies where there’s a ton of office politics and everyone wants to survive… But that stuff really isn’t helping any one. If possible, at least try to not play it within your team, with your closest coworkers.

Take responsibility

Admitting to a mistake is hard. It’s scary.

Admitting first to myself that I’m not infallible, that mistakes happen makes taking responsibility a lot easier. And it becomes easier over time.

I believe that people tend to react positively to sincerity. Being honest and upfront that I made a mistake, saying sorry, goes a long way. Yes, the mistake might have repercussions, but I’m an adult and I stand by what I did.

Taking responsibility is the professional thing to do.

It’s OK to say I don’t know

I don’t know.

I’ve said it a lot. I’m still here, still alive, the world didn’t come to an end. No one punished me for it. The only thing that happened is that I learned new things I didn’t know before. And guess what? Learning new things is part of the job.

Saying “I don’t know, can you show me please?” is perfectly fine. If we ask for help, we will get it. People like helping.

Knowing the business domain is important

We, programmers, are a smart bunch of people. We solve problems for a living. Without knowing what is the actual problem the business is trying to solve and just waiting for others to give us a solution which we need to translate into code, takes away the problem solving for which we initially signed up for. The business will also miss out on properly utilizing the experience we gained so far.

Understanding the core domain makes it possible to give ideas, work together with other people (not necessarily programmers) to come up with better solutions. Everyone will benefit from this. The business gains by having yet another smart person helping out, and you by learning new things.

Not everything we learn need to be exclusively about code.

Ask why?

This goes hand in hand with knowing the business domain.

Keep asking why. Why is some new feature being implemented, why do they need it? If you are joining a project that is being developed for some time, ask why were some things done in a certain way. It will both make learning the business domain easier and faster and it will also help with getting to know the codebase.

Asking why shows the business owners that you care, and caring about the same things as they do will only be helpful during the project’s lifetime. They will provide help and explanations much easier.

Onto new adventures

Working on this huge project for this long is something I’m truly grateful for. Not everyone gets an opportunity like this, especially this early in their professional career.

I learned a lot from my friend, partner and mentor, Srdjan, as well as from Luka who joined our small team recently.

I’m certain the new year will bring us exciting new challenges. If you have, or know of a project where the three of us could help out, let us know.

The Code4Hire team is here to help.

Tags: about, learning, me, random.
Categories: Blablabla, Development, Programming.

Need help on your PHP projects? Let's talk!

Learning English

by Robert Basic on March 29, 2013.
Heads-up! You're reading an old post and the information in it is quite probably outdated.

Most of my knowledge of the English language is self-taught. I had English classes in elementary school, but that was more or less singing "London bridge is falling down" and reciting a list of irregular verbs. I also had a semester of English in college, but that again consisted of reciting a list of irregular verbs (true, this time the list was longer) and reading and translating engineering texts. Good for learning how to read a technical manual, but not so much when it comes to having a conversation with other people. Other than that, it's all from computers, music, films, books.

My mom has an old dictionary that I used to read when I was a kid. I remember spending hours upon hours flipping through the pages, learning words, trying to figure out how to pronounce them. Guess I was a nerd already when I was only seven years old.

In the past few months Swizec was quite persistent with his nagging of how terrible my English is, especially when it comes down to the grammar, so I decided to do something about it.

I started taking private English classes.

I had my first hour and a half long lesson yesterday evening. I enjoyed it very much, had a lot of fun and already learned a thing or two (at least I think I did). I am taking the classes from an English teacher who also happens to be my friend. But, don't let the friendship fool you! She's not afraid off bashing me when I make a mistake: "Hold on Robert! That sentence doesn't make any sense!" (or something along those lines). And I think it is actually a good thing that we know each other from before as it is much easier to just start a random discussion and not just go through the textbook examples. All in all, very enjoyable classes and I know I will learn a lot from them.

And to show that I am really serious about this, I started another blog dedicated to writing called Magic of Writing. And yes, I am aware that that sounds something like a five year old would come up with, but then again writing is magical. There's not much there yet, but I already have a few ideas in my head that will hopefully find their way onto paper.

Tags: english, language, learning, reading, writing.
Categories: Blablabla, Free time.

Need help on your PHP projects? Let's talk!

Let's learn Astronomy!

by Robert Basic on September 29, 2012.
Heads-up! You're reading an old post and the information in it is quite probably outdated.

I've graduated from Subotica Tech back in 2009., and earned a BsC in electrical engineering, or some such. Even though I had the opportunity to continue my academic studies, I decided that I had enough of schools for a while, and that I should start working. Turns out, that was a pretty smart move from my side, as I ended up working for two years with an awesome team, and later on started my own company, which is now over a year old! Yey!

But, recently I started thinking about going back to school again. Not for a new diploma, or to be able to get a better job, but for the knowledge itself. My brain craves Science. Mathematics. Formulae. My mind needs a new challenge. Sure, I could learn a new programming language, I hear Haskell would give me quite a challenge, but at this point, that just wouldn't be... It.

Introduction to Astronomy

A few weeks back Vranac sent me a link to Coursera's Course Catalog. I browsed through it, made a note about a couple of interesting ones, and left it at that. Until yesterday, when Andries brought up the subject of gaining new knowledge. For some odd reason, that made me do a step forward.

Thus, I singed up for the Introduction to Astronomy course. Why Astronomy? Because it should have a fair share of math and physics which will, hopefully, prove more than enough for my science hunger. Plus, learning things about planets and stars and galaxies cannot be anything else but fun! Maybe I even learn to recognize a constellation or two in the night skies.

I don't really know what to expect from the course itself, but it should be a good starting point as any. The description says it's a difficult course, lasts for 9 weeks, and has three hours of video lectures per week with additional homework and quizes. Guess it'll be interesting, we'll see.

Happy learnin'!

P.S.: I forgot to mention that these courses on Coursera are on-line, and free!

Tags: astronomy, course, coursera, learning.
Categories: Blablabla, Free time.

Need help on your PHP projects? Let's talk!