How I changed my job and hated it immediately (a sequel to "is a digital marketing...")

153 views
Skip to first unread message

zentr...@yahoo.co.uk

unread,
Jul 20, 2012, 1:32:06 PM7/20/12
to java...@googlegroups.com
Previously: is a digital marketing company the place for keen developers?

*** UPDATE!! A YEAR AND HALF AFTERWARDS ***


I made it!

I quit that job and landed on one the most successful startup in the area (can't name it for reasons you'll soon understand, but just to let you know what I mean by 'most successful', we just passed our series a fudging and everyone and their uncles is talking about us).


It's an API Java shop. All I'm gonna say. I was hired to join what the API team. I'm one the (two) API guys.


Hang on... my profile in two lines: 6 years of Java web development. Spring fan. ORM. SQL. Some HTML. JS/JQuery. 

Recently tried Ruby/Sinatra and Node.js/Express on two little personal projects (and loved them both).

Learning Scala and recently got over Don't Make Me Think and the whole fuss about Responsive Web Design.


That said, these guys told me they're growing and growing, scaling and scaling. 

Their playground's on AWS and certain unspecified performance issues on mysql made them start thinking to move some 'things' on Dynamo DB.


How did they buy me?

Money? Not at all.

Stock options? Apparently not... yet.


I guess I was just very frustrated about the situation at my previous employer and it just felt cool to jump off and try the startup dope.

(I dropped other job offers meanwhile. They were my first choice).


I must admit I might have been easily fooled by the keyword-dropping (cloud, nosql, higly-scalable, machine learning...).

Shame on me. I know.


Day 1: I discover the following things:

- mr.API keeps unused imports on his classes. I guess it's some sort of fetish.

- API compiles with ant. Fine... I figured it was just me hating ant in 2012. I must've said something like "let me mavenize all your projects... please let me!". I kinda did it in the end.

- not just any ant, some shit netbeans does for you, which resulted in them telling me I was not able to use Eclipse (my IDE lover). I called it racism and laughed (and just used ant command line).

- no unit testing. No continuous integration.

- no dependency injection. I knew they were not using Spring... but I figured they were using weld or something.

Code's full of calls to static methods of helper classes. Code has the stinky tendency to use ThreadLocal as their food trolley. Never seen it before.

- production deployment (on all 6 instances of glassfish) is done BY HAND. Does not look like they want to change this.


Not bad for your first day, right?


My first task: set up an oauth authentication provider. oauth 2.0. Cool. 

I was allowed (literally) to use spring security oauth which to me looked like the quickest way. Fine.

I got it fully working in like 2 days and if it wasn't for their silly customization requests, It would've been faster.


What now?


It's been a month now and I want to jump off the window. Here goes a short list of things I can't stand or bothered me.

- CTO can't code. Seriously. And proudly admits it.

- mr.API screamed at me because I was (successfully) using @Inject and things like that… especially on the EntityManager that they keep passing over as a parameter from rest resource to resource helper and so on.

- I said I would've liked the oauth provider pages to follow the mobile first sort of rule, only to find out they had no idea what I was talking about (and I ended up media-querying my thingie… which was actually kind of fun).

- I was asked to produce (in less than a day) and Facebook Connect kind of button… a nice companion to our newly born oauth provider (that nobody uses yet)


Where am I going?


I hate it here! Sure we're front page news and all… but the amount of incompetence and bullshitting I heard so far is unbearable.

I was told I was late for a deadline I was never informed of!

There is no project mgmt tool. No agile or anything for that matter.

They try to fix problems by throwing sheer hours at them (yes, this is a quote from a book I don't think anyone in this company has read).


Is it just bad luck? Should I ask whether they use maven or jenkins at job interview?


What I might get out of this is maybe the flexibility (work-for-home/no badged entrance kind of thing) and (maybe) a trip to our offices in Palo Alto (if I'm very lucky).


What I wanted to get out of this was learning a new language (Scala maybe), new things (nosql, hadhoop, mahout). In a word: learn and innovate.


What now?


I'm giving this one or two more months. If I'm still treated like a newbie by these guys, I'm calling it a quit.


Sorry for the rant again.

Fabrizio Giudici

unread,
Jul 20, 2012, 2:09:12 PM7/20/12
to java...@googlegroups.com, zentr...@yahoo.co.uk
On Fri, 20 Jul 2012 19:32:06 +0200, zentr...@yahoo.co.uk
<zentr...@yahoo.co.uk> wrote:


> Sorry for the rant again.

It's interesting, anyway, to have a confirmation that you can be a
corporate on the leading news and be a pissoir from the technical point of
view. Which means that market success in some cases is more a marketing
stuff.

Next time? Don't consider the fact of being on the leading news a plus.
Pick one which has a satisfactory developing process - and you should be
able to guess which ones have it, because if they have it they will
interview you with questions aiming at understanding if you are able to
work in that way. So, you'd be aware of their process in a way or another.
If you don't, this means they don't have a process. Stay away.


--
Fabrizio Giudici - Java Architect, Project Manager
Tidalwave s.a.s. - "We make Java work. Everywhere."
fabrizio...@tidalwave.it
http://tidalwave.it - http://fabriziogiudici.it

Mike Wolfson

unread,
Jul 22, 2012, 9:09:54 AM7/22/12
to java...@googlegroups.com
I just wanted to let you know your experience is not unique.  I have worked on a variety of projects at companies of various sizes.  Every project I have ever been on was encumbered by technical debt due to poor processes, or flawed technical decisions. It is an extremely important skill (more important than knowing technology IMHO) to be able to communicate suggestions, and effect change - in other words, you need to be a politician, in addition to being a coder.

How you deal with these problems is what makes you a truly great software engineer.  To say it another way- if you want to be a truly great developer, you need to be more than a coder, you also need to be a communicator, and a team player. 

Many of the comments in the previous thread address methods for how you go about implementing technical changes in a corporate environment.  Learning these skills, is worthwhile, and will make your career more satisfying.

A couple Google Engineers just wrote a book about how to develop some of these 'soft skills'.  I would suggest checking it out. 
TeamGeek - http://www.amazon.com/Team-Geek-Software-Developers-Working/dp/1449302440/ref=wl_it_dp_o_pdT1_nS_nC?ie=UTF8&colid=28MZQC1X44FJB&coliid=I2T1FWJGZU3RZ3

Those same engineers have given talks at conferences, which are always entertaining and filled with valuable advice:

Google I/O 2011: Programming Well with Others: Social Skills for Geeks- http://www.youtube.com/watch?v=q-7l8cnpI4k


Google I/O 2012 - The Art of Organizational Manipulation:  http://www.youtube.com/watch?v=OTCuYzAw31Y


I have been reviewing these resources myself, as I just started a new job, that looked very promising on paper, but turned out to have a lot of challenges that weren't clear during the interview.

Dealing with process, and effecting organizational change, is not something most developers like to do. However, it is a necessary evil of the software development process (and present in almost every organization).  Hone your communication skills, which will make you a much better developer, and a more valuable (and respected employee).

Good luck, hope you find comfort in knowing that you are not alone in your frustrations. 

-Mike

Rakesh

unread,
Jul 22, 2012, 2:19:21 PM7/22/12
to javaposse


---------- Forwarded message ----------
From: Rakesh Patel
Date: Sunday, July 22, 2012
Subject: [The Java Posse] How I changed my job and hated it immediately (a sequel to "is a digital marketing...")
To: "java...@googlegroups.com" <java...@googlegroups.com>


It's next to impossible to find the perfect job deliberately in any sphere. In software more so as its really hard to do well and more importantly, to keep doing well over time.

I think I currently have my dream job - small team and complete freedom to use any technology I like to get the job done.

With freedom of course comes responsibility, and I work quite a few hours above and beyond my contracted hours. I don't resent this as I still get to use the technologies I want.

The main downsides are I don't get to pick my coworkers (echoing Mikes point).

It's going to be hard moving on from this project into a bog standard one now that I've been infected by the Groovy and really loving it.

My advice would be to learn everything you can from every experience and then go freelance. It's much easier to move around until you find the right role.

Rakesh


On Sunday, July 22, 2012, Mike Wolfson wrote:
I just wanted to let you know your experience is not unique.  I have worked on a variety of projects at companies of various sizes.  Every project I have ever been on was encumbered by technical debt due to poor processes, or flawed technical decisions. It is an extremely important skill (more important than knowing technology IMHO) to be able to communicate suggestions, and effect change - in other words, you need to be a politician, in addition to being a coder.

How you deal with these problems is what makes you a truly great software engineer.  To say it another way- if you want to be a truly great developer, you need to be more than a coder, you also need to be a communicator, and a team player. 

Many of the comments in the previous thread address methods for how you go about implementing technical changes in a corporate environment.  Learning these skills, is worthwhile, and will make your career more satisfying.

A couple Google Engineers just wrote a book about how to develop some of these 'soft skills'.  I would suggest checking it out. 
TeamGeek - http://www.amazon.com/Team-Geek-Software-Developers-Working/dp/1449302440/ref=wl_it_dp_o_pdT1_nS_nC?ie=UTF8&colid=28MZQC1X44FJB&coliid=I2T1FWJGZU3RZ3

Those same engineers have given talks at conferences, which are always entertaining and filled with valuable advice:

Google I/O 2011: Programming Well with Others: Social Skills for Geeks- Google I/O 2011: Programming Well with Others: Social Skills for Geeks


Google I/O 2012 - The Art of Organizational Manipulation:  Google I/O 2012 - The Art of Organizational Manipulation


I have been reviewing these resources myself, as I just started a new job, that looked very promising on paper, but turned out to have a lot of challenges that weren't clear during the interview.

Dealing with process, and effecting organizational change, is not something most developers like to do. However, it is a necessary evil of the software development process (and present in almost every organization).  Hone your communication skills, which will make you a much better developer, and a more valuable (and respected employee).

Good luck, hope you find comfort in knowing that you are not alone in your frustrations. 

-Mike


On Friday, July 20, 2012 10:32:06 AM UTC-7, zentr...@yahoo.co.uk wrote:
Previously: is a digital marketing company the place for keen developers?

*** UPDATE!! A YEAR AND HALF AFTERWARDS ***


I made it!

I quit that job and landed on one the most successful startup in the area (can't name it for reasons you'll soon understand, but just to let you know what I mean by 'most successful', we just passed our series a fudging and everyone and their uncles is talking about us).


It's an API Java shop. All I'm gonna say. I was hired to join what the API team. I'm one the (two) API guys.


Hang on... my profile in two lines: 6 years of Java web development. Spring fan. ORM. SQL. Some HTML. JS/JQuery. 

Recently tried Ruby/Sinatra and Node.js/Express on two little personal projects (and loved them both).

Learning Scala and recently got over Don't Make Me Think and the whole fuss

To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/cbetWyNuMlAJ.
To post to this group, send email to java...@googlegroups.com.
To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.

Reply all
Reply to author
Forward
0 new messages