4 ms·
i work at a J2EE shop. We pivoted recently. We feel like a startup, we engineer like a startup, we work as hard as a startup, but we also have existing client r
by dustingetz 15y ago
i work at a J2EE shop. We pivoted recently. We feel like a startup, we engineer like a startup, we work as hard as a startup, but we also have existing client relationships, existing revenue streams funding our pivot, and we already have a team of domain experts and strong engineers.
When I give a talk and my bio says J2EE I'm a bit sheepish, and all the twenty-somethings are like LOL you use java, but that's silly - I work for a better, stronger business than all the little startups[1] emailing me on careers.stackoverflow. And the money is better. And we dodge the whole class of issues that come with taking money[2], like being told by your VC to collect and sell personal information.
That's why I'm still here. I believe in this business, and when interviewees ask the founder about the business model, the answer isn't "freemium" - its how we've been paid to contract a product for a huge client but retain IP rights so we can reinvest the profit to productize something that the entire industry wants. and we have assets (domain experts, software, client relationships, functional sales team) that a startup doesn't have - there are tremendous barriers for competition to overcome. we're halfway through this, and it's working, and when you look at it you're like, duh, of course its working.
[1] i don't want to pick on anyone, and there are a few awesome startups out there that I'd love to work for, and maybe yours is in this set, and maybe i'm not good enough for the ones in this set. What I do see is that the startups emailing me seem to need a decent rails guy to build their commodity webapp. rails apps are important, and i'm sure they have all sorts of challenges which i'm not aware of, but they aren't particularly interesting, to me. J2EE on a good team is about building out < http://c2.com/cgi/wiki?WhyIsPayrollHard http://c2.com/cgi/wiki?WhyIsPayrollHard >, which is in a whole new class of scale/complexity that is, well, the type of hard which causes languages like Clojure and Scala to exist.
[2] http://37signals.com/svn/posts/3107-99-problems-but-money-aint-one http://37signals.com/svn/posts/3107-99-problems-but-money-ai...
edit: i'm getting lots of voting activity in both directions, it surprises me that this is controversial, i'd love to hear criticism.
- matwood 15y agoWhen I give a talk and my bio says J2EE I'm a bit sheepish, and all the twenty-somethings You shouldn't feel sheepish at all. With how the client side JS frameworks are shaping up I think for many apps the optimal architecture is going to end up being JS in the browser calling web services in the backend written in Java/.Net ecosystems.
- edwinnathaniel 15y agoI've been doing this for the last 4 years. First product was using GWT to communicate with a special type of Servlet (GWTServlet) via XML-RPC. We definitely can substitute the back-end to use plain Servlet or JAX-RS or SpringMVC and tweak the front-end a little bit with no problem. Second was an enterprise project utilizing IBM WebSphere Portal (JSR-286, or... if you're not familiar, take a peek at Liferay) in which we implemented 90% of it using AJAX to talk to a Portlet (like Servlet) that returns JSON. One of the components was implemented using JAX-RS that can easily switch between XML or JSON or ATOM without having to write a single line of logic other than annotating the method to return any or all of the above format (JAX-RS uses content-negotiation). You'll be surprised how easy it is to implement such set-up in Java. It is built with modularity in mind but you can always use SpringMVC if you'd like to have something more like Rails as well :).
- kyrra 15y agoI've worked on 2 large GWT apps, neither backed by Java (one was backed by C++, the other was backed by Perl). Using it to create web applications is really nice, but it's a bit bulky when it comes to some UI work (though, UIBinder helps a lot when you just want to write HTML). Java is an overall great language. While it does have it flaws, it helps protect you from lots of stupid programming mistakes and it has pretty good performance.
- edwinnathaniel 15y agoGWT is definitely heavy, considering all its functionality from minifying js, js splitting to optimize page load, multiple js output for browser specific optimization and to reduce js size, generating sprites, merging css, images, etc. The best part of GWT is the testability aspect via MVP pattern if you compare it against weiting in pure JS which is usually hard to write headless test automation.
- shafqat 15y agoI find it ridiculous that a significant percentage of the population here equate raising VC money with selling your soul. I know you cite the SvN post, but that is one opinion. Raising VC is good for some businesses, bad for others. So is your hiring plan. So is your product choices. And a hundred other things. We struggled for a long time, and our business came perilously close to the end a few times. But you know what got us out? Funding. VCs. Amazing investors that were thoughtful, supportive and value accretive. The marketing that we could invest in with our funding. We're doing millions of revenue now, and it is all because we were able to light the rocketship with our VC fuel. And did I say our VCs became great friends and mentors, even through the tough times? It's not for everyone, and my experience may be an outlier. But let's stop with the snarky ant-VC comments. I agree with the rest of your points and good luck with the pivot!
- dustingetz 15y agothank you for sharing - certainly, one takes VC money because he thinks he's better with it (and the implications of having heavier profit incentives) than without it. > ... equate raising VC money with selling your soul... one opinion... Raising VC is good for some businesses, bad for others one interesting datapoint is that most* YC startups accept the Yuri Milner offer (auto 150k angel round). not that all startups are like YC startups, and that all businesses should take money, and that taking money/aiming for the stars is what defines a startup, but I do feel a bit of a stigma of "if you aren't a startup you and your company suck". As I get better acquainted with Dunning-Kruger I wonder if all those YC founders are mortals after all, just like you and me. or maybe i'm on the wrong end of it again ;) *no source, read it 6 months ago edit: this doesn't even make any sense, sorry haha
- tatsuke95 15y ago>"I find it ridiculous that a significant percentage of the population here equate raising VC money with selling your soul." Really? I find the opposite. Every "we're hiring" thread brags about the company being "VC funded" and people seem to fall all over themselves figuring out the best pitching strategies or slide deck appearances. I always find it odd, because being VC funded isn't good or bad in and of itself. There we agree.
- 15y ago
- edwinnathaniel 15y agoSomehow I met more Java shops with stronger revenue and a more solid future compare the rest. I've been using JavaEE 6 (with Spring MVC) for a while and I believe it has improved a lot (and a lot simpler) compared to the previous versions and perfectly suitable for modern software systems: MVC (Spring), API json/xml (JAX-RS supports this easily), superb Testing tools (can mock almost everything), Asynchronous like Node via Servlet 3.0, WebService via JAX-WS easily (less than 5 minutes to produce XSD/WSDL or to generate client stubs). I'm also impressed with the tools such as Maven for dependency, build, and package management, FindBugs for code analysis, CheckStyle for code-style enforcer, Hudson for Continuous Integration, and JavaDoc for code documentation that Java ecosystems has provided in order to write high quality software.