• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Need some general advice for a software noob.

 
Greenhorn
Posts: 3
Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hey I'm new here. I've been reading for while now but this is my first post.

I'm a hobby programmer and have a solid grasp on OOP now and I'd love to eventually turn it into my career.

I'm wanting to get some feedback from employed developers, so here is my question:


What do you know now that you wish you had known when you were starting out?
Also
If you have a junior developer working with you, what do you wish they were better at?

Thanks for any help
Steve
 
Bartender
Posts: 2911
150
Google Web Toolkit Eclipse IDE Java
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Steven Trippier wrote:
What do you know now that you wish you had known when you were starting out?


Honestly, nothing pops out to my mind from software point of view.


Steven Trippier wrote:
If you have a junior developer working with you, what do you wish they were better at?


I prefer a programmer who loves programming vs one who looks at it as a mere task
 
Marshal
Posts: 79177
377
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Steven Trippier wrote:. . . what do you wish they were better at?  . . .

Telling you about problems? Asking questions about problems? But not interrutping one's flow of work.
 
Campbell Ritchie
Marshal
Posts: 79177
377
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Steven Trippier wrote:. . . this is my first post. . . .

Welcome to the Ranch
 
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Steven Trippier wrote: What do you know now that you wish you had known when you were starting out?


The importance of knowing basic idioms well. Google "code kata" to learn how to practice these.


Steven Trippier wrote: If you have a junior developer working with you, what do you wish they were better at?


It varies by person; there's not one thing that applies to everyone.
 
Sheriff
Posts: 17644
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I agree with the "know your programming idioms" advice. As part of that, I wish more novices boned up their skills on unit testing and simple design principles. At the very least, I wish they concentrated more on writing clear, expressive code.

Studying how to pick good names is not that hard but it's something you don't see many new or even relatively experienced developers caring about much. They tend to focus more on technologies and the nuts and bolts, not so much the craft of writing good software.

Study refactoring and code smells. Get better at recognizing when you have duplication and code that doesn't express its intent well. Study how to write clean code. Elegant code even.
 
Bartender
Posts: 1868
81
Android IntelliJ IDE MySQL Database Chrome Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would suggest that you become aware of how whichever framework/programming language handles internationalization/localization.
While the project(s) which you would be working on may not require this at the beginning, it should be something you investigate before too long.
Not only that the next project for the next company that you work for may require it.

You may want to become somewhat familiar with some of the non programming terms/processes which many programmers use regularly such as:
  • Continuous integration
  • Dependency management
  • Project management
  • Code quality
  • Code review
  • Before you know it you may get dragged into a 'sprint' which in which some team members discuss 'Jenkins' and/or 'Gradle' and/or 'Maven' issues.
    Knowing a bit about these things may prove very helpful.
    Most likely other team members will know what these terms/processes are and can/will help you out as well.

    There are a number of tools/articles/discussions regarding these processes and tools relate to GitHub.com found here https://github.com/marketplace using "Categories".
     
    Steven Trippier
    Greenhorn
    Posts: 3
    Java
    • Likes 1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Wow, thanks guys, great response. I've got quite a while left for studying as I've got 4 years of part time uni remaining.

    So I'll be sure to note downs and study up in all these areas. I'm well aware that doing something as a hobby and doing something professionally are 2 very different things. So all of you advice is very much appreciated.

    Thank you all very much
     
    reply
      Bookmark Topic Watch Topic
    • New Topic