

Ask HN: Afraid I've dug myself into a hole - hitokiri82

Hello guys. This is my first time writing to HN so I'm not sure if I'm stepping out of line here in any way, sorry in advance if I am. 
 I'm  a Computer Engineer and right out of college I started working as a SAP Consultant (BW/BI in case you are familiar) and I have been doing that for the last 4 years.  Now I want to change the course, I’m no longer satisfied by the work I do and by the SAP environment and would like to try something else, because after all, SAP is all I’ve known since college and I cannot say if that’s what I really want to do for the rest of my life.  This is the point where I find that I might have digged myself into a hole because once I started looking around I realized that apparently all the technical skills I gained during this four years are only valuable in a SAP environment and that outside of that I have not gained anything that a non-SAP recruiter might be looking for. To complicate things even more, this particular hole I’m in seems to be particularly lucrative, and the SAP market is really huge with very good perspectives in the years to come, so that makes the whole "try something else" plan sound like a bit of a pipe dream. I’ve  considered going back to college and get a Masters degree but I’m not sure if that’s  gonna help me with my situation or if I'll end up worst than I am now.
Now, my question to you is, do you think is possible for a person that has only worked in the SAP market in the last 4 years to find a technical job (developer, programmer, designer, etc) outside of the SAP world where every job description seems to require "3 to 5 years of experience with [C | C++ | Java | Ruby | Python | PHP ]"? I know that I’m a really good programmer/developer and I could be very productive in any of those languages, but any potential employer would have to take my word for it. 
What do you think, am I or am I not in a hole?
======
snowbird122
This reminds me of something one of my professors wrote about: "Don't get good
at something you hate because then people will pay you a lot of money to do it
and you'll never be able to stop".

Lots of good advice on this board. I love Hacker News.

~~~
alan-crowe
Hitokiri82 needs to take a more quantitative approach to accouning than simply
saying "a lot of money". For example, there is something of a trade-off in
consultancy that you can get more money for more esoteric skills, but you will
get fewer billable hours per year. If a narrow speciallity pays twice as well,
but you only get half the work, you will not be taking home any more money,
and that extra spare time? You might need more than 100% of it to prepare for
when the speciality narrows to nothing.

Hitokiri's key problem is to settle on his accounting treatment of his Plan B.
At some point in the future the SAP gig will turn sour. Perhaps in five years,
perhaps Hitokiri will need two years money in the bank to maintain his
standard of living while he rebuilds his career. If that is the assessment,
then Hitokiri has to save 40% less inventment returns. That makes it look a
lot less lucrative.

The key point is that the extra pay has to cover both Plan B and compensate
for any special unpleasantness in the work. You have to be very careful to
avoid double counting the extra salary.

------
awt
Write something in one of those languages. If you can show people something
you've done, you've pretty much got it made.

~~~
hitokiri82
So you would say that the whole "3+ years of experience" is bogus, and whats
really important is that you have something to show?

~~~
mechanical_fish
Remember that job ads don't sample the market for programmers evenly. People
often complain that there are no ads asking for programmers with 0-6 months of
experience. But that's not necessarily because those positions don't exist:
It's because advertising for them is a no-win proposition. Think of it from
the employer's perspective: If you put up such a job ad you will receive an
absolute _flood_ of responses, which you will not be able to screen
accurately, because how the hell can you tell the difference between two
programmers who have never worked in your field? It's hard enough to judge
_experienced_ programmers based on resumes and interviews alone.

So if you need someone with less than a boatload of experience (perhaps
because the experienced ones are too expensive, or perhaps because you can't
find them...) the most reliable method is word-of-mouth recommendation, also
known as _networking_. You ask your friends and your friends' friends if they
know any smart but disgruntled SAP programmers who need a better gig.

So, write some code and use it as a networking tool. If you write a sample app
that works decently well and show it to a pro, that pro might put you on his
list of _people who have at least some clue and who might need a job_ , and
eventually someone will ask him to do a project that he doesn't have time for
and he will give them your name...

~~~
azanar
Advertising in general can be a no-win proposition. Posting ads for a 2-5
years of experience programming gig garners a similarly flood-like number of
responses, and you get a near equal number of bad programmers. The key
difference is now someone else has had to put up with them first.

There are worthwhile places to look though, anyway. Imagine yourself in the
same position as a fresh college graduate, and imagine where they go looking.
Past the obvious answer of asking friends, they visit career fairs and
university career centers. Those or something analogous might work well for
you, too.

As for garnering recommendations, I think they can be a very good source of
leads. But, and I'm probably going to gain a lot of flak for saying this, I
don't think they are a panacea. It'd be nice if people were impartial enough
to only recommend colleagues they know are qualified and will work out well,
and it would be equally nice if the people doing the recommending were clueful
enough to know when someone _isn't_. Sadly, not everything is nice, and
nepotism for social motives drives more of the recommending that I wish it
did.

Thus, I and some of the people I know have developed a slightly thicker skin
toward people recommended to us; a smile and thumbs up from someone the hiring
manager knows isn't enough, and that not having that doesn't preclude your
being considered. Who you know might help you get past human relations, but
once you get to someone like me, _what_ you know, and more importantly, _what
you can learn_ , really start to matter.

Oh, and mechanical_fish, I'm not trying to provoke you. Your two comments got
me thinking the most of the one's I saw here, and so I decided to respond to
them. :-)

~~~
mechanical_fish
_mechanical_fish, I'm not trying to provoke you._

Your on-topic and thoughtful responses are so annoying! Why can't you write
rude monosyllabic flames like everyone else on the web? ;)

But, seriously, I overstated my case a bit. I didn't mean to imply that
networking is some kind of miracle solution to the hiring problem -- for
either the employer or the employee. AFAIK there is no miracle solution to the
hiring problem. We're all forced to play it by ear.

But _because_ there is no one best practice for finding the right person for a
given software job, people are using a bunch of different practices. Which is
why you can't look at a single aspect of the job-search market (job ads posted
to Monster.com; density of keywords on the resumes that are slid under your
door; number of recruiter phone calls, whatever) and expect it to accurately
represent the whole state of the field.

------
mechanical_fish
Of course you can get a different job.

Pick a specific alternative technology and field, and learn that. If you go
looking for "anything but SAP" of course you're not going to find it. That's
spread too thin. And "I could be productive with any of those languages" is a
very bad sales pitch. People don't want a generalist. They want to hire
someone who will immediately get to work on their specific problem. Decide to
become a Ruby web programmer, or a Java middleware programmer, or an
Objective-C iPhone programmer, or (god help you) a C++ game programmer, and
_focus_ : Read the books, read the blogs, go to the user group meetings, build
a practice site or practice app.

If you want to leverage your SAP experience as you seek another field, you
could try sniffing around the edges of the SAP world. For example, there are
surely lots and lots of web apps that are compelled to talk to SAP. If you
know a little about web apps and a lot about SAP, a team might want to hire
you.

The masters' degree might be good for creating a break on your resume, and
perhaps for buying you a little time, and it will help you meet other
programmers who have nothing to do with SAP. But you're probably right to
worry that the degree itself won't help you. You probably need practice, and
allies, and networking more than you need formal courses.

~~~
azanar
>And "I could be productive with any of those languages" is a very bad sales
pitch. People don't want a generalist.

Which people? I'm not asking this to be provocative, but this one of those
points where a lot of people seem to have strong opinions, both in blogs and
off-line, and the sides seem pretty balanced in size. Even the advertisements
seem split between very specialized work, and a company that just wants
someone who is intelligent, for whatever internal value of intelligent they
choose. The most notable characteristic I've seen for tending toward either
side of wanting a specialist is the company's size.

My own thoughts on this are torn, but tend toward one of the sides.

On one hand, I can understand needing someone who is highly specialized in
something simply because it takes so long to become highly specialized in it.
Usually, this has much less to do with the language, though, and much more to
do with the domain of the problem needing code to solve.

On the other hand, the claim that someone can hit the ground running if only
they specialized in the particular language du jour is completely bogus. There
is _far_ more to understanding a system than understanding the language it was
written in, and learning whatever technology they based the system on will
disappear into the noise compared to trying to understand what they wrote on
top of it if the system is of any size.

I can imagine that, in a lot of cases, a generalist would be able to get up to
speed nearly as fast as a specialist. More importantly, they would be able to
adapt to inevitable change _far_ better than a specialist; the one thing that
they perhaps specialize in is learning and drawing parallels. I think this
skill is way undervalued in most development teams when hiring.

And all this specialization goes out the window when the system gets iterated
to a new platform, and they fire the specialists, hire on an entire new set,
and then become stunned again when these new people don't come in able to be
maximally productive on the first day. I don't know that I'd want to work for
someone who wants to hire people this way.

You'll forgive me for pontificating for a second here, but usually when I see
the call for "specialize, specialize," it is from someone who is looking
themselves to find a very small niche, negotiate a massive salary based on
their specialized knowledge, and live the good life once they have cashed out
their knowledge capital in a few years. I'm not implying that the parent
commenter holds this philosophy, but I've never seen this work. Either the
niche vanishes or becomes less relevant, or they get thrown to the curb when
the company "re-specializes" the IT group.

~~~
sokoloff
Interview situation: "What do you want to do/what are you passionate about?
What motivated you to apply to this job?"

"It's not SAP, and I don't like doing SAP, so I was very happy to apply for
any non-SAP job."

Fail. (Keep reading please; there's some non-LOLcats level of discussion
below)

This is an industry where lots of non-traditional backgrounds can succeed. (My
degree is in mechanical engineering; I haven't made enough from working as a
Mech E to buy a cup of coffee.) I've worked with or currently have people on
my team with non-technical degrees, college dropouts, and one that never
finished high school.

Assuming OP wants to code, the solution is not going back to school, but
rather finding a job as a not-quite entry level non-SAP coder. But I know what
we pay our SAP consultants, and in this economy, you're looking at a steep
decline in take-home to go from 3-4 years SAP experience to entry-level coder
in Foo language. That may very well be the more significant hurdle, esp if
you've built a life around a relatively high level of income.

In sharp agreement with azanar though, I think the best people I've worked
with are generalists over time and specialists in the moment. I've had the
luxury of working with a great team that's been (with additions and deletions
to the group, and mergers/acquisitions/voluntary move to new startups) working
a 4 different companies over the span of 12 years. Along the way, we've gone
from Tcl and C++ on Solaris, through C++/COM/COM+/DCOM using DB2 and mainframe
DBs, and now to an all MSFT .Net/MS-SQL (with a little MySQL at the edges)
platform. None of us have had substantial issues moving from one platform to
the next, so in that sense you could say we're generalists. But in each
position, we spend 3-5 years deeply specializing and getting to know all the
corners of the platform.

Our sales pitch applying to the current place back in 2003 wasn't "We hate our
current gig consulting and we're only here because Merrill Lynch has clicked
on golden handcuffs that just unlocked. They want us to stay, we can't imagine
having our souls crushed one more day, so please get us out!" All of that was
true, but the focus wasn't on what CurrentCo could do for us, it was about
what we could do for CurrentCo. 6 years later (with an IPO along the way),
both sides are very happy about the situation!

~~~
mechanical_fish
_I think the best people I've worked with are generalists over time and
specialists in the moment._

Precisely, and very well worded.

Being a generalist is a great strategy, but not a great job-search tactic.
Hiring managers would _like_ to hire someone who will be a generalist over
time, but they _need_ someone who is able and willing to solve the specific
problem that's bothering them this year.

------
c1sc0
This begs the question: why is SAP work so grossly overpaid (at least over
here in Germany)? Doesn't look particularly exciting or challenging to me.
Most of the implementations I've seen are of the 'meh' type: buggy, boring,
bloated. I'm a bit biased though since a colleague of mine ran away screaming
from a highly-paid SAP job. 'Never again', he said.

~~~
mtkd
This is where startups will be strong next year.

The focus of the last couple of years - especially YC type startups - has been
on social - which is pretty much saturated now (I laughed/cried at some of the
content on that dreamitventures site that was posted yesterday).

We're in a recession now that means _big_ opportunity for replacing
established business software apps - because existing apps have grown bloated
and carry huge costs - which gives a massive attack surface - a startup can do
take an existing app and do the key features better, cheaper and simpler - and
instantly bite in to some revenue.

New startups need to be taking on salesforce.com not trying to be the next
Facebook or Twitter.

2010 will be all about revenue not unique visitors.

~~~
Hexstream
We have to wait another YEAR? :(

~~~
Zev
Use that year to get a jump start on everyone else?

------
scorpioxy
Why does the employer have to take your word for it? Why don't you write
something in the language/technology that you want to work with and post it up
on your website...or contribute to an open source project that uses it...etc

The point is, code speaks louder than words. And your project doesn't haven't
to be anything fancy or big, just something that you might need. A blog
engine, an rss reader, a utility to do foo. Anything that shows that you can
solve problems in this new environment as well as you can in a SAP based one.

------
pj
SAP is dead. Listen to this debate between Saleforce CEO Mark Benioff and
SAP's Chairman Hasso Plattner. Benioff totally destroys SAP for an hour.

<http://blogs.zdnet.com/BTL/?p=8481>

Your best bet is to save up a /lot/ of money, enough for a year or two, then
quit and start working in your own time on another project in another
language.

Enterprises are moving away from big bulky ERP systems like SAP in droves.
They are too expensive, they take too long to implement, they are impossible
to maintain without a full time staff of outside consultants who don't care
about your business, but do care about charging you more money.

I've known many SAP consultants and every one of them hates everything about
their job except the money.

Why are you wasting your life away doing that crappy stuff? It's terrible.

There are great companies out there right now who need people who understand
how crappy SAP and other products like them are. They want to build better
software. Find one of those companies and go work for them.

Tell them you are trying to get away from SAP and you know how bad it is and
you can help them make a product better than SAP for less money and that is
actually /good/ software.

Your life will thank you for it.

~~~
eru
> Enterprises are moving away from big bulky ERP systems like SAP in droves.

Even SAP is moving away from those. Last time I checked 'Software as a
Service' was all the rage at SAP.

------
nailer
Ask HN: Afraid I've dug myself into a hole

12 points by fbacon 80 years ago | 20 comments | flag

Hello guys. This is my first time writing to HN - I've held off mainly because
the internet hasn't been invented yet. I'm an interior designer, and I have
been doing that for the last 4 years...

<http://en.wikipedia.org/wiki/Francis_Bacon_(painter)>

~~~
ionfish
He might also be the 1st Viscount St Alban.

<http://en.wikipedia.org/wiki/Francis_Bacon>

------
hugs
You're in a rut, but not a hole. You'll be okay! :-)

First step... start looking for a new job! Second step, look for jobs that
require SAP experience, but at employers that will give you room to grow as a
developer beyond a strict SAP admin/dev role. (For what's it's worth, I think
Lego is an SAP shop. :-)

I was in a similar spot about 8 years ago when I was a consultant at
PeopleSoft. (It, too, was my first job out of college.) I got to a point 2
years in where I wanted to work a bit more "closer to the metal" with web
development tools and -- like you -- I felt that only knowing PS technologies
was a bit too "sharecropper" for me. I made the switch away from PS by going
"in house" and becoming a PeopleSoft admin at a software development house in
Chicago. (It should be easy enough for you to find SAP customers in the city
you want to live in.) At my new employer, over time I took on more projects
and roles (in addition to using my PS skills), until I officially could "let
go" of my PS role and do custom software development full time. I was able to
then develop "pure" Python and JavaScript dev skills in my new role and I've
been having fun every since -- including a tour of duty at Google and
cofounding my own startup last summer.

------
davidw
Here are a couple of ideas:

* Like other people said, start doing some projects in interesting languages. Preferably, they should be open source projects so that you can get feedback about what you're doing, and meet other people.

* If you want to do something that's not too far from SAP, is open source, and could use some good hackers, OFBiz is an interesting project: <http://ofbiz.apache.org/>

------
CyberED
I too was a SAP consultant! Yeah it sux big time. I saved my money, got a biz
started in my spare time and jumped ship when I had a nest egg and the
beginnings of a business. I'm not a millionaire ... yet. But Much HAPPIER!

The economy is not looking good right now. So I suggest hanging in there and
saving as much as you can. You might even get retrenched and get some
severence money to top up your savings.

Of course, if you're happy with you big spender lifestyle, then that the
Faustian Deal you've made.

God Bless!

------
bayareaguy
I don't know much about SAP. All I've heard is that it's a beast big
corporations seem to seek out and battle with varying results. However I'm
guessing there are likely places where a little Python or Ruby program could
have made a positive difference in an SAP implementation.

Is there any way you can find the opportunity to do some non-SAP programming
that would make an SAP system work better? If so, then I would start there
because that would allow you to build on what you've already learned.

------
pingswept
I don't think you're in a hole. You've got a high-paying job and four more
years of experience (in a field you dislike) than all of the folks coming out
of college.

The point is that if a kid coming out of college can get a job writing Python
or whatever, you can too. You even get a salary while you look for the job!

In a sense, whether you're in a hole is relative. Compared to [Torvalds,
Gates, Jobs, name your hero], we're all in a hole.

------
iuguy
Try to move across from BW/BI to Enterprise Portal-type work, anything on the
Netweaver side will bring you closer to Java, PHP and Ruby etc. From there
you'll find it easier to migrate into a generic dev role.

I got _very_ heavily into SAP security a while back and I understand your
situation completely. Your alternative would be to take the Database route,
but then you're just swapping one hole for another.

------
samyxp17
Simple, been there before. I call it the "Four Step" career turn. \- First
pick a language you like, that could land you the kind of job you want and
STICK to it. \- Second, practice, write a few complete apps \- Try to get any
type of "paid" work that involved coding in that particular language... I
recommend consulting...freelance. \- Now you have a credible portfolio,
finding a pretty serious Software engineering position in ur desired domain
should no longer be a problem.

The whole process should take about year or less. And no you're not in a hole.
If you know ur stuff u'll get noticed. Besides an addition to ur new knowledge
u'll have 4 year of SAP ...nothing to sneeze at. For some companies that may
just be the perfect mix. Personal bias (I recomend PHP)

------
rufius
Hack on an open source project. Get your work out there for people to see and
link it on your resume (Direct links to a web-VCS/SCM or something like Ohloh
or CIA.vc).

Employers like seeing things like this, its verifiable that you did what you
said you did on your resume.

My analysis is that you should probably do this stuff in your spare time while
continuing to work your current field as its still lucrative and the economy
isn't that great. I'd wait a while before making the transition as it would be
advantageous to have some body of work to show for it :).

------
dobes
I think the best advice so far is in fact to learn other tools in your spare
time and work on some open source and personal projects so you have something
to show. Start a blog to describe your experiences. Send a potential employer
to look at your blog and projects and they will see someone who (hopefully)
communicates clearly and codes well and thus will want to hire you.

------
andr
Over the last 4 years you've gained more than SAP-specific knowledge. You've
developed a process, or methodology, for solving problems. This is very
important, and smart employers will recognize it.

Also, use your spare time to code in one of those languages so you have
something to show employers. I would suggest a more advanced language, such as
Scala, because Java, C# and Python are all essentially subsets of Scala.

For what it's worth, I had pigeonholed myself into PHP/MySQL development and
was getting sick of it. So I applied for a summer internship with a financial
company and got to work on some much more interesting stuff. Of course, I was
still in college, so your mileage may vary, but what I'm trying to say is that
if you want to change courses just start applying.

~~~
scorpioxy
I don't quite agree on the first statement. I've known programmers who have
been working with COBOL for the past 15-20 years. And they're good at it.
Except that it seems that they've been living in a cave for the past 15-20
years and know nothing about current programming paradigms or technology and
definitely not languages. So yeah, those people have pretty much placed coded
themselves into a hole.

Of course, they might be good COBOL programmers, but that doesn't mean that
they're good programmers. In my opinion, a good programmer would always be
trying to enrich his knowledge by working on different ideas, different
technology no matter what his day job is.

~~~
cellis
job security :)

~~~
eru
A perverse point: Not learning other languages might contribute to job
security if you are a COBOL programmer. Because if you'd learn another
languague you could not bear going back to COBOL.

------
freda
I saw myself pretty much in the same hole as you do now. I worked for a couple
of years as an SAP developer but then got bored with the ABAP stuff. Luckily,
I had the chance to do a lateral move within the same company and coded in
Java from then on. Finally, I left the whole SAP field and now develop
industry automation applications for a mid-range company (another hole, but
that's a different story.)

What I want to say is, yes, you can get out of that hole. Of course, you will
come across recruiters who will label you as the SAP guy. But there are others
out there who know that there's more to it than just the programming language.
So take the advice given in all the comments here, create something in your
favorite technology and apply for the jobs that really interest you.

------
liangzan
From an employer's point of view, they don't like to take risks where hiring
is concerned. Your wages are a sizable cost. That's why most would require you
to work in a similar environment before they would hire you. Not many would
want to spend $$ to train or risk hiring a lemon.

So going by reverse psychology, the best way to convince your future employers
is to build projects similar to what the position entails. If you're looking
for Java jobs, build something(substantial) in Java. It tells them 'Hey, this
guy has done it before. He probably can do it"

------
reg4c
Also, having some kind of certification like Sun's Certified Java
Programmer/Developer thing can be useful

IMO, you should write something cool and then apply for some jobs and if
nothing works out then just wait a while, write something else, then apply
again

Ow, and you are definitely not in a hole, SAP is an awesome company. If you're
bored with what you do now ask for a transfer to a different department.

------
hitokiri82
Wow!. I just want to say I'm completely amazed by the quality of the answers
and the discussion that my post generated. I'm not gonna be able to check back
until tomorrow night (another big part of the crappines of my job, heavily
restricted Internet access).Thanks a lot to everyone for the time they have
taken to participate.

------
msluyter
I found myself in a similar "hole" -- QA in my case (not to disparage QA; it
just wasn't my optimal choice) -- and eventually managed to get out of it via
a lateral move. I was lucky to be in a flexible enough organization and to
have enough programming experience to make it possible.

------
rubing
there's a lot of languages and applications out there. you should spend your
spare time researching and investigating.

------
noel_gomez
I am looking for someone to help me build a web app. I think it may be
possible to do by building or extending a module for Drupal. If you are
interested I would share my concept and you can see if it is appealing to you.
This way you can gain some experience and maybe we can create something great.
:)

~~~
eru
I wonder why this was down-voted so much..

~~~
noel_gomez
lol, tell me about it, I was just offering to partner up, he helps me build an
app from which we could potentially both benefit and he gets the experience he
is looking for along the way.

~~~
eru
Perhaps people interpreted your post like you would only contribute the idea?

~~~
noel_gomez
maybe, I can program. more front end than back, but realistically I can't
completely do any of my ideas n my own :(

~~~
eru
Ideas without implementation aren't held in high regard around here. Pick a
toy project and learn..

