• Post Reply Bookmark Topic Watch Topic
  • New Topic

Guidelines to becoming a professional  RSS feed

 
Jj Hernandez
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
            Howdy, Y'all!!!

I consider myself a noob when it comes to computer coding. Currently, I am seeking for more ways to hone my skills. I have so many questions and it would be nice to get some input from guys that are currently working in the field. For example, 1- What "way of learning" did you benefit most from?... Books??? Bootcamp?? College?? Youtube???  Please be as descriptive as possible.
              2- How much does an entry level coder with no experience (Maybe a B.S degree) salary look like?
              3- How can I practice being a better coder?       



      Guys thanks for your time, support and input.
 
Carey Brown
Saloon Keeper
Posts: 3328
46
Eclipse IDE Firefox Browser Java MySQL Database VI Editor Windows
  • Likes 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Everyone has to choose what learning method works best for them. My preference is books. What I like about books is that I find they expose me to features of the language and libraries that I didn't know enough to ask about.

Online documentation is very important now (didn't exist when I started out). Become familiar with Javadocs.

Practice, practice, practice. Invent small projects for yourself like utilities you might find useful in your day to day programming tasks. E.g. file renaming utility, directory print utility. And personal projects like an address book or finance tracking. Or games and puzzles. Try your hand at the Project Euler site. Learn at least a little about GUI and database coding.

Submit some of your code on this site for comment and criticism.

Forget salary, get your foot in the door.
 
Mohammed Sardar.
Ranch Hand
Posts: 194
1
Java jQuery Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Jj Hernandez, Welcome to Code Ranch . Please Don't panic and you are on right track if you have started ask questions at this stage. Many nice people are around in this forum who guide us well like one above post.

Carey Brown Thanks a lot for sharing your experience and not just as comments. I liked that very much. Lots of practice is very important. And you have provided some sample apps too to start practicing.

And @Carey Brown,Have you crossed any links that provide sample specifications of a project that we can make use to start develop and do further enhancements if required or can ask here for additional ideas ?

 
Mohammed Sardar.
Ranch Hand
Posts: 194
1
Java jQuery Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To add some more to last post, Like the Project Ruler has many mathematical  challenges along with well explained spec/required. Of course, we can also use listed in Project Ruler but you know there are with whom if Maths is not happy.

" If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000."
 
Jj Hernandez
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I really appreciate the advice guys. "The Project Ruler" sounds like a good starting point.
 
   Mohammed Sadar and Carey Brown thank you both again.

 
Carey Brown
Saloon Keeper
Posts: 3328
46
Eclipse IDE Firefox Browser Java MySQL Database VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jj Hernandez wrote:I really appreciate the advice guys. "The Project Ruler" sounds like a good starting point.
 
   Mohammed Sadar and Carey Brown thank you both again.

You're welcome, and it's "Project Euler".
 
German Martinez
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Computer Science is no more about computers than astronomy is about telescopes
. — Edsger Dijkstra, 1970.

For me, computer programming is not much about languages, code, functions, algorithms, etc. You have to learn about that, but also about things that are much more important. Computer programming is more about complexity and how to handle it.

It is not about how to program, it's about how to program well. And in order to program properly you need to know how to handle complexity. Programs become complex, because of bad programming, because they grow in size, because a piece of code is in the wrong place, and so on. Complexity is a formidable enemy. It must be avoided at all costs, because it grows exponentially until it becomes impossible to handle.

Except for the simplest programs, complexity will always appear. It must be dissolved so that it does not grow and becomes unmanageable. We have to stop doing new things, and take time to simplify and clearify what became complex. Not always this is possible to do because of work pressures, but even in those conditions it is necessary to take some time to simplify and clean the code.

A good program should be simple, clear, easy **for people** to understand, easy to modify, easy to debug,well commented, etc. The best program is one that expresses the solution to a problem as clearly and simply as possible.

A good programmer not only knows many technical things about programming, but he/she is also an expert at handling complexity, making the complex simple.

I recommend books like this, that shows you how to manage the complexity
        Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)
 
Carey Brown
Saloon Keeper
Posts: 3328
46
Eclipse IDE Firefox Browser Java MySQL Database VI Editor Windows
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
German Martinez wrote:Complexity is a formidable enemy. It must be avoided at all costs, because it grows exponentially until it becomes impossible to handle.

ENTROPY
 
Marco Behler
Author
Ranch Hand
Posts: 93
5
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'd also like to add that it's important to : relax.


No matter which path you embark on, it is going to take a while (read years) to become a real professional. That being said, I fully second that reading books is a great way of learning.

Example from my professional life: There's thousands of people using Hibernate, but not even two handful of people that I know who read the "Hibernate in Action" reference book, and you can tell by the problems they face in day-to-day life.

Also I find it helps to just check out source code from GitHub and read it. Say you want to see how a web framework like Wicket renders a textbox on a webpage -> find out. How does VLC open up a video file? -> find out.  Simply reading foreign code is a great exercise (but daunting sometimes).
 
Mohammed Sardar.
Ranch Hand
Posts: 194
1
Java jQuery Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marco Behler wrote:I'd also like to add that it's important to : relax.

Also I find it helps to just check out source code from GitHub and read it. Say you want to see how a web framework like Wicket renders a textbox on a webpage -> find out. How does VLC open up a video file? -> find out.  Simply reading foreign code is a great exercise (but daunting sometimes).



Thanks Marco for your great time. May I ask what is that  "Simply reading foreign code is a great exercise "-> foreign code ? How can we read more on foreign code and this helps us to improve professional coding style ?

Kindest Regards
Mohammed Sardar
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!