Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Roadmap to a better programmer [closed]

Tags:

Its always said that more you program, the better you become. Sounds good and true. But I was wondering if there is a proven route to becoming a better programmer.

Something like:

  • Learn a
  • Learn b
  • Learn c > 'Now you are good to burn the engines'
  • Try stuff around based on your learning.

The answer might be similar to a CS course roadmap, but I want to hear from successful programmers who might want to pitch in with something notable.

Thanks

like image 986
Manav Sharma Avatar asked Oct 09 '09 21:10

Manav Sharma


People also ask

Is 35 too old to become a programmer?

Becoming a programmer at any age is possible; all you've got to do is try. If you're interested, there's no time like the present to jump-start a meaningful new hobby, project, or career in coding.

Is 40 too late to become a programmer?

There is no age limit to be a programmer, it just depends on your skills and abilities to coding and innovate something new. As we know experience is also important. In every company, most of the employees are experienced and the companies also prefer experienced people in their team.

Is 30 too old to become a programmer?

It's never too late to learn to code. People have learned coding skills into their 60s and beyond, and plenty of career changers have found new roles as software developers. But if you are learning to code after 30, there are certain things you should consider to set yourself up for success.


2 Answers

It's not true that practice makes perfect.

It's perfect practice that makes perfect.

If all you do is keep repeating the same bad practices again and again, you'll only make it possible to create bad code faster.

By all means keep coding. But at the same time be critical of everything you do. Always have a jaundiced eye that looks for ways to do things better. Read widely to get new ideas. Talk to others about how they do things. Look at other people's code, good and bad.

There's no "sure" way to learn anything that I know of. If there was, anyone could master this.

like image 169
duffymo Avatar answered Sep 29 '22 12:09

duffymo


All questions are rhetorical and meant to stimulate thought.

Technical parts:

  • Design Patterns - There are probably some specific to a domain but generally these are useful ways of starting parts of an application. Do you know MVC or MVP?
  • Basic algorithm starting points - Divide and conquer, dynamic programming, recursion, creating special data types like a heap, being greedy, etc.
  • Problem solving skills - How easily can you jump in and find where a bug is? Can you think of multiple solutions to the problem?
  • Abstract modelling - How well can you picture things in your head in terms of code or classes when someone is describing a problem?
  • High level versus low level - How well do you understand when one wants something high or low? This is just something I'd toss out there as these terms get through around a lot, like a high level view of something or a low level language.

Process parts:

  • Agile - Do you know Scrum, XP, and other new approaches to managing software projects? How about principles like YAGNI, DRY and KISS? Or principles like SOLID? Ideas like Broken Windows?
  • Developer Environment - How well do you know the IDE you use? Source Control? Continuous Integration? Do you know the bottle necks on your machine in terms of being productive?
  • xDD - Do you know of TDD, BDD, and other developments driven from a paradigm?
  • Refactoring - Do you go back over your old code and make it better or do you tend to write once and then abandon your code?

Soft skills:

  • Emotional Intelligence - Can be useful for presentations and working with others mostly.
  • Passions/Motivation - Do you know what gets your juices flowing and just kick butt in terms of being productive? Do you know what you would like to do for many many years?
like image 38
JB King Avatar answered Sep 29 '22 11:09

JB King