DataDrivenInvestor

empowerment through data, knowledge, and expertise. subscribe to DDIntel at…

Follow publication

10.000 hours later

--

I just reached 10.000 full hours of professional coding in about half the time it is supposed to take.

If you have ever searched for “how much practice does it take to become an expert”, chances are you came across the Malcolm Gladwell’s assertion of 10.000 hours and other articles “debunking” this number. I will not discuss here the validity of this “rule”. I will rather give you my own feedback on the journey reaching this number. I hope something here will either help you on your own path, or at least amuse you in some way.

For those who might be interested, here is the article in which I described what I called ‘hardcore learning’: https://medium.datadriveninvestor.com/principles-and-guidelines-of-hardcore-learning-b5ec93f4ce96

Some background

I have been working for 10 years in the movie industry and I started coding at 32 after a trivial accident. After the accident, I knew right away it was the greatest opportunity to change life (even if I didn’t technically have to).

I always knew I was “wasting” my ability to manage complex, hard projects and I wanted a job where I could express this trait of my personality. Long story short my best options were either Law (which I have a BS degree for) or coding (as a kid I just loved coding games and I spent years on C++ and VB).

Now I was 32 and I sure didn’t want to loose much time climbing back the ladder. After talking about all of this with my incredibly understanding wife, we quickly agreed I would dedicate all my energy to become a real professional developer as fast as possible. I wanted to do in 2-to-3 years what people did in 5, and that’s basically what happened.

The math is simple. If you work 8 hours a day, it would take about 4.7 years to collect 10.000 hours of work.

With this strong mature plan and proofs I could learn and deliver fast, I was lucky enough to be offered almost right away a high position with great responsibilities to develop a modern web application (a one in a lifetime opportunity I guess).

I learnt nodeJS in a week, reactJS in a week, and I was all set up to deliver our first MVP.

Now I know when I put it this way it sounds easy, but it wasn’t. I knew I was going to sacrifice nights, days & weekends, and that’s exactly what happened. I basically worked 12 to 20 hours a day, 7 days a week, every single day for a bit more than 2 years, and I would spend my ‘free’ time (aka while eating or falling asleep) learning. Twice I happened to work for 60 hours in a row. I took 3 days off total (and no weekend), the few times we saw friends at night I would just get back to work after coming back home at 1/2.a.m to start my day. No new year, no birthdays, no special day and I even coded from the hospital after a car crushed me in the street, leaving me 2 holes in the lungs, so our first pilot would be on-boarded under good conditions.

I don’t regret any of it.

Not long ago I reached the 10.000 hours of coding. To be honest it was never a goal to me, but I can still give you some feedback on how it feels, some advice and some warnings.

My github profile

It sure feels good

This is obvious, but realizing I reached this (arbitrary) number sure feels good. I feel a lot more confident, and for 3 months I started sleeping at night again and I stopped working on weekends. I didn’t stop learning or doing side projects but at least the pressure is not the same.

10.000 hours really make a difference

As I say I feel a lot more confident about the code I produce. It is sharp, understandable and it has proven to be flexible and maintainable by others. As a matter of fact it definitely is a lot better than let’s say 5000 or even 2500 hours ago. People feel it, people know it, and I even happen to be asked for advice once in a while on other people’s project. How great ! Also the things I learn now are deeper (abstract data types, messaging queues in a micro-services environment …).

You don’t need the best tools to get started, but you need the best tools to continue

This is an important statement, because we often think ‘I will start working on this project when I have this computer / this camera / this notepad. Do not go there. I started the first months on a 200$ computer. Chances are your current computer is a lot better than that. Honestly it was hard … It was crashing 2/3 times a day and I just couldn’t launch two IDEs at the same time. But it was enough to get started. You usually don’t need much to get started, just get a computer and design your website on google slide… That’s enough.

Now this second statement is important too. As an ex carpenter I know the tools are incredibly important. As soon as your project becomes serious and you know some money will be made out of it, I suggest you just take the best tool out there you can afford. You will spend a lot of time using it, and your tool should be extremely reliable and pleasant to use. (MSI prestige laptops, Razer laptopsm MacBook pro and some high end Asus are the best out there I think).

Note that employers will most of the time land you a company computer, so you don’t necessarily have to go for the best yourself.

You don’t need 10.000 hours to be good

As I said in the introduction, it only took me one week of nodeJS and one week of reactJS to start delivering the first MVP. I would just learn and apply what I learnt right away, and refactor a lot so the code matches minimum expectations.

Even after that, if you specialize on a specific stack, you can be good in roughly 4000 hours if you have the proper mindset (you can read my article on hardcore learning for advice).

10.000 hours is not enough

Now it’s going to sound contradictory with above statements, but I can tell you for sure 10.000 hours is only the beginning. Actually it is where things start to get interesting. There are so many things left to learn… This is quite endless. But at least I know what I don’t know. I start to see a ‘full’ picture. I feel I would need 5.000 more hours to really feel good about my knowledge.

It’s not only about hours

I feel you could code 10.000 hours and still not being exceptional. Do not start this journey by thinking what you do is the best. Constantly question it and look at the big picture. Different projects requires different approach. Depending on the stage of the project executives will or won’t care about code quality, and most of the time maintainability and flexibility are the core of the game. Learn as you go, read about best practices and try to figure our what’s the best for the project.

Another side of this is that as a developer you can’t be good one day and bad another day. Your work must be consistent and you should be reliable.

Take care of your health

A few months ago I felt my body was really sending me signals. I started to feel pain in the chest and other warnings. That’s actually when I started going back to sleep at night. You should listen to your body.

  • Don’t burnout. If you break, the whole process won’t be worth it. Make it a great experience for you.
  • Don’t let working / learning being a conflict with people around you. Discuss it with them.
  • Don’t drink too much coffee (one of the unexpected problems I experienced).
  • Get some sleep (one of the problems I experienced).

People won’t stop expecting the best from you

Non-tech people don’t understand tech very well. Everything is a black-box to them, and they can easily believe everything is simple. As a result, they won’t realize you spent nights on a feature. They just wake up in the morning and everything is there working. If you start working less (and by less I mean working 10 hours a day instead of 16 hours a day), they might not understand why everything is moving slower. It’s your work to explain to them and fix a limit.

I became obsessed with knowledge

It can sound very trivial but it’s not. This whole process made me quite hyper-active to the point it was very hard for me to do something not productive. Every minute that was not work-related, project-related or not dedicated to learning would make me quite anxious. Netflix, random talks, listening to music… I was never a lot into it but it is almost impossible for me now to sit there and listen to them. You should be careful too not loosing people around you because of that.

What’s next for me

I feel the first act was very well planned and executed. My next steps are:

  • Technical knowledge
  • Peer validation and team work

For those who might be interested, here is the article in which I described my method on what I called ‘hardcore learning’: https://medium.datadriveninvestor.com/principles-and-guidelines-of-hardcore-learning-b5ec93f4ce96

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response