Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
Win a copy of Kotlin for Android App Development this week in the Kotlin forum!
  • 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 all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Devaka Cooray
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Junilu Lacar
  • Paul Clapham
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Tim Moores
  • Stephan van Hulst
  • salvin francis
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Frits Walraven
  • Ganesh Patekar

Need some general advice for a software noob.  RSS feed

 
Greenhorn
Posts: 3
Java
  • Mark post as helpful
  • send pies
  • 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
 
Saloon Keeper
Posts: 2146
80
Eclipse IDE Google Web Toolkit Java
  • Likes 2
  • Mark post as helpful
  • send pies
  • 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: 62883
203
  • Likes 1
  • Mark post as helpful
  • send pies
  • 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: 62883
203
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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

Welcome to the Ranch
 
author & internet detective
Posts: 39129
723
Eclipse IDE Java VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • 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: 12996
217
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
  • 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 Chrome IntelliJ IDE Java MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
  • 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
    • 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
     
    All of the world's problems can be solved in a garden - Geoff Lawton. Tiny ad:
    RavenDB is an Open Source NoSQL Database that’s fully transactional (ACID) across your database
    https://coderanch.com/t/704633/RavenDB-Open-Source-NoSQL-Database
    • Post Reply Bookmark Topic Watch Topic
    • New Topic
    Boost this thread!