DEV Community

Cover image for What nobody tells you when you decide to learn how to code

What nobody tells you when you decide to learn how to code

Stefanni Brasil on August 04, 2017

If you decided to change your career to a technology related field, you probably faced some internal demons. And the first thing that I want to say...
Collapse
kspeakman profile image
Kasey Speakman • Edited

I backed into programming from a different way. By the time I graduated with a CS degree, I decidedly did not want to be a dev. I had done some small programming projects as side work thru college. But programming felt overwhelming and complex to the point of being unmanageable. At the time I described what I thought of programming for a living as "going home every day with my brain fried". However while doing sysadmin work, employers kept giving me dev work to do since I already had some experience. So I began to find ways to organize and tame the complexity, and discovered that was actually pretty fun. Today I love dev work and realize that it fits me really well. Newly-graduated me would never have seen that coming.

Collapse
itstudiosi profile image
David Gil de Gómez

Is there anywhere that you can graduate as CS major without knowing how to code? :O

Collapse
kspeakman profile image
Kasey Speakman

Probably, but not schools you want to go to. :)

Collapse
joshbrw profile image
Josh Brown

Albert Einstein's quote of "The more I know, the more I realise how much I don't know" is very true in programming/coding/software. It's something you have to embrace and enjoy - you never stop learning and that's the best part!

Collapse
agrothe profile image
Andrew Grothe

Exactly. I just told a CS student this last week who started their first internship and felt overwhelmed because they didn't know what they were doing. Embrace it and love to learn because no matter how long you have been programming you always have opportunities to learn.

Collapse
jlehew profile image
John Lehew
  1. Have to relearn most of what you know about programming every 3 years.
  2. Very few users know what they want, but most know it when they see it
  3. UX design and the user experience are absolutely critical more than ever, every site is compared to Facebook and amazon
Collapse
amypellegrini profile image
Amy Pellegrini

Same experience, and I love coding, although I'm a pianist and the Piano is my Nr.1 thing. I think that the only people who has problems with coding, is the people who only wants to follow instructions, to be instructed and obey. For creative people like me, is a tool of empowerment. Thanks!

Collapse
edunham profile image
E. Dunham

Hmm. I was going to complain about clickbaity titles on old news, but then I realized -- this is stuff that everybody tells you after you learn to code. Or, everybody says it into their online spaces, and you only have cause to enter those spaces after you get far enough into programming to ask the questions that lead you there.

But before you learn to code, you might not have been exposed to the "how do I do this thing where I have no idea where to start? Well first let's find someone else who did it, probably online, and see what they have to say so we can skip to the second level of newbie mistakes instead of making the first ones..." paradigm. So pre-"programming mindset", people won't necessarily be exposed to all the advice that other recent novices have written.

Collapse
gholz profile image
Guilherme Holz

I agree with all your points, but I would like to add something, the CS course in my opinion is one of the worst ways to learn how to program, It's great to build network and to have a general vision of things but I always recommend a few steps for people learning how to code:

1) Buy a book on the technology you're interested. There's 2 reasons for that the first one is pretty psychological it creates a commitment to learn that since the good books are usually pretty expensive (specially in Brazil) the second one is that you can read the book anywhere at anytime.

2) Go to an online learning platform like Lynda.com, Udemy, Udacity... These platforms have a very focused approach and usually have courses for different skill levels.

3) Start a pet project. It doesn't need to be fancy or anything just a place to apply the things you've been learning.

4) Find a coach. An experienced developer can ease out a lot of concepts for you and you would be impressed on how open they are to do it.

5) Be proud of the small victories, programming is a constant learning process.

Collapse
stefannibrasil profile image
Stefanni Brasil Author

Hi, Guilherme, thanks for replying!

I totally agree with you, thanks again for sharing. In fact, I quitted college and started to study on my own. I was focusing too much on tests taking and not studying enough what really matters... I am doing an e-commerce, it's been fun. I have some mentors, I started to work with Rails too, been learning so much!

Yes, I am constantly reminding myself of that. Hope you are doing fine! Cheers.

Collapse
aminmansuri profile image
hidden_dude

A tip for you if books in your country are expensive: try buying Indian editions from sites like abebooks.com.

I've bought $200 books for $15 that way. Totally legal, new books.

Collapse
saaage profile image
Stefan Age

Thanks for posting this. I can empathize with points 2 and 4 and have learned to break things down into very small pieces especially when learning something new, and realizing that everyone learned from someone. I would get frustrated when the creative part of web design did not come as easily to me as the coding piece, then I realized I had to go out and find examples/inspiration. A book that helped me a lot with this mindset is Steal Like An Artist by Austin Kleon. It can be tough to keep grinding but I think you make some great points about maintaining that momentum.

Collapse
bluebell_lester profile image
Bluebell Lester

Are you sure nobody tells you all of this? I've personally been told all of the above countless times, most frequently by inspired bloggers that seem to just have discovered the wheel.

Also common sense.

Collapse
dexmunyaradzi profile image
Dex

I studied arts at high School but through those years i really felt it wasn't me.from a young age i always had a passion for computers but i was really bad at decision making on what i wanted to do. After highschool I took my time to really think on what i really want to do i just couldn't study law i wasn't a lawyer. During my gap year ive been learning how to code on my own and i found out it can be really frustrating but as long you have a passion for something you can never give up .thanks for the advice Steff i know its gonna be tough for me this year as i go to college but i won't give up 😃

Collapse
oathkeeper profile image
Divyesh Parmar • Edited

Really thanks for sharing this! I needed this so badly right now. I have completed my Graduation (B.Tech. here in India) in CS since last July 2017, and I had to lose 4 job offers because my university had made mistakes in calculation of grades. So since then I'm home and I was depressed for the most part of it.

  • The best thing is I started learning with Node.js and express.js since I wanted to create websites first as projects so that I can show someone that I code and moreover feel good for myself while showing them to recruiters.

  • I am so afraid of the competitive programming and solving questions on online judges like Hackerrank, CodeChef, Codeforces, etc. And Indian colleges there is a facade going on with everyone to only do that, which led me very disappointed.

but then I found reddit and thought of new ways to keep improving my ways. Now also created simple blog sites with both Python Django and Node.js Express.js but I'm still practicing those Data Structures and algorithms from sources like geeksforgeeks.org

the point of my journey is one has to spend time with being uncomfortable with programming and all things will fall in its place. It just feels like life sometimes. :D

I feel such huge pressure as I'm alone at home, my only friends are you guys online always hitting your keyboards to help or ask. I know it has been 9 months since I am at home, but I got to think on myself and I feel positive and always think about how I will be able to do those drama, story writing, Gym, Volleyball, Musical Instrument learning extra things just after work.

I need to hammer this in my mind, Major key for me is Learn how to be Patient

Collapse
chatelao profile image
chatelao

Loved the exotic CS classes University the most, you will not see them again in your professional life.

You will have 30+ years to learn how to code really well in your professional life (If you want to).

Collapse
wilmaralbertomp profile image
Wilmar Alberto Martinez Perozo

Excellent article. Advice like this is much needed for those of us who started in this fascinating world of software development. You have given me a great motivation, thank you!

Collapse
stefannibrasil profile image
Stefanni Brasil Author

Thanks, Wilmar for commenting here! I am really glad that I could help somehow. Always find ways to motivate yourself, cheers!

Collapse
jasongabler profile image
Jason Gabler

And coding isn't something done in a vacuum. It always has a purpose. That purpose is driven by need. And, ultimately, that need belongs to one or more people. Whether your software is an executable to be downloaded, a service provided or a library shared, you must understand the people behind the need behind the purpose. Even the lowest rung developer who's handed a set of inputs and outputs by the senior dev, she or he ought to be aware of the larger picture so every line of code can have useful meaning. Otherwise, it is out of place, wasting time and money, and what is the point?

So what's my point? Most developers do not enter school, let alone the profession, realizing they need to be adept at understanding other people's needs. Yet, I'm always thinking about my customers' needs. Does this fit their requirements, their budget, the things they aren't aware of but because of my experience I am?

I wasn't taught this at my alma mater. It's not something, I believe, we can learn on our own. I absolutely had to learn this on the fly. I've had some very patient friends and mentors along the way. Even if you're not the tech lead who's involved in the discovery processes, be prepared to think like a customer. The better you are at this seemingly non-technical skill, the better developer you will be.

Collapse
lucasdirani profile image
Lucas Dirani

Gostei bastante do texto, mas ele me fez pensar mais ainda sobre uma questão. Ultimamente venho pensando se realmente essa área é pra mim. Eu tenho a curiosidade de aprender, mas a exigência de conciliar isso com a faculdade é meio complicado. São diversas disciplinas e sempre sinto que não estou aprendendo o suficiente. Acabo quase sempre me perdendo e não sabendo como, e até mesmo por onde estudar da melhor forma. Eu começo a praticar um tema, porém no meio do caminho fico com a sensação que não estou indo a lugar algum. Estou há basicamente um ano e meio estudando, e sempre a troca de linguagens de programação durante os semestres da faculdade me faz ficar desorientado. Tenho vontade de focar somente em uma linguagem, mas não há como fazer isso. Enfim, são tantos problemas que justamente me colocam nessa confusão.

Collapse
naltimari profile image
Nelson

você escreve bem em português, mas a língua original do artigo é o inglês. Porque não escreveu em inglês?

Collapse
lucasdirani profile image
Lucas Dirani

Eu notei que a autora é brasileira, logo achei mais fácil me comunicar em português mesmo. De qualquer forma, valeu pelo elogio.

Collapse
tobias_salzmann profile image
Tobias Salzmann

One of the learnings I had: The other developers might be more experienced, but that doesn't mean they're always right. So keep challenging them and don't give up until you get a satisfying answer. Chances are that they have accepted the status quo and you haven't - and shouldn't.

Collapse
ardennl profile image
Arden de Raaij

Hah I just wrote something on dev.to about my digital coming of age. When I started out with developing, everything was pretty easy for me because I wasn't really thinking about the journey, just of the goal I had in mind. Web-development was a means to an end for me, so I never had imposter syndrome or things like that because I was in denial that development was even my field. Now, a decade later, I still truly enjoy coding but am clearly missing a sort of end-goal. If that makes sense :).

Collapse
ktmellow profile image
ktmellow • Edited

Wow, this listicle 100% ! Exactly what I say to people asking me if they should consider the career change and do a bootcamp like I did. Will bookmark this for a TLDR version of my usual shpiel.

Collapse
miguelrodoma95 profile image
Miguel Rodriguez

I didn't stuidied CS and I began learning just a year ago and I've been working as a developer for almost 10 months,so I'm really just beginning, and you really got me with the "Don't ever compare yourself with others" point, because even though I know that is my own progress and how I learn at my own pace what matters, it sometimes is inevitable to see your coworkers and/or friends who studied CS and think "I'm still not good enough".
But I've learned to accept the fact that I'm still not good enough, and it's fine, we all learn in a different way and I think that the importat thing is to keep learning and working so you can say "I'm a better developer than I was last week".
Thank you for your post, I really liked it!

Collapse
angieskazka profile image
Angie the Fairytale

What nobody tells you...

"what is that $ symbol in the beginning of every command line example"

Collapse
stefannibrasil profile image
Stefanni Brasil Author

good one! :DDD

Collapse
peoray profile image
Emmanuel Raymond

Thank you for this wonderful article

Collapse
imanzade profile image
ImanZade

It is very motivating. Thanks a lot!

Collapse
stefannibrasil profile image
Stefanni Brasil Author

Thank you, glad I could help somehow :)

Collapse
imranali_safin profile image
Emran Ali

Hey I have something to know!

Is there any platform that i can get problem to solve as a programmer? if so please inbox me .

Collapse
stefannibrasil profile image
Stefanni Brasil Author

Hi, Emran!
Do you know CodeNewbie? They have a lot of resources. I also have used in the past Code Wars. There also plenty of problems on Open Source projects on GitHub. Try one of these, hope it helps!