How to learn to code – other people’s advice /1

It has been very busy period. I am in the middle of my residency application, completing a book and many other interesting projects. Months ago when I was gathering the information about how to learn to code I e-mailed few programmers.

I got this idea that it may be useful to share some of the advice with you. So here is the first advice:

Thanks for writing to me. I think it may be difficult to get paid for small programming projects while you build up your expertise. I recommend contributing to open source projects as a way to build up expertise quickly. Given your medical background, are there any programming or system administration jobs at universities or medical facilities?

Some resources that might be helpful:

A video tutorial on open source contribution

Training missions on common open source tools

Practice Python projects

Advertisements

NEJC_TOMSIC_INTERVIEW

INTERVIEW WITH NEJC TOMSIC – SELF-TAUGH PROGRAMMER, MD and MEDIATELY COFOUNDER

NEJC TOMŠIČ

 

Your bio :

2010 Won iGEM Grand price with Team Slovenia at MIT

2011 Graduated from Medical faculty in Ljubljana

2011 Learned to code

2012 Cofounded my startup (Mediately)

2012 Won second place at Health 2.0 hackathon

2013 Raised seed investment

 
Nejc, when you started to code ?

It was after I graduated from Medical faculty and had two months of free time before starting my residency.

You graduated from the Medical faculty, did it somehow help you being better programmer ?

Maybe the endurance to read a lot of thick books :). Also, I came across the idea for my startup while doing clinical work which gave me motivation to start coding.

What made you start ? What was the trigger ?

During my studies I always felt that drug information wasn’t easily accessible to students and doctors. The information was either in the books or was only partially available on the web page of Slovenian Health insurance. For quite some time I wanted to create a solution and learning to code enabled me to do that.
What resources did you use and how you keep up to date within rapidly growing field as programming is ?
I watched several video tutorials from lynda.com to get me started . Then I started to code my project and used stackoverflow and googling for every problem I ran into. And there were a lot :). Then I started to read programming books which gave me more in-depth knowledge. I also completed several online courses from Corsera.

Reading hackernews and weekly summaries from my field keep me up to date with what’s going on.
Do you code only for hobby or is this your job ?

I used to work as radiology resident and coded in the afternoons and weekends. Because I couldn’t give my 100% on both jobs I decided to work only on my startup.

How did you get your first programming job ?
I cofounded Mediately where I’m the lead Android engineer.

What is your favourite programming language ? Which one do you like to work with the most ?

My love at first sight was Ruby but now I work mostly in Java and once you get a grip on it it’s quite nice.

Would you encourage people graduating from non-tech colleges to learn to code ? Criticism about the idea (hype) ‘let’s all learn to code’ is not to so rare among some people who are more experts in the field. What is your thought about that ?

There is a lot of talk about how coding is the new literacy. But literacy helps people to communicate and I don’t believe that forcing everyone to code will improve how people communicate even through computers. However,coding is a wonderful way to get to know how programs, computers and internet work.

What do you think is the best part of being a coder ? Can you think about disadvantages as well ?

The best thing is that you can start working on your idea 5 minutes after you have got it in the shower. But I wouldn’t want to work at the IT department of a big conservative company.

What was the most interesting project you worked on ? People usually give me advices that the best way to start learning programming is to start working on some real personal projects ? Did you had your own ‘starting projects’ as well ?

By far the most interesting project is my startup. Being able to work on your idea and watch it grow is awesome. I would agree that having a project is crucial. I tried two times before to learn to code but because I had no project to work on I failed.

What are you up to today ?

Trying to grow my startup into a business.

Do you have any advice for newbie programmers ?
Choose a language (I suggest Ruby), complete a crash course online,choose a project that you’re passionate about and start coding.

Social media contacts:

Linked in: https://www.linkedin.com/in/nejctomsic

Mediately: http://www.mediately.co

Why hugging can be useful_other reasons

I am writing a medical article about Heyde’s syndrome and while reading one of the case reports I came across this introduction of the patient background. It is astonishing how this woman got diagnosed with aortic stenosis. After giving her little granddaughter a hug:

In october 2002, a woman aged 68 became dyspnoeic with decreased exercise tolerance and episodic chest pain. Prompted by her 8-year-old granddaughter, who on hugging her had commented that her heart ‘sounded funny0, she consulted her general practicioner, who diagnosed aortic stenosis, later confirmed by echocardiogram.

Hasan, Fyeza, Ciara S O’Brien, Aparna Sanyal, and Harry R Dalton. “Aortic Stenosis and Gastrointestinal Bleeding.” Journal of the Royal Society of Medicine 97, no. 2 (February 2004): 81–82.

THANK YOU NOTE FOR JACK DORSEY

This time I will write a short post about thank you note. It was when I was in the USA for the first time that I found these nice thank you note cards. I bought two books without knowing who should I send the first note. I somehow felt that this kind of expressing gratitude will make me fell good. I was right. I soon developed this habit of sending thank you note cards to express my gratitude. If you have not tried it yet I would kindly recommend it.

 

th

Few days ago I came across this great speech by Jack Dorsey, Twitter and Square co-founder. When I saw that it is almost 30 minutes long I doubt I will spend more than two minutes watching it. In this era of very short attention span and informatical explosion it is unrealistic to expect from people to take time for 30 minutes long speech. Things turned out differently and I watched it till the last second because it was great. I read about Jack Dorsey before but through this speech he appeared to be really great man. I saved this video for later ‘rewatch’ because I want to learn even more from it. I am sure I will get more of his wisdom after second (third, fourth maybe) watch. Something that I missed in the first session. You know, it is some of these materials that you do not want to miss a single detail from.

However, I suddenly got this idea to send thank you note to Jack Dorsey because he gave such a great speech. And I did it. I ask for his or his company post address on Quora and got one answer. I wrote thank you note where I expressed my gratitute for unselfishly sharing his experiences.

It is a great Friday and I wish u all great weekend.

 

P.S. My last post Joy of the First ‘Big’ Program and Continue created quite a discussion. Thank you for all great comments. I will try to respond as soon as possible but it may take a while as you commented some things that are higher-level-programming-things which at the moment I do not understand yet. 

JOY OF THE FIRST ‘BIG’ PROGRAM AND CONTINUE

I keep going with the Coursera course on Python by dr. Charles Severance. Class is really well constructed and I would warmly recommend it to all programming newbies.

Yesterday It took me quite a lot of time to solve the exercise. I experienced two things:

1. It is important to pay attention to details. I knew that but obviously did not remember lesson well as I was furiously looking for the solution while it was really obvious and would have appear to me much earlier if I would have been more precise. Once again: pay attention to details. 

2. The second experience was a joy of making my longest program so far. For an experienced programmer this piece of code will look very easy but for me it was the top of the mountain. If you have write the right solution, the right code either for given exercise or some problem of your own, you will know what I am talking about.

So here is the exercise:

Write a program that repeatedly prompts a user for integer numbers until the user enters ‘done’. Once ‘done’ is entered, print out the largest and smallest of the numbers. If the user enters anything other than a valid number catch it with a try/except and put out an appropriate message and ignore the number. Enter the numbers from the book for problem 5.1 and Match the desired output as shown. 

This is my first solution which I was so sure it was right but it was not:

largest = None
smallest = None
while True:
num = raw_input(“Enter a number: “)
if num == “done” : break

try:
num = int(num)
except:
print “Invalid input”

if largest is None or num > largest:
largest = num

if smallest is None or num < smallest:
smallest = num

print “Maximum is”, largest
print “Minimum is”, smallest

And this is the right solution. Do you notice the difference. Run the code if you are not sure.

largest = None
smallest = None
while True:
num = raw_input(“Enter a number: “)
if num == “done” : break

try:
num = int(num)
except:
print “Invalid input”

if largest is None or num > largest:
largest = num

if smallest is None or num < smallest:
smallest = num

print “Maximum is”, largest
print “Minimum is”, smallest

 

P.S. I apologize for writing code without proper identation. If you know how could I write nicer lines of code here in wordpress please let me know. 

PARALYSIS BY ANALYSIS

I was recently asked on Quora this question: What’s the worst way to learn programming?

Even though I am not a programmer but rather someone who is learning Python for fun, I did dare to answer the question. My response was:

Starting to many online courses at once and spending to much time on planning what and from where to learn.

I responded because I went through the same experience. You can get trapped into the false perception of doing progress, while everything that you are actually doing is planning and checking next cool learning site for coding. Codecakes, Udacity, Udemy, Teaching Tree, Learn Python the Hard Way, Codecademy, Code School… To name just a few. Stop planning to much, to precisely. You can easily spend too much time on checking these resources but I do believe this is waste of time.

By my opinion, what you should do is to determine the maximum amount of time that you are willing to spend on planning. Once you ran out of the time you must start learning and following one or two resources until you complete the lessons. Than you should move on, otherwise the learning process is confusing and unefficient.

How much time did you take for making your learning plan ?