Win a copy of Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques this week in the Server-Side JavaScript and NodeJS forum!

Michael Gomez

+ Follow
since Dec 31, 2013
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Michael Gomez

It's all about how you frame it. Here in the US we have an HR term called 'work/life' balance. Mention that you enjoyed the challenge of your last project but it was having negative side effects on your mental health and family. Say that you are looking for a well run project where you can contribute. Ask about the work culture and how staffing/deadlines are planned.
7 years ago
Hey Ranch,

I have been coding primarily in Java my entire career (~4 years). Recently I received an interesting opportunity within my company to move over to a PHP project. I have only a basic understanding of PHP, although I'm sure I could increase my knowledge if that was my sole focus. The department manager who offered the opportunity understands that my background is in Java.

What type of implications would switching over to PHP have? I know it would make me a more rounded developer and hopefully increase my future job prospects.
Would it have any negative side effects? If I worked on PHP for 1 or 2 years, would my lack of recent Java work hurt my chances when applying to future Java jobs?
I know recruiters often tend to pigeon-hole people into 'Java Developer' or 'PHP Developer'. How do I build a successful career spanning multiple languages.

7 years ago
Hey Ranch,

I took the advice I received and decided to look for a new job.
Within two weeks I received two offers both with a significant pay increase.
I'm excited since I will be doing Java development once again

Company A
* +25% $$$ (salary)
* Small company
* Enhancements to existing application (~10 years old)
* Using older technologies
* Casual dress code (jeans / polo)
* 5 minute drive from my house

Company B
* +28% $$$ (hourly / contract to hire)
* Very large company, larger team
* Newer technologies / agile development
* Formal dress code (slacks / dress-shirt)
* 5 minute drive from my house

I'm leaning towards company B, the newer technologies and faster pace of development sounds fun
I really appreciate all the feedback I received !!!
7 years ago

Bear Bibeault wrote:Sounds to me like it's time to up periscope for your next position. It sounds like you have had some good experience previously in your current job, but if there's no chance to continue development, doing continuing manual testing isn't going to do anything for your skill set or career.


Thanks for the reply, I'm thinking the same thing Bear
Guess I should dust off and polish up that resume!
7 years ago
Hi Ranch,

I have been in my current role for 1 year but lately I have been very frustrated. I was hired as a Java Developer at my current company and spent the first 6 months building a web application using Hibernate and Spring MVC. Everything went well and I really enjoyed my job, I felt like I was learning and doing exactly the type of work that made me happy.

After 6 months, the development work was completed and I was asked to help out on a different project in a QA role. Initially my work was Test Automation with Selenium, although it wasn't application development I was still coding in Java. However, I was asked to help out more on Manual QA because the QA team was falling behind. Now for the past 6 months, I have been nothing but Manual Testing. In the beginning I did learn a few things like bug reporting, how to create test plans, etc, and I felt that made me a better overall developer. However, I find manual testing extremely boring, the work is not challenging, just extremely repetitive

I can't see myself doing this type of work for another 6 months, even 1 month would be too much. At this point in my career (year 3), I want to keep improving my development skills and I feel that this role is not helping me. I am thinking about quitting, we are currently downsizing our dev team, so theres likely no opportunity to be moved back to dev, also our management team doesn't prioritize test automation. Any advice for me? Has anyone else been in a similar position? I have normally always been willing to help out in any area (dev, operations) but this is not why I had in mind when I joined this company.
7 years ago
Hey Ali,

Not sure what you mean by "blueprint" diagram, but I use the following for planning my apps:

  • Wireframe - For planning the look of a webpage & navigation between pages
  • Class Diagram - Shows how classes relate to each other. I use an eclipse plugin to generate it
  • Use case diagram - Interactions between users and the application

  • 7 years ago
    Hey ranch,

    Quick update, I decided to go with the MBP retina (8 GB ram, 256 GB SSD).
    I ran a bench mark on my Windows machine, I ran every single application I could think of using:
    Eclipse (2 instances), iTunes, 2 virtual machines, Firefox with 20 tabs, IE, Microsoft Word, etc, and I only got up to 4 GB RAM.

    Still getting used to my new mac, in the process of setting up my development environment
    7 years ago
    Thanks for the reply bear, I likely won't be able to max out everything due to my budget. However I might be able to max ram, just wondering if you ever get past 8 gb? I know eclipse takes up a fair bit of memory, and I will likely run a virtual box. This will be a development machine, no video or photo editing of any sort.
    7 years ago
    Hey ranch,

    I'm looking at getting my first Mac computer, I'm leaning towards the MBP with Retina, however I can't seem to decide on SDD size & Ram size.
    Here are few models I have priced:

    MBP w/ Retina, 2.4 Ghz i5, 128 GB SDD, 8GB

    MBP w/ Retina, 2.4 Ghz i5, 256 GB SDD, 8GB

    MBP w/ Retina, 2.4 Ghz i5, 128 GB SDD, 16GB

    I'm leaning towards the middle one, seems to be the sweet spot.

    7 years ago
    Sometimes I will make private methods protected so that my JUnit Test classes (in the same package but different folder) can invoke them.
    7 years ago

    Prasanna Raman wrote:Thanks, Jeanne

    I am thinking of having an accountID field to uniquely identify an account and an SSN field for uniquely identifying a customer, but I am confused as to why I have to think about these at this point. Could you please help me understand?

    Using a SSN to uniquely identify a customer is a bad idea, think about the following:

    *Privacy Issue - in your sample application it might not matter, but in a real application you wouldn't want to expose those details, better to follow good standards.
    *Not a true PK - Although rare, its possible a Social Security number can change, usually as a result of identity theft, etc.

    Better to use a auto-incrementing surrogate key.


    Social Security Numbers do not make good primary keys for a table of people for many reasons. First, most people consider their SSN private and don’t want it used in databases in the first place. Second, some people don’t have SSNs – especially those who have never set foot in the United States! Third, SSNs may be reused after an individual’s death. Finally, an individual may have more than one SSN over a lifetime – the Social Security Administration will issue a new number in cases of fraud or identity theft.

    7 years ago
    For beginner, here are some possible choices:

    *Head first Java (2nd Ed) 2005 - good if you like lots of pictures, stories, and analogies, published 9 years ago but still good for basics...
    *Thinking in Java (4th Edition, 2006) is rated highly on Amazon...
    *Java For Dummies (2013) - Newer, but doesn't seem to cover as much Head First

    7 years ago
    Instead of storing each character individually in their own variable I would use an array.
    Then I would sort the character array from highest to lowest, there's quite a few algorithms available for sorting.
    The main problem with your approach is that it will not scale very well.
    What would you do if you had 20 characters? Would you write 20 else if clauses?
    7 years ago
    Question needs to override the equals() and the hashCode() methods.
    7 years ago

    Saikrishnan Srivatsan wrote:

    Campbell Ritchie wrote:it should be:-
    Map<Name,Entry> entries = new HashMap<Name, Entry>();

    I understand the concept of dynamic look-up that Java does but haven't come across a real life example to understand why I really need to declare things the one above as the super type. Is this something that someone can explain or maybe point me to other threads where this has been discussed? I can't understand here whyis bad

    its a good idea to code to interfaces instead of implementations, this allows more flexibility in your code since you can swap out the HashMap for a different subclass without major refactoring.
    7 years ago