Ask HN: Afraid I've dug myself into a hole
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?
62 comments
[ 35.5 ms ] story [ 263 ms ] threadSo 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...
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. :-)
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.
Feel free to e-mail jobs@thinkcomputer.com.
Good Luck
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.
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.
"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!
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.
Hee hee! This is me: http://www.michaelfbooth.com
Needless to say I'm kind of a generalist. A little bit too much of one, perhaps, but that's what the shopping phase of one's career is for. And I agree with everything you say. I advocate specialization as a job-search tactic, not as a way of life...
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.
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.
Python ⊄ Scala IMHO
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.
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.
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.
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)
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"
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.
Perhaps you can do to SAP what Scala, Clojure et al are doing to Java: Present a more enjoyable front-end to the programmer, but target the underlying system.
Now, you might ask, none wants to be the garbage man, and their salay is crap. But it's a low barrier job to entry, and its employer doesn't have a lot of money, plus there's no specialization or the applicants don't can't receive better job offers elsewhere.
On a related note, COBOL programmers are well paid these days, but none wants to program in COBOL anymore. Kinda the same situation.
I don't know a single developer in my area who makes as much money as a garbage man does with overtime.
This surprised me because I also thought garbage men made pretty good money. We do have competing trash services here, perhaps that makes a difference.
Just a data point.
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)
http://en.wikipedia.org/wiki/Francis_Bacon
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.
* 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/
Lots of good advice on this board. I love Hacker News.
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.
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.
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 :).
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.
Even SAP is moving away from those. Last time I checked 'Software as a Service' was all the rage at SAP.
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.
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!
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.