How to go from junior to senior develope ...

How to go from junior to senior developer - TalkingCode interviews Ben Orenstein

Oct 20, 2020

Ben Orenstein gave a talk at the TalkingCode podcast about how to go from a junior to a senior developer. I love TalkingCode, the guys are great and their content is superb.

What do they talk about

02:34 - Would a degree in computer science benefit somebody who is interested in starting programming?

03:23 - How do you convince people that getting a computer science degree isn’t necessary?

08:41 - What is the path from zero to junior developer?

14:16 - How do you define what a junior developer is?

15:35 - What goals are junior developers making?

17:24 - How was Upcase started? What was the focus/goal?

19:43 - What might an intermediate developer be doing that a junior developer isn’t?

21:50 - What is the difference between TDD (test-driven development) and writing tests after you write your code?

26:15 - Where do you look for your first job? How do you go about getting hired?

30:01 - How do deal with impostor syndrome when applying for a job?

32:46 - What kind of qualities that you look for when making a hiring decision for junior developers?

33:55 - How can you create a work environment for junior developers that helps them get better?

35:33 - What did Ben mean by, "To become a better programmer, one should practice like a musician."?

My thoughts

At first I thought I would be taking notes on what Ben has to say, but that quickly turned out into many opinionated "notes". It seems I have a very strong opinion about studying Computer Science or a related field (I am studying a related field). So, be warned.

- CS degrees are not about programming, they are about science. At least, my major (Information Systems, which is a mix between Business and Computer Science) doesn't teach programming ("throw away code", like that C program that implements a singly-linked list, is not really programming). It is really up to the student to do as many internships as possible to learn what is necessary to become a junior developer after graduating.

- I would never say no to someone who asks if Computer Science is a recommended major to someone who wants to work in the industry. This US bullshit needs to end. Without CS, it is up to you to know discrete math (base for programming), linear algebra (base for data science), algorithms and data structures (base for programming), big oh notation (base for programming)... and that is just your first year. Think also about Architecture and Organization of Computer, Operating Systems, Distributed Systems, Database design, Artificial Intelligence, Data Mining, Software Engineering... SOFTWARE ENGINEERING... are you really gonna skip that?

- Boot camp instead of a CS degree? Good luck! Unless one has tons of experience, one will never be called to an interview in Brazil.

- In hindsight, I kinda understand why a boot camp and not a University degree, as they tend to be very expensive in the US. But that is not really my reality and, in my reality, if one doesn't have a degree, even a crappy one, chances are a job interview will be a far way reality for you. Something I am quite curious about is if a crappy Brazilian CS degree is equivalent to a community college in the US. Leave a comment about that, if you know something about it, please.

- A lot of successful programmers don't have a CS degree. Maybe Ben doesn't know about survivorship bias?

- One other interesting point is made in a comparison about knowing the science behind it vs knowing how to apply that science to solve problems. That is not really the fault of a CS degree if the student doesn't know how to apply his field to solve problems.

- After 5 min. of trash talking CS as a degree, at least he agrees on the foundation that CS gives to its students. About the importance of that.

- Philosophy helped one of the hosts to learn to learn, to think critically. My previous major also taught me that and I am always looking for ways to improve my learning process (like the post I about Barbara Oakley talk). I can say that I never waited for my degree to actually teach me anything. I learned that quite fast in my first 2 semesters, that would be mostly on me to have a better understanding of the topics being taught. In Brazil, it is quite common to have people just out of high school and into the University if this kind of mentality: "I am here to learn and they (the teachers, the degree, the staff etc) shouldn't expect me to be mature enough"...

- Ben's opinion about how to go from junior to senior developer:

  • Make a couple friends, find some local meeting or find someone ahead of you in the learning process;

  • Go online if you can't find locals (twitter, stackoverflow, quora, feedspot etc);

  • Ask for recommended resources;

  • Boot camps.


- His definition of a junior developer involves being graduated from a boot camp (lol?) or having deployed an application (this one is quite a good metric, I think). Past syntax, past deployment, what is next? Finding a job, maybe. TDD or unit tests, clean code, refactoring, design principles, design patterns, software design and CD/CI pipeline would be my next objectives before finding a job.

- Networking is very important if one wants to find a job. Just be sure your code has quality before applying. Submitting bad code... why? Why didn't you have the time to actually refactor your code? Don't expect a job offer after that.

- I agree that documenting my learning actually helps a lot. Because I am always taking notes, those notes I can put online on my blog and they might be useful to someone else or, at the very least, be interesting to any possible employer as a peak into my thought processes regarding software. I think blogging is setting me ahead of other people (that's the impression, at least).

Those were my impressions of the talk. Not much favorable to Ben, I think. But it is just my opinion. Leave me a comment if you wish, spread the word. Start blogging too, so I can follow you and make opinionated remarks about your content (kidding :P)

Enjoy this post?

Buy fmachs a book

More from fmachs