Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming Businesses Education

Ask Slashdot: Are General Engineering Skills Undervalued In Web Development? 323

nerdyalien writes After reading a recent post about developer competence, I can't help but to ask the question, "Are general engineering skills undervalued in web development?" I am an EE major. The course I completed, and the professors who taught it; mainly emphasized on developing skills rather memorizing reams of facts and figures. As a result, I have acquired a multitude of skills such as analytical, research, programming, communication, project management, planning, self-learning, etc.

A little over 3 years ago, I made the fateful decision to become a web developer in a small SME in SEA. Admittedly, I have an unstructured knowledge about CS theory. Still, within a short period of time I picked up the essentials of web development craft, and delivered reliable web applications. Most of all, I made good use of my existing technical/soft skills, despite the lack of my CS pedigree.

Recently I went through a couple of job interviews in MNCs, SMEs and start-ups alike. All of them grilled my CS theory or Java knowledge. Almost no interviewer asked me about my other skills (or past experiences) that could be helpful in the developer position. In my experience, web development is a cocktail of competing programming languages, frameworks and standards. Rarely a developer gets exposed to a single technology for a substantial period to learn it inside-out. Even still, in web development world, deep in-depth knowledge in anything will be outdated in few years' time as new technologies roll out. So, what matter's today? Knowledge on a particular technology or re-usable engineering skills ?
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Are General Engineering Skills Undervalued In Web Development?

Comments Filter:
  • UX (Score:5, Insightful)

    by Anonymous Coward on Sunday February 15, 2015 @06:20PM (#49062043)

    Most web sites seems to have far more engineering and art than they need, and far less UX that they should. I don't care how pretty and dynamic a site is if the user experience sucks.

    • Re: (Score:3, Insightful)

      web sites seems to have far more engineering

      Lolololol

    • Re:UX (Score:5, Insightful)

      by sycodon ( 149926 ) on Sunday February 15, 2015 @06:59PM (#49062353)

      I have a little bit of electrical experience. I can wire a house, change batteries, and plug shit in like nobodies business.

      A few weeks ago I interviewed for an Electrical Engineering position. I couldn't believe it when they asked me nothing but Electrical Engineering questions. Didn't they know I knew how to program in .NET?

      How do I break into a field in which I have absolutely no training or other qualifications?

      • Re: UX (Score:5, Funny)

        by jd2112 ( 1535857 ) on Sunday February 15, 2015 @07:09PM (#49062415)
        Go into management.
      • by Bengie ( 1121981 )
        At my job, they cross train people a lot. If you show promise, you can get into some decent positions. That being said, when they hire from outside the company, they're going to look for the exact skills they want.
      • I have a degree in Physics (and not an "easy" one) and I have found that my extensive math is usually a significant advantage over CS guys. So I could see how some things from EE could be useful, especially if you were doing much in the telecom/signal processing etc type of EE stuff. Then again I also have a Master's in CS (good US Uni), so I guess it is different. You can brag if you know more than other people in a field, but you can't do it if you are at least as good in the basics... ;)
        • by Anonymous Coward on Sunday February 15, 2015 @11:03PM (#49063823)

          As someone else with a Physics degree, Engineering Physics, its not just the math that gives you the edge over the CS guys, but the lack of arrogance.

          I have worked with many CS guys would couldn't code for shit because they never bothered to actually learn the language they're coding in, because according to them it's all just syntax. And the ones with the masters in CS are some of the worst developers I've seen.

          Physics is a humbling degree to get because once you get it you realize that you're only scratching the surface and that leads to a similar approach to other areas as well.

          • by dgatwood ( 11270 ) on Monday February 16, 2015 @12:38AM (#49064153) Homepage Journal

            I have worked with many CS guys would couldn't code for shit because they never bothered to actually learn the language they're coding in, because according to them it's all just syntax. And the ones with the masters in CS are some of the worst developers I've seen.

            Apparently, you've never read code written by people with masters' degrees in physics.... Talk about people not taking the time to learn the language....

            The thing is, a master's degree in CS doesn't necessarily give you any real-world coding experience, and doesn't necessarily give you any real-world engineering experience. And there's a wide range of undergrad degrees backing that master's degree. Remember that a master's degree usually gives you a lot of theoretical knowledge, and a lot less practical knowledge. Most of a candidate's practical experience is likely to come from his or her undergraduate degree.

            Want to find someone who really understands how to write software? Hire someone whose undergrad degree came from a smaller college (which is more likely to be closer to a trade school, with less theory and more practice), and ideally someone whose background is in something other than Java. Why? Java hides way too much of how a computer works, so Java programmers often lack enough understanding of what's going on under the hood to write good code.

            In your interview process, ask obscure low-level architecture questions, like "What is a trap?" or "What does the BEQ/JEQ/JE opcode do?" These questions will rule out anybody who hasn't ever worked with any form of assembly language. From there, try to ask questions about their learning style to try to figure out if they are self-teaching (which tends to be a sign of a good programmer, because it enables someone to rapidly adapt to working on code that he or she didn't write).

            Or find somebody with a master's degree whose undergrad degree came from a small school, and just assume that the odds are good that he or she was serious enough about programming to figure it out on his or her own.

    • by Anonymous Coward

      Web and other programming is just that and is not engineering.

      I saw this happening in the mid 90s - programmers insisting on calling themselves engineers.

      I do not know why this happened other than the pathetic egos of our profession and engineering envy - like economists have physics envy. Somehow, programmers got it in their heads that being called an engineer is better than being a programmer or software developer. Why? I have known plenty of engineers who couldn't lay down a decent program. Spaghetti

      • by lostmongoose ( 1094523 ) on Sunday February 15, 2015 @07:16PM (#49062473)

        programmers insisting on calling themselves engineers.

        You mean like mechanical, electrical, etc 'engineers'? When was the last time ANY of those people drove trains? What? You mean it's only ok for some people to 'evolve langauge' to suit themsleves, but not others?

        • Or produced engines of war Like Leonardo da Vinchi
        • Re: (Score:2, Insightful)

          by Anonymous Coward

          The difference is that electrical, mechanical, civil engineers, et al, all have governing bodies and licensing requirements. What drives us engineers insane is that some people are allowed to call themselves engineers, when they are not. They don't have the training, oversight, etc. It's not just professional hubris or exclusionism, it's about diluting the respect and reliability of our profession -- and in some cases, even public safety.

          Try being a nurse, nutritionist, radiological technician, etc, and cal

          • by Balthisar ( 649688 ) on Sunday February 15, 2015 @09:12PM (#49063249) Homepage

            The difference is that electrical, mechanical, civil engineers, et al, all have governing bodies and licensing requirements.

            Except that vast majority of the working engineers in the USA aren't PE's, and aren't subject to licensing or other regulatory requirements. Some fields -- especially various civil things -- only require engineers to be overseen by a PE, but makes no requirement for engineers who perform the tasks. In most consumer fields no PE requirement exists.

          • by ranton ( 36917 )

            It's not just professional hubris or exclusionism, it's about diluting the respect and reliability of our profession -- and in some cases, even public safety.

            If you were just upset about people calling themselves electrical engineers when they are not, you would have a good point. But as others in this thread have already pointed out, none of the governing bodies you mentioned "own" the term engineer. Just like medical doctors don't own the term doctor; they have to share it with lawyers, audiologists, pharmacists, physicists, psychologists, etc.

            The term engineer has shifted many times in the past few hundred years, and it will probably continue to shift. Many e

        • Re: (Score:3, Interesting)

          Actually, the term engineer as it applies to electrical, mechanical, etc engineers does not derive from the term used for those who drive trains. If the two terms are related, it is the other way around. My suspicion is that the term railroad engineer for the guy who drives a train derives from the fact that the first men who drove trains were the same men who designed trains. And even long after that stopped being true, they were men who knew how trains were designed (in detail) so that they knew how to fi
          • Re: (Score:3, Informative)

            My suspicion is that the term railroad engineer for the guy who drives a train derives from the fact that the first men who drove trains were the same men who designed trains.

            I think it's probably more that the engineer was responsible for controlling primary aspects of the locomotive's engine back in the early steam days (boiler pressure, signalling, etc.), much as the fireman's role was maintaining the fire that heated the boiler, and the brakemen's job was controlling the brakes on one or more cars.
      • by Livius ( 318358 )

        programmers got it in their heads that being called an engineer is better than being a programmer or software developer.

        Unless you specifically need to be a programmer or software developer, it is better being called an engineer.

        Which is why in many places it is illegal to call yourself an engineer unless you licensed to be one.

      • by NormalVisual ( 565491 ) on Sunday February 15, 2015 @10:11PM (#49063599)
        Me, I'm just a programmer - thank you very much. I am not an engineer because I do not have an engineering degree, the experience or the exams that says I am.

        I actually feel the same way. I've got a few decades of professional coding experience, and would like to think I don't completely suck at it, but I much prefer the title "programmer", "developer", or even "analyst". The title "engineer" implies training and responsibilities that the vast majority of code monkeys like me don't have.
    • I don't care how pretty and dynamic a site is if the user experience sucks.

      If I had to pick the single most annoying thing, it would sites that require Javascript to perform even the simplest thing, like ButtonPress or to display the main article text, that can be performed with straight HTML. I mean - seriously.

      • Re:UX (Score:4, Interesting)

        by WinstonWolfIT ( 1550079 ) on Sunday February 15, 2015 @08:42PM (#49063063)

        A structured web app will use something like AngularJs to bind that click to a controller method, separating layout from logic. To have any level of quality in the code delivering a web app, even a 'simple' one, you're going to have to use an html5 browser with javascript enabled. If you prefer not to, I prefer you not use my apps because I'll be damned if I'm going back to the days of slow-loading pages glued together. Even my personal shopping list app which is a glorified simplification of the standard todo app, uses ajax to provide a responsive experience. When I select 20 items to be removed, I don't have to wait for 20 page reloads on a slow connection. 20 async remove requests spin up and the entire job is done in about a second. Go back to the old days? Hell no.

        • by matfud ( 464184 )

          The GP is correct. To display most things you do not need javascript.

          For most things there is little reason to use javascript. High bandwidth then reloading the page is not slow. If you have low bandwidth then initially loading the few hundred k of random javascript is slow and it tends to behave badly. (let alone the random adds that you will force on people (guessing your type))

          • You don't know what you are talking about.

            "The page" consists of a lot of small components. If one loads the page, high bandwidth or not, just to change some small part just because you pressed a button, the server has to figure out the contents of the whole page. And it has to push back the whole UI in response to a single button.

            This is a major PITA because it wreaks havoc with modularity, which is definitely a good principle in Software Engineering.

            The old way sucked. And most webpages and interaction su

        • To have any level of quality in the code delivering a web app, even a 'simple' one, you're going to have to use an html5 browser with javascript enabled.

          "have to use" ? - Citation please.

          If you prefer not to, I prefer you not use my apps ...

          So, you're a snob. (Your apps probably reflect this too.)

          When I select 20 items to be removed, I don't have to wait for 20 page reloads on a slow connection.

          A snob who's never heard of CheckBoxes and a Submit button on a Form - which will (re)load faster than your Javascript/Ajax laden pages.

          Go back to the old days? Hell no.

          Newer isn't always better - newbie

          • Re:UX (Score:4, Insightful)

            by WinstonWolfIT ( 1550079 ) on Monday February 16, 2015 @01:41AM (#49064365)

            newbie? Mate, I provided input into the original C++ ANSI ratification. I used to write C because that was the available choice.

            Two clicks where one suffices? That's a reduced UX. Trust me, I have no qualm about losing the 1% of my audience that your like represents. There's simply no upside to the likes of you using my software.

            Snob? Maybe but I've made significant contributions to a few blue chip software concerns in AU and I never once heard a UX guy say adding an extra click to make the luddites happy was okay. In fact, the luddites never came up. Not once.

        • When I select 20 items to be removed, I don't have to wait for 20 page reloads on a slow connection.

          In the old days, you would select 20 checkboxes, and then submit a form for batch removal. That was 1 full-page reload, rather than 20 concurrent "fragment" (probably JSON response, I dunno) reloads. Nobody worth copying was forcing 20 serial page reloads for such an activity.

          ...and the entire job is done in about a second

          "About a second" is certainly not enough time for a user to select twenty items, s

  • by gatkinso ( 15975 ) on Sunday February 15, 2015 @06:23PM (#49062073)

    and can not produce a decent web page to save my life.

  • ABC, DEF, WTF? (Score:4, Insightful)

    by Anonymous Coward on Sunday February 15, 2015 @06:25PM (#49062091)

    Almost no interviewer asked me about my other skills (or past experiences) that could be helpful in the developer position.

    Yeah, they were probably all sitting there, reading through your resume, trying to figure out just what the fuck all of the acronyms you used in it actually mean.

    I mean, in a fairly short Slashdot submission summary you managed to work in these:

    • - EE
    • - SME
    • - SEA
    • - CS
    • - MNC

    I'm sure that you're dropping obscure acronyms in everything else you write, in some vain attempt to seem more important than perhaps you really are.

    • Re:ABC, DEF, WTF? (Score:5, Interesting)

      by beelsebob ( 529313 ) on Sunday February 15, 2015 @09:15PM (#49063273)

      Right, the whole story came across as "I'm amazing, but for some reason interviewers keep turning me down after finding gaps in my knowledge, shouldn't they just overlook the gaps in my knowledge and see me for how amazing I really am?"

  • by Crashmarik ( 635988 ) on Sunday February 15, 2015 @06:27PM (#49062103)

    Unless you are going to be developing a site that is directly related to an EE field (mathematics/signal analysis/electronic parts etc), why would you expect your knowledge to be any more use than say someone else's knowledge of law ? If you want topics that would be useful but aren't directly related, art/art history/graphic design/advertising all come to mind.

    I know from experience my undergrad was EE and I have Professional Engineering license and it really doesn't overlap much except for problem solving skills and logical thought.

    • by Beck_Neard ( 3612467 ) on Sunday February 15, 2015 @07:30PM (#49062575)

      More to the point, what the hell are "general engineering principles"? I have a formal training in engineering and no one ever gave me a set of general principles to learn. Based on what I and other engineers do, I'd say the most general engineering skill is how to use ANSYS :)

      But seriously, I've only ever heard the phrase "general engineering principles" from programmers, and it usually stems from a gross lack of understanding of non-software engineering and how relevant software design is to things like building bridges or cars (hint: not at all relevant, except in the trivial sense that all of them involve clicking buttons and sitting in front of a computer for a long period of time. Maybe a "general engineering principle" would be to use an ergonomic chair? :)

      • by ShanghaiBill ( 739463 ) on Sunday February 15, 2015 @07:50PM (#49062729)

        More to the point, what the hell are "general engineering principles"?

        A basic understanding of physics and chemistry.
        Knowing how fluids flow, how solids bend and break, how light and electricity work.
        Constructing a simple mathematical model of a complex physical system, while understanding the limits of the model.
        Understanding how to solve problems, by breaking down complex problems into solvable sub-problems.

        I have a formal training in engineering and no one ever gave me a set of general principles to learn.

        Really? I have a four year engineering degree, and spend the first two years of that learning mostly general principles.

        • Re: (Score:2, Interesting)

          by Beck_Neard ( 3612467 )

          Those things you mentioned are either not general or are general principles of thinking, not really related to engineering. Understanding of physics is the only one that could be said to be a general engineering principle, but that's kind of a tautology. "To understand physical systems you have to understand physical systems."

          > Really? I have a four year engineering degree, and spend the first two years of that learning mostly general principles.

          I don't know where you went to school but I spent the first

      • Re: (Score:2, Interesting)

        by Anonymous Coward

        I have a formal training in engineering and no one ever gave me a set of general principles to learn.

        ... then you either didn't get a real 4-year engineering degree, or you somehow missed the fucking point:

        Every engineering assignment ever = show your work so it can be properly reviewed.
        Statics = how to break down and analyze big problems.
        Linear algebra = how to create models of systems.
        Multivariate calculus = how to understand problems with multiple inputs.
        Differential calculus = how to identify boundary conditions, transients, and exceptions that can fuck up systems.
        Fourier / Laplace / S / Z / transforms

        • AC strikes again! No I didn't miss the point. All those things are either self-evident or not related to engineering. Is 'breaking down and analyzing big problems' an engineering principle? If so then politics, law, and art are also engineering.

    • Because the real bottleneck in web servers is the database.

      The NoSQL argument and the common WEBSCALE video posted here talks about this delima. ACID relational data can slow the mightiest of mainframes to the ground and it does scale with N complexity too as it is I/0 based when doing inner or outer joins.

      The mathematical theory part is optimizing it for RDBMS reliability without taking the site down when needing secure transactions etc. So yes it is frustrating to the interviewer who knows art and wants a

    • The general idea behind good engineering. Sit down do all the work and build your product. With Web Development or any software development with a lot of end user interactions. The engineering methodology towards development is doomed to failure, unless you happen to have a large marketing engine behind you to push your product.

      The first mistake: Collecting your requirements. In development this is an iterative task. As the end users really do not know what they wan't have of them aren't even sure what a

  • by Anonymous Coward on Sunday February 15, 2015 @06:28PM (#49062107)

    If you are ever in a position to hire people, you will find it is the hardest business skill to acquire. HR people don't understand the types of skills technical jobs require, and hiring managers don't understand how to evaluate applicants on anything except technical skills.

    The result is hiring on trivial but easily tested skills. I was just turned down for a job because, after 20 years of delivering successful projects, which I had documented, they wanted me to take a basic coding test, and I refused.

    I'm not usually that ornery, but at some point I want the people I might be working with to show some common sense.

    All I can suggest is you are going to run into this over and over, and the only thing you can do about it, especially early in your career, is learn CSS, JavaScript and JavaScript frameworks, and HTML5. You are going to need to learn them anyway.

    As for Java, that's a big one, but you could get started. All of the tools you need are free and are available for both Windows and Linux.

    • by Cat_Herder_GoatRoper ( 2491400 ) on Sunday February 15, 2015 @06:59PM (#49062355)
      The coding may not have been what they were evaluating. You failed because you thought the test was beneath you. Bad attitude cannot be corrected!
    • by JoeMerchant ( 803320 ) on Sunday February 15, 2015 @11:11PM (#49063839)

      I met a retired, highly successful CEO when he was about 70. The two quotes I remember from him are: "Hey, wanna go to the bar and pick up some babes." and "Hiring people was the hardest part of the business, if I succeeded 50% of the time in picking a person who didn't make things worse than they already are, I considered myself to be doing well."

      Personally, I've "picked" about a dozen people out of the hiring pool, some with a little more pressure to "fill the positions yesterday" than others. People are consistently surprising, often better used for something other than what they were hired for. If you can recognize that, and work people into roles where they contribute the best, that is the true skill of management.

      As for getting your foot in the door - it sucks, there's just not another word for it. Before the internet, it was about personal contacts and first impressions. Now, your hiring gauntlet is crammed full of so much noise that it is amazing that anybody gets found. I was "panned" for a gig that I am supremely qualified to do, 2 decades of experience doing exactly what they want and rave reviews from everybody I've ever worked with, people taking me to lunch 3 months after I leave a job trying to get me to come back. These people made up their mind about me based on 5 minutes of poor audio quality phone interview. The job is programming, not verbal knowledge regurgitation based on garbled descriptions - but, that's their hiring criteria, and I suppose they communicate with their people through crappy phone lines all the time, so it is an important skill, for them.

      Keep looking, don't be afraid to take an offer and then move on if something better comes along: your employers will be tossing you to the curb the next time they screw up sales and economic climate forecasting, with "employment at will" you have every right to move on to better things when the opportunity comes your way.

  • As previously discussed, it is essential that you know how to send any type of document securely to your manager. :-P

    No, but seriously, I agree with you (and I conduct interviews and hiring) that meta-skills (the abililty to learn, to problem solve, to communicate, to function on a team, and being passionate and driven) are more important than acronyms. Such jobs are out there. I'm surprised all of your interviews have only grilled you on domain specifics. That should be a portion of the interview, but only

    • As previously discussed, it is essential that you know how to send any type of document securely to your manager. :-P

      I'd say that would be a "key" understanding.

    • Re:secure email (Score:4, Insightful)

      by BarbaraHudson ( 3785311 ) <<barbara.jane.hudson> <at> <icloud.com>> on Sunday February 15, 2015 @07:27PM (#49062557) Journal

      Well, you apply for web monkey work, they're going to see if you have the essentials. If you don't, forget about the "nice to haves".

      Let's reverse the scenario - a web monkey who applies for an engineering job because he's worked as a web monkey at his previous job - an electrical engineering contractor - and has picked up some of the basics over the years. He'd be shown the door pretty quickly.

      I tried for several years to teach an engineering friend how to code. The problem is that he couldn't get into the minutiae. The mindset is simply not the same.

      • That is changing now.

        Web monkeys where they open frontpage and click and stuff and edit IE 6 specific bugs out in the CSS then publish it are gone.

        Today employers need someone who is an database optimization expert, java script developer expert, Djanga, Drupal, c# ASP.net, and objective C to port it to the iphone. Do you have any idea how complex Drupal is?

        A good database admin is hard and employers want one person to do everything to cut costs.

        If I were making a corporate site I would want someone who know

  • > So, what matter's today? Knowledge on a particular technology or re-usable engineering skills ?

    Well- knowledge of what's relevant today AND the ability to pick up new tech / tools fast for what's relevant tomorrow. Most of the tools all follow the same patterns at the end of the day:

    e.g.
    - Piping output / chaining commands (streams in js are hot right now- gulp.js for instance)
    - Not repeating your self (polymorphism / extensibility) as a broad pattern


    So if anything, the most important thing
  • but what you are really criticizing is the mediocrity of the hiring process

    hiring a good team is perhaps the most vital function of a company, and so many get it wrong, in terms of who and what kind of skills they should be looking for

    they'll hire the guy who knows the buzzwords of the moment, and ignore the guy who doesn't know the buzzwords, but could learn them in half a day and, most importantly, apply them with the requisite scalability, maintainability, versioning, testing, etc. that means the difference between a world class site and a brittle piece of shit

    • In-depth knowledge is easier to test for than general skills, so it could be that they're asking you the questions that are easiest to formulate, not the ones that are the most important. Another reason could be that it is easier to judge the competence of someone below your own level than to judge the competence of someone who is better at something than yourself; by asking you about subjects that they have mastered they feel sure they can judge your response accurately.

    • This is why most companies or I should say many do contractors. I had to do that at my current employer for 2 projects to earn their trust. Infact my whole IT department at my site had to contract last year before being brought on.

      We had bad apples from before. If a contractor fucks up we can replace him. Yes they are sometimes the bottom of the barrel and during good economic times like the boom we are seeing now we are short on talent. During a recession we get top talent too.

  • The most important knowledge is understanding of the customer's business. That is not likely to be engineering, and most web applications and sites are not developed to serve an engineering need, but rather a marketing, communications, financial, or business process need. Industrial engineering might be useful generically, and general systems engineering uses requirements management techniques that are valuable no matter what you do.
  • You have a good start sprinkling in the three letter acronyms into your question. Be sure to learn a few more. I admit it don't recognize the ones you used, and can't be bothered to Google them. :-) In a more serious vein, in my experience, all software related development could stand to use strong skills in the areas you listed. You should be able to evaluate the suitability of each part of the "cocktail' of tools to the task at hand, and to deliver well crafted and tested solutions, or to be able to p
    • My pet peeve is forms which have separate text fields with javascript to jump to the next field when the previous one has been typed out.

  • I'm guilty of interviewing by asking (almost exclusively) language questions, CS theory, and programming small functions.

    Knowing any language well correlates with a person who hones their craft and continually improves.

    Solving problems with optimal algorithms correlates with with someone who can think through complex problems.

    For me, asking about previous experience isn't as valuable because it can't be verified on the spot. So it boils down to: "show me your skills" vs "tell me about your skills".

  • by Qbertino ( 265505 ) <moiraNO@SPAMmodparlor.com> on Sunday February 15, 2015 @06:39PM (#49062197)

    Being in Webdev for 15 years I can say that getting the job done quick is all that counts. Most of the web is run by the bizarest of contraptions in software you can imagine - but they get the job done. Take for instance Wordpress: It's a prime example for bad software architecture and the inner platform antipattern.

            But it works. It delivers, Any idiot can download and install WP, pop in a theme and start fiddling. The webev gets called in when the system is all gummed up and feature x,y or z has to be added with magic programming trick (i.e. dirty hacks) quickly.

    Same goes for PHP as a PL. Strange, bizar and hilarious, but it get's the job done.

            That's what counts.

            All that been said, it's precisely because of this that your skills as a webdev determine wether you'll have some freedom to pick your job and a fair salary or if you'll be treaded badly. I've been through so many projects that I can tell you even the crappy devs don't mean it. If there's a crew of 5 coding without versioning, that's because their to dumb to know any better and they won't listen to you if you're not ready to walk out of a job that only pays you a McDs salary.

            If however, you've got the skills and the tools, most people will think you're a demi-god. Use whatever technology you want, but be able to deliver. I've started building my own toolkit a while ago - it involves bash-cli snippets and PHP code - and dive into any mess my client/boss requires me to work with, be it Wordpress, Drupal, Joomla or whatever. I've since become good enough that I can make some demands, but I have no illusions about my outlook in the webdev world. It is a volatile occupation and unless you move into Java/Oralce, SAP or MS territory, it will stay that way.

            The upside is the freedom we have. We get to use FOSS most of the time as primary tools of trade and get to try out new things 5 times a week - neat. You can't have it both ways.

    In a nutshell: If you want to stand your ground, you have to be good at both: Overall problem solving experience and proficient expert knowledge in the current tools of your trade. If you stick to building those mostly from tried-and-true FOSS technologies, you'll keep pointless learning to a minimum. For instance, I make a point of using grep to search for snippets of code in a project. My IDE may be dead 3 years from now, as may be the system I'm using. grep will be around until I die.

    My 2 cents.

    • For instance, I make a point of using grep to search for snippets of code in a project. My IDE may be dead 3 years from now, as may be the system I'm using. grep will be around until I die.

      Okay. We'd better fix this mortality thing.

    • The same ones who wrote only for IE 6 to get done 2 weeks quicker and now these folks are stuck on XP still types right?

  • by byteherder ( 722785 ) on Sunday February 15, 2015 @06:40PM (#49062217)
    Engineering knowledge and skill is way undervalued in the current development climate. It is more about get it done fast, get it out the door. Don't make the code pretty, don't make it reusable, fix it later attitude. Patch it up, put a bandaid on it and move on to the next fire.

    The only place I have seen where engineering skills are valued is where lives are at stake (nuclear reactor code, Space Shuttle) or enterprise software that has to be up 24/7 or the business fails.

    Welcome to the real world.
  • Get Out Now (Score:2, Insightful)

    by Anonymous Coward

    Oh dude, you're so overqualified for anything in Web Development.

    CS, CS is bogus and only really quantifies anything if you're working in Artificial intelligence or Security. The rest of the time, a CS degree is just acts as a warranty for the interviewer that you supposedly knew enough book facts to pass an exam.

    Like, I kid you not, most of the crap people work on in Web Development are bloated Javascript frameworks, or bloated Ruby/PHP/Perl backends, and very few people actually know how to make efficien

  • In my experience, web development is a cocktail of....

    Big project with complex database bindings and backends are usually written in Java. They may not make up most of the web (if counted as pages) or accesses (since facebook etc is highly optimized), but if you need to get a real medium sized project out of hte door in a controllable fashion (and not-perfomance optimized), Java is your friend.

    Forget interpreted loose-typing languages. Forget OO by instance copy shit. Take a decent EE and refactor if something is wrong. Use XML bindings where you see fit (with

  • by Marginal Coward ( 3557951 ) on Sunday February 15, 2015 @06:48PM (#49062275)

    I am also an EE by training, but now write software exclusively, mostly embedded software, and I also dabble in some web development on the side. To me, the general value of any kind of engineering education is that it trains you extensively in problem solving. Although I learned a lot of specific things that I use on the job, the general thing I learned was how to solve problems. I also gained the confidence that problems which seem unsolvable at first could always be solved with a systematic approach and persistence.

    I'm not claiming that learning problem solving skills is exclusive to an engineering education, but just that it's a particular emphasis of that. It's a very general and valuable skill that's applicable to many fields. In this example, perhaps you "solved the problem" of doing web development by taking a systematic approach to acquiring the skills needed, and persisting until you mastered them. Of course, anyone can do that, and there are plenty of capable self-taught web developers who aren't engineers, but your EE training certainly doesn't hurt.

  • by DoofusOfDeath ( 636671 ) on Sunday February 15, 2015 @06:52PM (#49062305)

    I've spent about 20 years refining my programming stereotypes. I think they fit the data pretty well now. Here's my take on you, simply because you're an EE:

    * You're smart enough to pick up pretty much any CS concept, from the simple to the arcane. For the most part, only physics majors will simply be smarter than you.

    * Your code will look like crap, until you put effort into writing more idiomatically and until you learn the design patterns that help programmers use to tame complexity. Your code will, generally speaking, be harder to read than that produced by CS and physics majors, until you put some work into it.

    * You mentioned having only a fragmented understanding of CS theory. I think that's true for most of us (I have a PhD in CS). There's just so much of programming for which good theory has been developed: type systems, parallelism (concurrent sequential processes, deadlock rules), user interfaces (kind of), system complexity, static / dynamic analysis of code, relational algebras, parsing, the expressive power of various languages in the Chomsky hierarchy, graph theory, complexity classes, etc. A lot of these theories can be useful for solving problems, but most programmers muddle by without putting them all together and remembering their implications. Heck, most programmers probably don't know about half of the things I listed.

    So I wouldn't feel too anxious about that, especially w.r.t. web programming. But it can be very satisfying to to learn more about them, and may in some cases let you solve some problems that other's can't. If you want to get better at some of the brainier stuff, I'd suggest getting a master's degree in CS from a decent school. But that my be overkill for bog-standard web development, I'm not sure.

  • Comment removed based on user account deletion
    • "I made the fateful decision to become a web developer in a small SME in SEA"

      I do not know what your acronyms are and damn you for expecting me, the reader, to google them. Next skill? Learn to write.

      The OP is an engineer, and a double E at that. Social skills and the ability to communicate are not required in that field of study, and can actually be detrimental. Now, if the OP were an ME, or even better an Aero, than those skills would have been evident in the posting. Just be glad the OP was not a Civil.

    • The OP is from India you can tell by the use of MNC - unfortunately for him/her India has a problem inherited from the empire of valuing paper certifications over almost everything the so called "chitty" problem also Horrific employment laws
  • by Black Parrot ( 19622 ) on Sunday February 15, 2015 @07:14PM (#49062465)

    HR wants 10 years experience in something that was invented 5 years ago.

    If you have bigger-picture skills, you might be tempted to think for yourself.

  • by msobkow ( 48369 ) on Sunday February 15, 2015 @07:15PM (#49062469) Homepage Journal

    Like most engineers, you're under the impression that your "magic ring" should automatically be given respect. Your whole post just screams "prima donna", and THAT'S your problem in interviews.

  • by Registered Coward v2 ( 447531 ) on Sunday February 15, 2015 @07:20PM (#49062515)
    The companies are probably looking for the cheapest code monkeys they can find and thus don't want to pay for any other skills.
  • I hire EEs (Score:4, Informative)

    by nhtshot ( 198470 ) on Sunday February 15, 2015 @07:21PM (#49062521)

    I'm the head of software engineering at a small company and was a technical director at an MNC previously. I've hired hundreds of programmers.

    I regularly hire EEs as programmers, but not for web development. Web development is mostly the bastion of very nimble, hacky types. As others have said, it's frequently more about putting together a reasonably elegant hack in a short period of time.

    I hire EEs for board support and other embedded development. Those are the places where real engineering skills are the most useful. I don't want my BSP full of dirty hacks or hard to find/duplicate bugs. I want code that is planned, organized and well executed. That's exactly (in my experience), what I get from engineer coders.

    The exception to my above generalization about web development is Java. Java backed websites (JSP and the like) are mostly developed by engineers and are used by large companies. If you want to maintain your engineering mindset and build websites, Java dev as a nameless drone at a big company is the way to do it.

    Otherwise, I'd suggest boning up on your C and getting into embedded stuff. I personally find embedded work much more satisfying. It's also much easier to stay relevant without knowing the ins and outs of the latest NoSQL db or javascript library.

  • Give them examples (Score:5, Insightful)

    by nbauman ( 624611 ) on Sunday February 15, 2015 @07:23PM (#49062531) Homepage Journal

    Since I don't know much more about IT than the average human resources guy, maybe my experience can be useful.

    I taught myself how to write spreadsheets, and wrote a lot of them for my own personal use.

    Then I talked to a guy who had been an engineer and programmer, and came into corporations to teach other people how to use spreadsheets.

    He made the point that, when he wrote a spreadsheet, he included error-checking routines, such as calculating things in different ways, that would catch obvious mistakes in the spreadsheet.

    For example, in a checkbook program, he would calculate the balance on each line by adding the debits or subtracting the credits from the previous line, as I did, and get a running balance.

    Then he would separately total the columns and get the balance by taking the difference between the totals.

    They should be the same. But if you made a mistake, they might not be.

    People have made a lot of expensive mistakes by calculating the total of a bid but getting the range wrong.

    This is a deliberately stupid example, but it's stupid enough that it was news to me (because I was self-taught), and it's stupid enough for an HR guy to understand.

    I would suggest that you think up a few examples of how your general engineering and EE skills gave you insights that helped you write a better program, examples with obvious utility, examples that are simple enough for an HR guy to understand.

    Since the HR guy may not even understand programming, you can give him a quick course in programming, which will demonstrate your educational skills as well.

  • by dmaul99 ( 1895836 ) on Sunday February 15, 2015 @07:30PM (#49062571)

    It used to be that you'd go in and you'd be asked to talk about the projects that are on your CV, talk about what challenges you faced and how you solved them, and you'd be asked some basic technical questions to confirm that you hadn't completely made it all up.

    Now, nobody gives a crap about your CV. The last time I went through it, to be a PHP/MySQL developer, the tech lead or whatever came in without my resume in hand, gave a curt look and a limp handshake, and launched into it:

    "I have 3 questions."

    First off:

    "Design a game of blackjack." with no further explanation. A silent stare as I asked for clarification. Okay you want me to give you an object model. Doing that.

    Much pain later and condescension and derision later (yet in my opinion done well enough to be functional,) comes the second question with only 10 minutes in the hour remaining:

    "Design an algorithm to efficiently sort a list of trillions of elements."

    And I barely got off the ground on that one. Bounced some thoughts at him with the same derision and impatience in return. Needless to say I never got to hear what the third question was.

    His colleagues were not much nicer. I didn't get the job, but fuck them. I wouldn't want to work with these miserable assholes anyway. As I was walked out I saw their big developer pit or whatever they call it, this nightmarish contraption with no privacy and all this agile frenzy going on. No windows, all artificial light in the middle of the day, these giant monitors mounted on walls showing the build status or whatever the fuck, this cheap synthetic carpet, not a single person smiling. I'm sure they are very productive and God bless em.

    OTOH, yup, I'm still looking for full time work.

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      There are a lot of places like that. They all think they're the greatest places on earth to work too and getting a job there makes you an "elite" dev. Working 80 hours a week to make somebody else rich? Fuck that.

    • Sounds like an Amazon.com interview.
  • Recently I went through a couple of job interviews in MNCs, SMEs and start-ups alike. All of them grilled my CS theory or Java knowledge. Almost no interviewer asked me about my other skills (or past experiences) that could be helpful in the developer position

    nerdyalien,

    The secret of job interviewing is telling the interviewer about your skills and past experiences -- and explaining how relevant those are to the position you are interviewing for --without sounding like a self-centered jerk.

  • Learn the material (Score:3, Insightful)

    by Anonymous Coward on Sunday February 15, 2015 @07:55PM (#49062753)

    I think instead of asking if it is really necessary to know CS theory and/or Java, you should just learn them for your next interview. Too many people have this "I can learn it easily" attitude and think it is enough, but that does not mean shit to an interviewer. Companies want people who can hit the ground running (i.e. people who already know their shit). You might as well prove that you "can learn it easily" by actually learning it.

  • Even still, in web development world, deep in-depth knowledge in anything will be outdated in few years' time as new technologies roll out

    This just is not true. What new technologies are you expecting? Yes there is a lot of noise about Javascript frameworks, but they're all just Javascript (20 years old). Server side languages haven't shifted much. Most websites are database driven, so in depth knowledge of databases and SQL is unlikely to ever be outdated. Many of the problems to solve server side are concurrency related, hardly new.

  • From the original post:

    In my experience, web development is a cocktail of competing programming languages, frameworks and standards. Rarely a developer gets exposed to a single technology for a substantial period to learn it inside-out. Even still, in web development world, deep in-depth knowledge in anything will be outdated in few years' time as new technologies roll out. So, what matter's today? Knowledge on a particular technology or re-usable engineering skills ?

    Yes, even in Web development, you can spend years using the same stuff. Many developers do, especially those writing in-house web apps at big companies. I've spent ten years in the IT department for a hospital group, and I've been slowly refining my skills with the same everyday tools since Day 1: Linux, PostgreSQL, Apache, PHP, HTML 4, CSS, and JavaScript. SQL gives me the most mileage, and it's the oldest. As I move what code I can from PHP to SQL, it shrinks, speeds up, and covers

  • Speaking as a generalist and fast learner, it is not an attribute that is easy to interview for, just something that builds success over time. I have been mis-led by plenty of people I have hired over the years that are clearly smart, grounded, and can pick up and apply an abstract concept in the course of an interview. I have decided they (we) are all con men; I usually have to fire them after 6 months.

    It is the actual, concrete skills that tell an employer how quickly you can come up to speed, which is

  • Almost no interviewer asked me about my other skills (or past experiences) that could be helpful in the developer position.

    Did they ask you why you are applying for that position, what makes you think you are qualified? Did you bring up your other skills and past experiences in your response? Did you put your lack of formal training in a positive light without insulting people who have formal training? Do you have a well practiced sales pitch tailored for 30, 60 and 120 seconds?

  • http://www.dawood.in/if-carpen... [dawood.in]

    Cuts to the core of the major problem I have with most tech interviews.

  • by Martin S. ( 98249 ) on Monday February 16, 2015 @01:11AM (#49064273) Journal

    Web Developers are craftsmen not engineers and generally know little about what it means to be an engineer, despite all the automated tools they have at their disposal.

  • by gweihir ( 88907 ) on Monday February 16, 2015 @04:42AM (#49064957)

    That is why you were not asked about them. In most cases, web-developers are the bottom of the barrel, spotty CS skills at best, no other engineering skills at all. The interview process you experiences tries to make sure the people interviewed are not completely incompetent, nothing more. You are vastly overqualified.

    And no, this is not prejudice. I did run into really badly done mission-critical web-applications repeatedly and in different places and tried to find out why they were made so badly. Turns out this is standard. Best so far I found are a couple of web-developers that cannot manage to read and understand the teo content pages of an RFC, where half of the pages are pictures. The one using a self-written bubble-sort to sort an arbitrary large array in Java was also nice.

    Also relevant: http://blog.codinghorror.com/t... [codinghorror.com]

  • by some old guy ( 674482 ) on Monday February 16, 2015 @06:44AM (#49065307)

    Web developers have engineering skills? Stop the presses!

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...