In our special Java Daily edition, we would like to introduce you to Trisha Gee. We are incredibly excited to be able to share some of her great experience with you.
Trisha Gee is a developer, technical advocate, and educator, based in Spain and working remotely for JetBrains. She loves the combination of solving technical problems and working out the best way to teach other developers techniques that will make their lives easier. She is a leader of the Sevilla Java User Group, and a key member of the London Java Community. In 2014 she became a Java Champion and is a 2015 MongoDB Master.
Java Daily: What is more important: an optimal algorithm or code that is easier to read?
Trisha Gee: Absolutely code that is easier to read. Well actually, of course, the real answer is “it depends”, but I would say generally speaking for the majority of application code readability (and therefore maintainability) is much, much more important than a nanosecond here and there in performance. Because let’s remember that choice of algorithm does not normally have the biggest impact on performance, performance problems are usually from things like making too many network calls to the database, not from having a couple more CPU cycles from an under-optimised “for” loop. Also, let’s remember that the JVM optimises our code at run time, and it’s much better at optimising simpler code in smaller methods with predictable flow control. And guess what? Humans are better at reading that stuff too.
Java Daily: What is the future of Java when compared to NodeJS? Is Java good enough to win in this competition?
Trisha Gee: I’ll be honest, I think this is like asking “Are oranges good enough to beat competition from apples?”. Sometimes NodeJS is the right choice. Sometimes Java is. These are not necessarily competing technologies, every technology has its best use cases and niches.
Java Daily: How do you define success?
Trisha Gee: Happiness. And happiness is far harder to achieve than other measures of success like the right title, right salary, right location, right car, right spouse, or whatever. To be honest, I’ll settle for “content” if “happy” is too hard.
Java Daily: What was the biggest challenge you had to overcome in order to achieve what you have today?
Trisha Gee: My lack of confidence in myself. And I don’t think this is a challenge that’s easy to overcome alone, you need people to help: friends, family, colleagues. Even professional help like coaches and counsellors. We do face external challenges to overcome, especially if we’re members of an under-represented group, but it’s also difficult to progress if we don’t believe in ourselves. That’s a really important thing to get right.
Java Daily: Where do you see yourself in 5 years?
Trisha Gee: On a beach, sipping cocktails, not worrying about anything… yeah not really. That’s going to take a lot longer than 5 years! This is one of those trick job interview questions that you have to answer with the “correct” answer for the company hiring you. So if JetBrains is reading this, I 100% believe I will still be working at JetBrains only doing More and Better 🙂 In all honesty, I would like to continue with my current job, I really like what I do. And there’s enough variety and challenge to keep me interested for at least another 5 years.
Java Daily: What is the most efficient software development process?
Trisha Gee: Whatever works for you! Obviously, the answer is “it depends”. Scrum, for example, is great for some teams and organisations, and terrible for others. It depends on the team and individuals, it depends on the business domain, the customers’ needs, and the constraints of the system and the organisation. I’m a fan of agile methodologies but they don’t suit everyone.
Java Daily: What are the 3 most important factors for the success of a software product?
All of the people involved – the developers, the business analysts, the testers, operations, management, etc. The communication between these people is key, without effectively communication you can have the most skilled developers or the most knowledgeable business, but if they can’t talk to each other you are not going to get a system that does what the business needs.
Is there anything else you would like to ask Trisha Gee? Who would you like to see featured in Dreamix‘s next Java Daily? Let’s give back to the Java community together!