[HN Gopher] I feel like I made a mistake investing professionall...
___________________________________________________________________
I feel like I made a mistake investing professionally into Flutter
Author : ksec
Score : 162 points
Date : 2023-08-12 09:49 UTC (13 hours ago)
(HTM) web link (reddit.com)
(TXT) w3m dump (reddit.com)
| [deleted]
| sirsinsalot wrote:
| It mistake misses the point of the investment. The pay-off is
| experience in new patterns, new tooling, new approaches. The
| dividend is in the job where you use the tool but the capital
| gain is in experience.
|
| When I hire for my team, I never mention the stack. I don't care.
| I am hiring software engineers, and what I value is mindset and
| ability.
|
| I'll throw you in at the deep end. Learn the language, libs,
| tooling, infra on the job and the team will support you. Because
| you're awesome. That's why I hired you.
|
| edit: Sound _less_ unintionally arrogant.
| 5cott0 wrote:
| parsing JSON in Flutter seems like A LOT
|
| https://codewithandrea.com/articles/parse-json-dart/
| mtizim wrote:
| If you really want to write it yourself, sure. This code is
| very easily automatically generated.
|
| https://pub.dev/packages/json_serializable
| mhoad wrote:
| It's less dramatic in real life https://dart.dev/guides/json
| even more so in Dart 3 https://dart.dev/language/records
| throwoutway wrote:
| Just holding down the spacebar to scroll that page made me
| never want to use Flutter to parse JSON
| jstx1 wrote:
| The mistake isn't investing time into Flutter; it's being "the
| Flutter guy", only knowing Flutter and only searching for Flutter
| jobs.
| MrDresden wrote:
| It has been interesting seeing how many interviewees coming in
| for a mobile app developer positions in the last 4-5 years have
| made bold claims about native development
| (Obj-C/Swift/Kotlin/Java) being dead due to Flutter, then
| fumbling completely when asked to solve problems that would
| require them to drop 'down' into the native environment.
|
| Having Flutter in the toolbox is quite a good thing, unless
| there is nothing else in there. Then you are in trouble.
| willio58 wrote:
| Same could be said about "the react guy", which I definitely
| have been in the past. Of course react has buy-in 10x what
| flutter ever had but still.
| 1986 wrote:
| You need to know JS to be a React guy though and that's
| easily transferable to another JS framework or other frontend
| work, where is Dart used other than Flutter?
| nailer wrote:
| I know a lot of React people that don't know JS very well
| and far more that don't know CSS basics.
| harel wrote:
| The market is so weird right now, that I find it hard accepting
| this. A lot of jobs that would have been otherwise open are
| paused.
|
| Having said that, I have just recently got into Flutter/Dart and
| I found the experience quite enjoyable and the resulting app very
| polished. From the tooling to the language itself and the Flutter
| framework - it's a joy.
| synergy20 wrote:
| I spent quite some cycles into flutter|dart, ended up with React
| Native for mobile and wxWidgets for cross platform desktop
| GUI(electron.js is too fat for me and wxWidgets 3.2 looks
| decent).
|
| RN(javascript) and wxWidgets(c++) are both job friendly, unlike
| Dart, which is a language I actually enjoy, but there are not a
| lot jobs for it anywhere.
| PKop wrote:
| Any particular reason you chose wxWidgets over QT ?
| synergy20 wrote:
| I don't want to get into the complexity of Qt licenses ever,
| and wxWidgets does everything I need so far, plus it's 100%
| open source and free to use. the new release 3.2 is pretty
| good and it's also smaller than Qt ecosystem, which means
| much easier for me to learn and start to make releases.
| suyash wrote:
| For anyone reading this and if you want to develop mobile apps,
| just first learn native iOS/Android platforms, they are not going
| anywhere before you get tempted by other flashy technologies like
| Flutter or React Native. Most companies including the ones that
| created these cross platform frameworks, build thier core apps
| using native stack for a reason.
| m_fayer wrote:
| I used to say just this. And I did native Android dev for many
| years, but I gave it up around 2019.
|
| When I finally checked out, native Android was a teetering mess
| of compatibility libraries, half-baked never-finished "new ways
| of doing things", lacking docs, forever-bugs, and overall
| neglect. Simple ui would take you 5x as long as equivalent css
| and have you dropping down to low level drawing in frustration.
|
| Back then, I felt native Android didn't deserve my time or
| patience.
|
| Has this picture improved?
| tarkin2 wrote:
| Jetpack Compose, and Kotlin coroutines, mixed with kotlin
| multiplatform code, came and made many things nicer,
| especially UI. With so many libraries and so many ways of
| doing things with so many opinions it's still hard to digest
| of course.
|
| It's better than non native for performance and experience
| but many companies will of course care more about the money
| saved from a sub native experience with fewer developers.
| flutas wrote:
| > It's better than non native for performance and
| experience but many companies will of course care more
| about the money saved from a sub native experience with
| fewer developers.
|
| I currently work at an agency doing Android apps (not a
| typical pump and dump agency mind you, I've been the lead
| on this single project for 5 years and we've had them as a
| client for 8+), and I'm so happy to see our client buck
| that.
|
| They've had us on a native app that we've been supporting
| for the entire 8 years, and had deep technical issues from
| before us ("lets reinvent the web browser for UI"). They
| had a secondary internal team (known to us, no hidden
| surprise, you're gone stuff) working to replace us with a
| greenfield cross platform app (I think react native). That
| project went on for a year before they cut their losses and
| said "cross platform can't be good enough."
|
| We're now in the planning phase of a complete greenfield
| rewrite of the existing app to take advantage of Compose +
| Kotlin, and ditch 12 years of tech debt and I'm practically
| ecstatic.
| MrDresden wrote:
| You truly picked a bad time to move away. The sheer quantity
| of chance that has happened since EOY 2019 is staggering.
|
| I say this as someone who has mostly done Android dev since
| '09.
| zukzuk wrote:
| I'd argue the opposite. For a lot of people, getting quick
| results is absolutely needed for motivation. Focusing on
| learning "the fundamentals" before getting to the enjoyable
| parts is bad advice for most, as it often leads to people
| dropping out before they get hooked.
|
| I agree that you probably can't be a decent mobile dev in the
| long term without learning basic iOS/Swift or
| Android/Java(/probably Kotlin nowadays) but that is not a good
| place to start for people who are just getting started.
| sgammon wrote:
| You did -- blame Google for breaking their promise to you and to
| users.
| amelius wrote:
| So what would be the best mobile development setup for someone
| who:
|
| - prefers to work in a Unix-like environment (e.g. Linux);
|
| - prefers to code in Vim;
|
| - prefers to have a single unified codebase for different mobile
| platforms;
|
| - prefers to test applications on a Linux machine running an X
| server.
| rcme wrote:
| MacOS is Unix, and it's pretty much the only option if you want
| to target iOS.
| onli wrote:
| Are you aiming at that? Flutter should work well for that
| scenario. I'd use an IDE to simplify testing in an emulator,
| but you could manage that manually from the terminal.
| bicx wrote:
| React Native may be a good bet, while testing with an Android
| emulator. However, you won't be able to build an app-store-
| approved iOS app without Xcode tools, which are not officially
| available on Linux. The CLI tools for building mobile apps are
| definitely not up to par with the IDEs though.
| tetromino_ wrote:
| > prefers to test applications on a Linux machine running an X
| server
|
| Apple won't allow you to do that. Any binary submitted to their
| app store must be built using Xcode running on MacOS on genuine
| Mac hardware. It's a tax they collect from their developer
| community; if you don't want to pay, you won't get to play in
| their walled garden.
| izacus wrote:
| The one that changes your listed points to something that's
| compatible with modern mobile development.
|
| Your questions sound like a plumber asking how can he repair
| computers with a wrench and a saw. Don't get emotionally
| invested in tools.
| amelius wrote:
| Ok, then I guess I'll wait for the day when WASM runs on
| these mobile platforms so I can bring my dev environment to
| them instead of the other way around.
| rapsey wrote:
| Why are you hamstringing yourself?
| allarm wrote:
| (not op) This is not hamstringing. It's a matter of
| preference. I prefer jeans to a tie and a costume. I prefer
| Emacs and Vim to Vscode. I choose jobs that allow me to wear
| jeans and code in Emacs.
| saagarjha wrote:
| There are plenty of jobs that will let you do that. Most of
| them will not be writing software that is built on X.
| allarm wrote:
| So? What's your point?
| saagarjha wrote:
| Your choice of text editor is largely irrelevant to your
| job. Picking a legacy tech stack to work in is not.
| allarm wrote:
| I get that. I just don't think that "hamstring" is a good
| word to describe it. It's a personal preference.
| Aulig wrote:
| As the comments on the post say - it's most likely due to the
| generally slow job market. 3.5 years later I'm still glad that I
| chose to use Flutter in my business.
| nologic01 wrote:
| Developers have a finite useful lifespan and they need to pick
| their portfolio of techologies wisely if their journey is not
| going to be an anxious random walk chasing the latest fad.
|
| You cant only pick "winners" but you almost need to develop a
| sixth sense for what will be a valuable and long term addition to
| your finite toolbox.
|
| Looking at tech attributes is just the start. business and
| community context, complementarity with other pieces etc are all
| the subtle factors that may help avoid wasting energy in short
| lived pursuits.
| somsak2 wrote:
| I don't think it's subtle at all. Pick existing popular
| technologies / frameworks. If you like to gamble a bit, pick
| those that you see growing quickly. Invest time in learning new
| stuff (ideally, on an employer's dime) throughout your career.
|
| If you don't care about being on the 'bleeding edge', you
| really don't have to think about it too hard and you'll have
| plenty of job opportunities.
| [deleted]
| nailer wrote:
| Of course they did. Dash/dart was obviously dead about three
| months into it's existence. Google cancelled their plans to
| replace JavaScript after nobody expressed interest and Dash/dart
| will never be more than a curiosity.
| glimshe wrote:
| I only invest in company-sponsored tech after the market share
| grows to a ver significant number. A lot of what is sold as "the
| future of X" is just marketing. Flutter and Dart in particular
| failed to thrive, as many of these technologies do, and are
| evolutionary dead ends (despite the remaining die-hard users).
| tenpies wrote:
| [flagged]
| anonyfox wrote:
| I don't get it. Whats wrong over there?
| FirmwareBurner wrote:
| It's the same in most of Europe too. Employers are picky with
| who they hire.
| tommica wrote:
| What does this have to do with the original post?
| monsieurgaufre wrote:
| Not much, imo.
|
| But this discourse is rather frequent from people/doomers who
| hate Trudeau for $reasons.
|
| Source: am canadian.
| jimmychoozyx wrote:
| [dead]
| shipscode wrote:
| Flutter and svelte have clearly been astroturfed as part of their
| marketing strategy. I wouldn't touch them with a 10 foot pole.
| esafak wrote:
| why not svelte?
| [deleted]
| pjmlp wrote:
| Flutter and Dart future are tied together, both rescued by
| AdWords business unit.
|
| It is never going to be beyond a niche thing, unless Google does
| indeed ship Fuchsia in large scale.
| anon7331 wrote:
| It isn't clear why the discussion is around flutter.
|
| The problem is when you define yourself by the technology you
| know. You're an app developer or an engineer, not a flutter
| developer. Focus on showing your ability to make apps or whatever
| the target company does.
| merrvk wrote:
| You could say this about any Google technology.
| rvz wrote:
| I know right? Just like Golang, Kubernetes, Chrome APIs, etc /s
| quickthrower2 wrote:
| V8; GCP; Protobuf;
| nailer wrote:
| I'm not sure why sarcasm is needed. Go lost to Rust as the
| mainstream safe systems language, k8s is a meme for wasted
| engineering resources, obviously Dart/Dash failed in its
| intention to replace JavaScript (I don't know what 'Chrome
| APIs' are).
| aatd86 wrote:
| I don't even know how to write a linked list in Rust...
| Dang! I'm doomed... :o)
| quickthrower2 wrote:
| Go lost to Rust. Citation?
| nailer wrote:
| Is one needed? Rust is in the Linux kernel, in the
| Windows kernel, and is used by the most active
| blockchain.
| chairhairair wrote:
| Those are some true measures of success right there.
| nailer wrote:
| Yes, those are incredibly important projects.
| the_only_law wrote:
| Despite ostensibly being a "systems language". I see Go
| used more often for writing CRUD apps or APIs. There's a
| lot more work in that then working in rust, thought I've
| admittedly been surprised with the amount of rust jobs I've
| seen.
| invalidname wrote:
| App Engine or even GCP. Reader etc.
|
| Android is also terrible. As an Android developer it's the
| absolute worst when compared to iOS development. Google is an
| Ad company, everything else it does is a hobby.
| sgt wrote:
| They're even keeping GWT alive somehow. That was a major
| mistake, though. I remember building a large GWT project and
| the compile times just started getting into multiple minutes.
| Debugging was hard.
| invalidname wrote:
| They are not. It's a third party fork that's keeping it
| alive. It's dead because Google didn't put any resources
| into it and just threw it out to see if it sticks. Then
| didn't keep up with the capabilities of JavaScript
| frameworks and didn't release any proper templates.
| nailer wrote:
| Did gmail migrate off GWT?
| invalidname wrote:
| It never used GWT. They claimed GWT can be used to build
| apps like gmail and that was misleading. They didn't
| write it using GWT since it predated the existence of
| GWT.
| sgt wrote:
| When I checked 2-3 years ago, Google Cloud portal was
| based on GWT.
| tkiolp4 wrote:
| I don't buy it. As software developers we learn technologies for
| breakfast. We learn them, and then we forget them. We recollect
| the wisdom gained and apply it in our next gig using a different
| technology. It works for mobile development, for frontend, for
| backend, for infra, for almost anything.
|
| I have worked for years with PHP, Apache, Ansible and MySQL.
| Nowadays not anymore. And in 7 years I'll be using something
| else. Learn the fundamentals (which is not a one-time job, btw)
| and you'll be fine. If someone asks for technology X in their job
| offers when you know Y, but you know you won't have difficulty in
| learning X, just take a few days in learning X and then put it in
| your CV. You'll get pass HR screening and then you'll have a
| chance to explain in tech interview that your are more of a
| technology-agnostic dev. You'll do fine.
| mathisfun123 wrote:
| >don't buy it. As software developers we learn technologies for
| breakfast.
|
| This is such a funny mantra. Okay learn how nuclear fission
| works. Or EUV lithography. Or power transmission across
| superconductors. All of these are extant, commercial,
| technologies (yes even the last one). Too much? How about
| something more pedestrian like overhead cams and electric fuel
| injection? Too far afield? Okay learn how DMA works on a GPU -
| not how to call `copy(host, device)` but what _actually_
| happens and more importantly _why_.
|
| The truth is software developers learn APIs, not technologies
| (and not over breakfast either). Point being, it's not good to
| be haughty because if tomorrow you were out of a job and the
| only place hiring was the Ford motor plant I think you'd be
| just as fucked as the author of the post.
| somsak2 wrote:
| You're just arguing semantics. And the example given can go
| the other way: if your Ford motor plant closes and the only
| places hiring are software shops, you'd also be "fucked".
| mathisfun123 wrote:
| > You're just arguing semantics
|
| I never have any clue what this retort means: when exactly
| are semantics (the meanings of things) not important?
|
| > Ford motor plant closes and the only places hiring are
| software shops, you'd also be "fucked".
|
| That's one hundred percent true but the difference is I
| don't see assembly plant workers going around claiming they
| learn technologies for breakfast (or lunch or dinner).
| mtizim wrote:
| As software developers we learn _software_ technologies for
| breakfast, not entire industrial processes...
| ransom1538 wrote:
| "you won't have difficulty in learning X, just take a few days
| in learning X"
|
| It isn't 2020 anymore. No. No, one is going to hire someone
| that is going to learn "react on the fly".
| hamburglar wrote:
| > As software developers we learn technologies for breakfast.
| ... > I have worked for years with PHP, Apache, Ansible and
| MySQL.
|
| As much as I agree with your general sentiment that adaptation
| is one of our primary skills in this industry, these two
| statements combine to sound like parody. You "eat new
| technologies for breakfast" but PHP and Apache are in your
| short list of technologies you've used for years?
|
| > And in 7 years I'll be using something else.
|
| And 7 years for your prediction of when you'll be using a
| different technology is both oddly specific and oddly long.
|
| Apologies if this comment actually is parody and it's just
| flown over my head.
| BiteCode_dev wrote:
| It's one thing knowing the language, it's another being
| productive with the ecosystem.
|
| One takes between a few days and a few months. The other is a
| few years, unless you get pro training.
|
| I guarantee most people starting with Python from another
| language will be productive quickly. But they will curse the
| packaging ecosystem because they will follow a lot of tutorials
| that don't follow this:
|
| https://bitecode.substack.com/p/why-not-tell-people-to-simpl...
|
| And they'll get screwed.
|
| They will have a hard time learning this:
|
| https://www.bitecode.dev/p/relieving-your-python-packaging-p...
|
| It will take a long time of trials and errors, suffering all
| the way.
|
| And this is true for many other aspects: good editor config,
| good web deployment story, good app sharing system, good
| tooling setup, etc
|
| A runtime or a stlib is quite small and stable. But an
| ecosystem is gigantic and moving.
| dmix wrote:
| Yeah I learned Ruby on Rails very quickly a long time ago,
| it's probably one of the most accessible frameworks to learn,
| but it took me years to master all the weird quirks, dev
| environment stuff, debugging, production deployment etc. Plus
| from all the years doing it I'm familiar with all the old
| libraries so when you join a company with a large legacy code
| base, which at this point is very common for rails, I don't
| have to spend forever learning the details of some 7yr old
| implentation no one uses anymore.
|
| Working with senior devs who have only been doing it for
| 1-2yrs is where you see the small productivity differences
| that aren't simply being a newbie programmer.
| BlargMcLarg wrote:
| You're seriously arguing that someone with general knowledge
| of programming is going to get hard-stuck not knowing
| specifics of a language you and thousands of others have
| blogposted about for years, while linking your own posts?
|
| Let's be real here. What percentage of companies are in _dire
| need_ of 'experienced [language] programmers' who know these
| specifics that haven't already been set by previous devs or
| have another developer present to make the decisions? That's
| a tiny, tiny percentage of the entire job market, with much
| of the demand coming from companies with incredibly shaky
| foundations.
|
| Almost the entirety of this is a luxury problem put on the
| individual. The moment the job market says they can't demand
| it anymore, they won't.
| BiteCode_dev wrote:
| Yes.
|
| Last week I talked with a guy who was pitching to rewrite
| their entire product in another language because he never
| heard of python GIS ecoshst and was doing spatial
| calculations by hand. Would cost hundred of thousand euros.
|
| The HN bubble strikes again.
| pjmlp wrote:
| Indeed, I talk about lots of stuff, as an old dev that has
| been through lot of stuff.
|
| However if I need to do quiz, or coding exercise, closed book
| style, only Java and C#, to a lesser extent C++, would be a
| viable option for me.
| coffeebeqn wrote:
| I don't agree at all. I was productive within a month in a
| completely new language and stack at my current job for
| example. Once you know a few inside out, it's just pattern
| matching with some Googling of "what's X in Y language".
|
| Extremely deep knowledge of a language is very rarely needed,
| even when it is as long as you can somewhat vocalize the
| problem it's just debugging
| scarface_74 wrote:
| Yes because I know Java (hypothetically I haven't touched Java
| since two years after it was introduced) I can become an
| efficient Android developer "in a few days".
|
| Better yet, since I did Windows CE development for ruggedized
| devices using C# Compact framework back between 2007-2010, I
| should have no problem picking up iOS development "in a few
| days" and start being a productive member of a team right? Or
| better yet, leading a team?
|
| Third thing, I know the fundamentals of web development
| including JavaScript, HTML and CSS. But I haven't done anything
| on the front end since 2012. Are you going to hire me to help
| create your website when you're looking for a modern web
| developer?
|
| Learning a language is easy. Modern development requires
| knowing the toolchain framework, idiosyncrasies, foot guns,
| best practices, etc.
|
| These days, I am only looking for jobs where I have some type
| of team lead/architect position. Are you going to hire me to
| lead a team working on a 10 year old complicated Java app when
| all of my "enterprise" experience is in the .Net ecosystem?
|
| On another note: I haven't randomly submitted my job to an ATS
| worrying about an "HR" screen since 2008 across 5 jobs. I've
| always either reached out to my network or had someone reach
| out to me.
| jmull wrote:
| > Modern development requires knowing the toolchain
| framework, idiosyncrasies, foot guns, best practices, etc.
|
| All this stuff is the same as learning the details of the
| language. Once you know the pattern it's not hard to use it
| in a context with incidental differences in details. It's
| usually more than days, but can easily be weeks or months --
| it depends on how well you really know the patterns. If you
| really know them it is just days.
|
| But being hired is a completely different thing. Hiring
| managers (1) don't understand any of this, generally; and (2)
| in any case, have no way to directly determine whether a
| candidate really knows all the relevant patterns. They use
| past direct experience with the technology as an
| approximation (a pretty poor one, but it's easy).
|
| Personally, I've done many jobs successfully on stacks I
| didn't have previous experience with, almost always as lead
| or sole. But of course, I got these jobs through people who
| know me, not a random hiring manager.
|
| (BTW, the skills most important for a lead/architect type
| have nothing to do with specific technologies. You're making
| sure the project/team/product/business doesn't run into dead
| ends and progresses efficiently, daily, in the short term,
| the medium term, and the long term, and balancing their
| conflicting needs. Probably less than half of this is tech at
| all.)
| scarface_74 wrote:
| My job as a lead was three fold and from my recent
| interviewing based on the jobs I'm currently looking at
| it's the same (cloud+app dev)
|
| 1. Working with external/internal stakeholders to define
| business outcomes and deal with ambiguity and doing project
| management - from my experience at AWS (ProServe) you can
| be _really_ good at this with hardly any technical
| proficiency
|
| 2. Determining what is the right service or combination of
| services to use and the overall architectural design. I
| could do this without any specific platform knowledge - I
| know what type of database I need. I know I need a
| messaging bus. I know the trade offs of different types of
| technologies.
|
| I was able to go from never opening the AWS console to
| working at AWS in the cloud consulting department within 2
| years. But I sucked during those two years while I was
| learning the ropes.
|
| 3. Using the "right" one of the literally 100+ services and
| being able to mentor junior consultants and help them
| troubleshoot complex issues.
|
| The 3rd bullet point is where you need someone who has the
| specific skillset.
|
| My experience at the second bullet point is the downside of
| hiring someone based on "potential". The CTO who hired me
| threw me at the cloud initiatives without experience and
| let me figure it out. But paid me $30K less than he would
| have had to pay someone with experience. He would have
| never been able to push through the 20%+ raise I would have
| been looking for when I left 2 years later if I had stayed
| on that side of enterprise dev/BigTech compensation side.
|
| He definitely couldn't push through the 50% raise I ended
| up getting at BigTech.
|
| Now that I did my bid and the pay/bullshit ratio is going
| too much in the wrong direction, I can go back to my former
| company (since been acquired) and ask for about the same I
| would have been asking for three years ago (a lot less than
| I was making at BigTech)
| malux85 wrote:
| I'm a senior dev, having coded commercially for 20 years
| now, and I think you are correct.
|
| In my time, I have been an embedded C developer, a kernel
| developer, MFC C++, then J2EE, then Mobile C# .NET, then
| Python we dev, Python DS, Python Scientific, DevOps, WebDev
|
| These aren't trivial projects, but entire systems, E.g. I
| solo built https://atomictessellator.com just to scratch my
| own itch learning quantum chemistry simulators.
|
| I think you are 100% right, at about the 10-15 year mark
| learning new languages and tooling really is a matter of
| days, maybe a week if the tooling is very different. That's
| 1 week from no experience in a language to "employable,
| productive member of a team"
|
| At some point it all just clicks, I suspect the people
| above who are disagreeing and likely devs with maybe only
| 5-6 years experience who this hasn't happened for yet.
| scarface_74 wrote:
| Were you able to mentor juniors in best practices and see
| the foot guns that could happen based on your experience?
|
| BTW, I'm using the definition of senior developer as
| defined by large tech companies - the whole "scope",
| "impact", "dealing with ambiguity", "leading initiatives"
| metrics not "I code really well".
|
| My experience on the enterprise dev side (1996-2020 and
| going back on that side now), is that titles mean very
| little outside of tech companies with leveling
| guidelines.
|
| BTW, the last time I had only six years of professional
| experience was 2002.
|
| The last time I only had six years of programming
| experience was 1992. By then I had done assembly language
| programming as hobby on four architectures (65C02, 68K,
| PPC and x86)
| sanderjd wrote:
| Personally, yeah, I would have no trouble hiring you for any
| of those things, based on your experiences. I wouldn't have
| expectations that you'd be the most productive member of
| those teams "in a few days", but a few months, sure. And I
| would expect your wisdom from working on a bunch of different
| things to be a lot more impactful than whatever fine grained
| details you don't yet know of the exact technology we're
| using.
| listenallyall wrote:
| You're saying that in isolation. If you have 50 other
| resumes on your desk for a React job, there's no way you're
| going to choose the guy who hasn't touched front-end since
| 2012.
| moron4hire wrote:
| That's not been my experience with hiring. My experience
| has been that 9 out of 10 resumes that cross my desk have
| almost no relevant job experience _at all_.
|
| I'd love to have someone apply to a .NET desktop app
| position with 5 years of solid experience building Java
| web services. I'd love to fill a Node.js web service
| position with at least someone who spent 10 years writing
| embedded C for home automation devices. Hell, I'll take a
| brand new CS grad who built a janky Unity3D app in their
| spare time, not because it was a school project, but
| because they just wanted to.
|
| What I get is IT network technicians who took a
| programming certification, substitute teachers who 15
| years ago did software QA testing, public policy majors
| who dabbled with Matlab or Python in grad school, boot
| camp grads who haven't touched programming again since
| they finished their 8 week course 10 months ago. People
| who have never had any experience with the care and
| feeding of any kind of software project that other people
| had to work with them on for any significant time.
|
| I'll get 1 resume out of the batch (and they always come
| in groups of 10) that is just a software developer: for
| whatever N years of experience, at least the most recent
| .8N has been software. Then it comes down to figuring out
| if they were actually a contributing member or spent most
| of their time hiding in a large team.
| listenallyall wrote:
| > My experience has been that 9 out of 10 resumes that
| cross my desk have almost no relevant job experience at
| all.
|
| We're all out here shedding a tear for you. Not too sure
| what you expect, as they say, the real talent doesn't
| need to apply to job postings and submit resumes blindly.
| With that said, is there anything in your .NET desktop
| job posting that would encourage a Java web service
| developer to apply? The first day of every month a bunch
| of people with widely varying backgrounds and experience
| post on this very site that they are seeking work... ever
| reach out to any of them?
| scarface_74 wrote:
| This is what I find amazing about a lot of the replies I
| see here. I saw the writing on the wall four months ago
| that I was probably going to be "Amazoned" soon after my
| manager left.
|
| I've been warming up my network like crazy over the past
| four months, preparing my resume and career document,
| etc. I keep my network semi-warm regardless.
|
| When the day came and I had the offer to quit and get big
| check or stay, I chose the quit option, before my last
| day, I had one manager trying to create a position for
| me, a second round scheduled with another former company
| and a third and final round scheduled at a third company.
|
| All based on networking.
|
| It's foolish in this market to hope something is going to
| happen quickly by randomly uploading your resume to an
| ATS and keyword stuffing your resume like an SEO
| technique from the 90s trying to juice your position on
| Altavista.
|
| On the hiring side, a hiring manager also needs a network
| that they can call on when trying to find candidates.
| scarface_74 wrote:
| I agree completely. Even if I did learn React. I still
| wouldn't know the tricks to make a modern, usable,
| website. I would be no good as lead responsible for
| giving input on best practices and strategy.
| lampshades wrote:
| I've interviewed a lot of candidates over my years and
| technology specific information isn't something I ever
| look for, unless money is tight.
| jgoodhcg wrote:
| > unless money is tight
|
| The software dev job market is cooling down. Making good
| choices on what to build experience in is more important
| than it has been in recent years.
|
| I think many companies, including mine, are thinking they
| have only a few spots to fill and a lot of candidates to
| consider. I know we consistently say things like "who
| will be productive quickly?"
| tmpX7dMeXU wrote:
| I've done this exact thing. Stop telling people how
| they'd act.
| tomcam wrote:
| Stop telling me how I should stop telling people how
| they'd act!
|
| I kid.
| wrayjustin wrote:
| Your hyperbolic comment is not far from reality when applied
| correctly.
|
| I've long said, and would stand by: Programming/Development
| is logic; learn logic. Languages are just syntax; if you
| understand logic, you _can_ learn the syntax.
|
| Taking concepts from one language to another shouldn't be an
| onerous task.
|
| Of course, none of that means you'll get that _senior_
| language -focused position, or any particular position at
| all.
|
| But let's not act like picking up a new language, for a
| developer, is the equivalent of switching from development to
| medical practices, or even networking/system
| administration/etc.
| scarface_74 wrote:
| The first language I used professionally was C and I
| programmed console apps on DEC VAX and Stratus VOS
| mainframes. All I really needed to know was standard C.
|
| Guess how long the learning curve was at my next job where
| I had the learn the intricacies of Win32/MFC, COM and DCOM,
| when to use which of the 8 different methods that Microsoft
| had of defining a string and how to safely convert between
| them, why my C++/ATL COM object kept crashing the other
| developers VB apps because I wasn't doing reference
| counters correctly...
| ianlevesque wrote:
| > Are you going to hire me to lead a team working on a 10
| year old complicated Java app when all of my "enterprise"
| experience is in the .Net ecosystem?
|
| Yes. The skills are fungible.
| scarface_74 wrote:
| And I would be a horrible hire to lead a team where I'm
| expected to mentor junior developers on best practices,
| which packages to use, how best to work with technical
| debt, etc.
|
| In the real world, I'm interviewing for positions where
| they are looking for leads at cloud consulting companies
| who can mentor juniors and that they can put in front of
| customers for recommendations, estimating statements of
| work for implementations on AWS and it's specializing in
| application development where you are integrating with AWS
| services. I have lots of experience with most things AWS.
|
| No one should hire me to do the same for either Azure or
| GCP. Sure I could do the initial discovery, pre-sales,
| needs analysis, business outcomes, etc. But I wouldn't have
| a clue about what services to use and i definitely couldn't
| mentor and help troubleshoot implementations on Azure or
| GCP.
| linuxftw wrote:
| How hard is it to find a few mainstream opensource
| projects and emulate what they're doing in a given
| language when it comes to packaging and best practices?
|
| Other than awful, unsuitable for production languages
| like ruby.
| scarface_74 wrote:
| Most open source solutions are meant to be building
| blocks for larger projects. It's up to you to know what's
| best for your organization based on prior experience. If
| you're not in the C# ecosystem would you know how badly
| you are shooting yourself in the foot using Entity
| Framework when you should be using Dapper (a micro ORM
| invented and used by Stack Exchange)?
|
| On the other hand, would you know the limitations of
| Dapper until your system grew and you found out that you
| really needed EF but because you didn't know the
| tradeoffs you didn't know what to look out for?
| linuxftw wrote:
| I don't write crud apps, but if I did, I'm sure I could
| sort out which ORM is the right one for my usecase.
| scarface_74 wrote:
| "I don't have any experience that is relevant to most of
| the 2.7 million developers. But I'm sure about my
| opinions"
| linuxftw wrote:
| Right. You have experience doing what everyone else does,
| aka, replaceable.
| scarface_74 wrote:
| Everyone is replaceable. If you get hit by a bus tomorrow
| your company will have an open req for your position
| before your body gets cold.
|
| They will send your next of kin "thoughts and prayers"
| and you will soon only be remembered when someone sees
| your name while doing a "git blame"
|
| A less morbid example, what I call the "are you
| replaceable test". Can you can hit on your boss's spouse
| repeatedly at the Christmas party and have a job the next
| year?
| mgkimsal wrote:
| While that might be the 'right' answer, it's also in the
| minority for many job openings/postings.
| ianlevesque wrote:
| You're not wrong, but thankfully job openings are more
| fungible than ever too, with remote positions open at
| plenty of companies that won't make that particular
| (not-)hiring mistake.
| scarface_74 wrote:
| Remote positions make it easier not harder to find
| someone with the skills fit that a company needs and
| makes any position more competitive.
|
| When companies were looking for "a C# developer who knew
| the latest front end framework who was willing to commute
| to the office in midtown Atlanta" the pool was a lot
| smaller than "someone legally allowed to work in the US"
| pjmlp wrote:
| Actually it is more like legally to work anywhere, for
| some kind of positions.
| sanderjd wrote:
| Yep, this is true. But that just means that it's
| something of a super power for organizations that don't
| make this myopic mistake.
| lusus_naturae wrote:
| I think GPs approach works for junior roles where learning on
| the job is acceptable. You're right that it would create pain
| for everyone if the lead/senior guy is having daily struggle
| sessions as opposed to taking the work to the next level.
| coldtea wrote:
| > _Yes because I know Java (hypothetically I haven't touched
| Java since two years after it was introduced) I can become an
| efficient Android developer "in a few days"._
|
| No, but you probably can in 6 months. Whereas if you hadn't
| even touched any language and UI framework before, it would
| have taken you a few years.
|
| Does it have to happen "in a few days" to matter? Or the
| hyperbole is to argue that past experience with different
| languages and their concepts, and SDKs and their architecture
| doesn't help going forward, because each of them is some kind
| of unique snowflake?
| scarface_74 wrote:
| How much similarity do you think there is between modern
| Android and C# Compact framework in 2008? The last time I
| did any "mobile development"?
| coldtea wrote:
| Note how the parent said: "As software developers we
| learn technologies for breakfast. We learn them, and then
| we forget them. We recollect the wisdom gained and apply
| it in our next gig using a different technology".
|
| If you havent' done that with any technology for a full
| 15 years in some domain, and so can't adapt to the
| current framework used quickly, it's not like this
| refutes the parent's comment.
|
| The parent described a situation where you serially learn
| new technologies and move on, which means there's a lot
| of concepts that transfer fine, and things that gradually
| change that you can more easily pick up in much smaller
| time. If you had done Android development in 2018, it
| wouldn't be that different to 2023.
| hn_throwaway_99 wrote:
| Thanks very much for posting this, totally agree. I get
| frustrated when I hear all these missives about how easy it
| is for any good developer to learn a new language "in a
| couple days". I think this paragraph was key:
|
| > Learning a language is easy. Modern development requires
| knowing the toolchain framework, idiosyncrasies, foot guns,
| best practices, etc.
|
| That said, I still nearly always hire for general skills and
| not specific technologies, _as long as_ there is at least one
| expert in the specific tech under consideration on the team
| (which there nearly always is). And I budget anywhere from
| 3-6 months for a person to become truly proficient at a new
| platform technology.
| scarface_74 wrote:
| And you are probably not going to pay me the same as
| someone who already have the experience you are looking for
| (and you probably shouldn't).
|
| Because of the stupidity of hiring and raise practices (not
| your fault as a hiring manager), you can get HR to open a
| job req at market rates. But it's a lot harder to get HR to
| allow you to give your current employees raises to get them
| at market rate.
|
| That investment is then lost because your employee is going
| to jump ship.
| convolvatron wrote:
| its fundamentally wrong to treat your employees learning
| process as a long term investment that you maintain
| ownership of. paying someone for two months to come up to
| speed is an investment. if they become productive in your
| environment, that investment is very quickly paid off. if
| they don't, then your at-risk investment didn't pay off.
| the return is the work that you got from them afterwards.
| you don't get to claim ownership of what's in their head.
|
| if someone gives you two years of good work and moves on
| because you aren't giving them what _they_ need, or
| because their father got ill, you still came out way
| ahead. you should be a human and accept that.
| scarface_74 wrote:
| They didn't though if I hired someone with no experience.
| They gave me six months of negative work as they took
| time away from the more experienced developers, did a
| year and a half of resume driven development (if they are
| smart) and then moved on.
|
| If I hired someone with the experience I was looking for,
| then they gave me 2 years of productive work.
|
| Why would I train someone new instead of just poaching
| your developer at market rates?
| convolvatron wrote:
| having a mix of experience levels is really healthy for
| an organization.
|
| streamlining onboarding and extracting the secret recipes
| from the seniors is really valuable
|
| there is no better understanding than that gained by
| teaching
|
| its clearly a higher risk investment, but often times
| that one super workhorse and brilliant jewel is the one
| that you helped grow
|
| but yeah, I've had employees that just sat around
| learning the latest fad and left. it happens. but if it
| happens a lot then maybe you should look at your hiring
| and management
|
| if I convince someone to come work for me, its not
| poaching. its life.
| scarface_74 wrote:
| > but if it happens a lot then maybe you should look at
| your hiring and management
|
| You as a hiring manager only have power of hiring and
| management. Your HR department at the behest of their
| management controls how much of a raise you can give your
| employees.
|
| You can give them the meaningless platitudes of "we are
| family" for only so long.
| spacemadness wrote:
| Great, you learned swift and can do a bunch of leetcode
| with it. It has nothing to do with actually managing a
| complicated iOS software project with the zany decisions
| that have gone into the framework design and tooling. Also
| good luck with the lazy documentation from Apple and the
| extremely contrived examples from educators. Can you learn
| all this in somewhat reasonable time and not code something
| horrific as a result? Absolutely, lots of people do. In a
| couple days? Good luck.
| fragmede wrote:
| Not to out myself and my level of skill, but it took me
| several days off and on just to wrap my head around the
| minutiae to get Apple signing for macOS and iOS to work
| just right. Learning the rest of the ecosystem came along
| eventually, but I think the real point is with a couple
| of days worth of intense study, I, and any other
| developer worth their salt, can bullshit your interview
| that requires a specific language, but no one requires a
| specific language for interviews anymore because everyone
| knows that!
| scarface_74 wrote:
| Do your interviewers not ask you to talk through your
| real world experience?
| sirsinsalot wrote:
| I always read "learn" in this context as "be familiar
| enough with the basic language properties that I can pick
| the rest up on the job, get things done, and not be too
| dangerous, or annoying in code review"
|
| and when I read it that way I agree. Some of the best devs
| I have hired had no prior experience in the stack.
|
| I'm not hiring for Python or C#, I am hiring a software
| engineer and the skills I value are all transferable.
| scarface_74 wrote:
| What about your tech leads who are looking for top of
| market salary? By top of market, I mean within your
| hiring pool not senior staff principal engineer level at
| a hedge fund
| sirsinsalot wrote:
| What about them? I'm looking for someone who has lead a
| team, solved that level of problems, has good soft skills
| and leadership.
|
| The language or stack is irrelevant.
|
| A good lead knows the right questions to ask, understands
| they don't have all the answers and plays to their own
| and the teams strength.
|
| Honestly the last thing I care about, especially here, is
| if they know the stack.
| scarface_74 wrote:
| And the other part of "leading the team" is being able to
| mentor juniors and help them technically.
|
| What good is a lead if they can't _answer_ technical
| questions and can't help other developers with technical
| guidance?
|
| What will it do for team morale on your iOS team when
| they know you bought in a "lead" who couldn't actually
| help them with the tough technical problems?
| sirsinsalot wrote:
| The team has a culture that knows full well someone is
| brought in for who they are ... what they know might need
| some catch up.
|
| I'm not saying this is right in all circumstances. I
| wouldn't do this with, for example, realtime embedded.
|
| For what I operate in, fairly bland web applications and
| stacks.
|
| It works fine, exceptions excepted.
| scarface_74 wrote:
| The team has a culture where the leads know less than
| they do and they are okay that?
| sirsinsalot wrote:
| You're generalising to win an argument.
|
| The lead may know less than them about some things.
| That's OK for us. But what's important is they know more
| than the team about other things.
|
| For example, we would rather have a lead that knows when
| to say "How do you know this is performant? Show me." and
| understands statistics and how to read perf dumps ...
| than how to profile whatever PHP script or whatever
| hands-on.
|
| Sorry that contradicts the black-and-white world view
| you're holding.
|
| I also strongly believe good technical leadership is
| about accepting you know _less_ than a team, and being
| able to ask the right technical questions to the right
| people who know more than you to ensure the best outcome.
|
| You can do that with a ground knowledge of the stack,
| picked up on the job, along with learning the
| application's code and architecture. What a good
| technical lead brings is a deep understanding of how to
| manage complex people and systems by having done so
| across different languages/stacks/architectures many
| times.
|
| Why would I turn away someone brilliant at that because
| they happen to know Java but not Android development?
| That's the easy bit to solve.
| bluefirebrand wrote:
| There is a persistent attitude that developers are
| interchangeable, that the tech matters less than the
| knowledge of how to apply tech to solve problems.
|
| I think that for architecting systems that's probably
| true, but as technology becomes more specialized and
| ecosystems become more complex it's harder for
| individuals to pick up and run with.
|
| Consider if someone has written lots of PHP and jQuery
|
| Now tell them to write a NodeJS server, React Frontend
| using NextJS.
|
| It's not just "Oh I need to pick up ExpressJS" anymore.
| It's a whole beast.
|
| Yeah the fundamentals stay the same. REST is still REST,
| SQL is still SQL, but actually writing lines of code is
| still a key activity of the job which people familiar
| with the technology will be better at.
|
| Personally I run into this any time I try and write C#.
| There's a massive undercurrent of stuff that I feel I
| don't understand about C# and I bounce off that ecosystem
| every time I try
| chaostheory wrote:
| The probability of success is largely is based on the available
| supply of developers vs the demand for them. Canada's market is
| ok, but not great which is probably why so many Canadian
| programmers immigrated south.
| m3kw9 wrote:
| Sure, but say you focused as a iOS developer you definitely
| cannot tell the recruiter doing Android are the same. They wont
| hire you if you say you have no Android experience, same thing
| shipscode wrote:
| Oh come on. Language specific knowledge is a game changer in
| programming speed & efficiency. Likewise the level of effort to
| understand modern React concepts has gone way up.
|
| Deep React specialization is a great way to get most tech jobs.
| Some interviewers literally just want to see if you can use
| hooks in a solution. Applying a learners mindset in the middle
| of an interview comes off as amateur.
|
| Learn the tech stack you'll use on the job. It'll get you tons
| of mid grade offers.
| littlecranky67 wrote:
| I agree, but unfortunately hiring managers, recruiter etc.
| don't think like this. If you happen to find a person that is
| tech-savy, they can asses your true skillsets and capabilitiy
| of solving problems. Hiring managers and recruiter match
| buzzwords in your CV.
|
| I recently got rejected for a project from an agency (am a
| contractor) because I did not have provable skills or knowledge
| in "CI/CD". Stupid me, made the mistake of putting extensive
| details about creating build and deployment pipelines with
| Travis, GitLab, GitHub Actions, Azure Pipelines for each past
| project going back to 2012, but did not specify the right
| buzzword "CI/CD" for the recruiter...
| tkiolp4 wrote:
| > Hiring managers and recruiter match buzzwords in your CV
|
| So? You put those buzzwords in your CV. What's difficult
| about that? You feel like being dishonest? If so, again, just
| explain in the next stage of the interview (with real
| engineers) that you do have real world experience in similar
| but not exactly the same technologies listed in your CV. You
| just did so to pass through HR. Not a big deal (as long as
| you're confident and believe you can learn technologies
| easily)
| dwattttt wrote:
| I would assume the problem comes up the next time his CV
| gets rejected for not having "Continuous Integration" on
| it.
| littlecranky67 wrote:
| I have made some "SEO" optimizations as some agencies use
| text-based CV matching. Some are upfront with it, with
| others I observe it because I get a lot of Java project
| requests (I never coded Java, but as a FE dev, have lots
| of JavaScript in my CV text).
|
| I'm gladly looking forward 3-5 years, when AI will handle
| this CV analysis and match a project description from a
| company to a proper candidate. Basic GPT can tell right
| now if CI/CD matches "Azure Pipelines". Then we can fire
| the lower 50-80% of unskilled recruiters that do not
| provide any value to the market right now.
| manfre wrote:
| Blatantly lying on the CV is an instant rejection at the
| places I've worked. It's one thing to stretch your
| contributions on past projects, but to outright lie about
| the technologies used is a huge red flag. It's easy to
| teach a person the company tech stack, but I'm not sure
| it's possible (or worthwhile) to try and teach some one to
| be honest.
| throwaway80492 wrote:
| You don't need to make up projects you worked on with the
| technology, you can just add it to your list of skills.
| [deleted]
| nicechianti wrote:
| [dead]
| demarq wrote:
| Absolutely, I feel I could be employed tomorrow in a language
| or stack that I haven't even heard of and start being
| productive by the end of the week!
|
| I seriously think you owe it to yourself to practice learning
| something new every week. It often takes one afternoon to get a
| "taste" and small side project to get beyond that.
|
| Every programming language. Is literally just a template for
| instructions, and every technology just an abstraction over
| some crud somewhere.
| scarface_74 wrote:
| So could you be a productive iOS/Android developer in a week
| with no previous experience?
| carstenhag wrote:
| During Covid I had a colleague, mainly web/js/angular dev,
| join the Android team. It was a new project to him, so he
| had 0 idea of the business problems, flows, etc.
|
| In a timeframe of 1-2 weeks he was making PRs. It needed
| quite some reviews from me, usually because he didn't know
| about "how it should behave" on Android, or what the best
| practices were in terms of using Kotlin or following our
| architecture. After 2-3 months he was as proficient coding
| as I basically (but we all know, coding is 50%).
| ChrisMarshallNY wrote:
| My experience is that learning a new language -at a basic
| level- can be done quickly (like a couple of _weeks_ , not
| days).
|
| But learning it at an advanced level, is a whole different
| matter.
|
| I've been writing Swift since, literally, a few hours after
| it was announced, in 2014. I write Swift every day (like,
| seven days a week), and have been, since that first day.
|
| I feel as if I have only had "mastery" of the language for
| the last couple of years. There's still plenty for me to
| learn, and they keep adding more stuff.
|
| But the language isn't the big deal. The deal for me, is
| the fundamental SDK/API/Framework. That has been an ongoing
| project since 1986. As soon as I learn one API, they change
| it up (and sometimes, the entire OS).
|
| During that time, I've written in 68K ASM, Pascal, Object
| Pascal, C, C+- (the weird THINK C variant), C++. ObjC, and
| Swift. I've worked with MacApp, OpenDoc(!), Think Libraries
| (Pascal and C), PowerPlant, and Cocoa (and its expression
| in iOS, WatchOS, AppKit, and TVOS).
|
| I've always considered hiring folks to be an investment. As
| a manager, I always looked for folks that had the
| fundamentals down, and assumed that I could train them into
| what we need. Most of the work we did, was way beyond
| anything you'd find in textbooks. I was under no illusion
| that I could hire folks that would be able to start on it
| right away.
|
| That was why my team was always one that I wanted to keep
| whole and cohesive, over many years. I can't even imagine
| today's 18-month engineer lifetime. I kept my engineers for
| many years, and that wasn't easy.
| scarface_74 wrote:
| I just said something similar in another reply
|
| https://news.ycombinator.com/item?id=37099395
|
| But as far as employees being an "investment" let's look
| at things from the employee side.
|
| For context: these numbers I'm about to cite are correct
| to within a first approximation on the "enterprise dev"
| side where most of the 2.7 million developers work and in
| most major cities in the US that are not on the west
| coast or in NYC
|
| Let's say you hire a Junior/mid level developer and offer
| them $100K which is fair knowing they are going to do
| "negative work" for the first few months as an
| investment. Two years later, they have experience and now
| can apply for companies that are looking for experienced
| iOS developers. Their market rate shot up to $135k.
|
| Because of salary compression and inversion, you're not
| going to be able to pay them 35% more in two years
| because of HR policies. Yet you can bring in new
| experienced iOS developers at market rate. If he's smart
| your employee is going to jump ship, wasting a lot of
| your "investment".
|
| As a hiring manager, knowing that statistically I'm only
| going to get two years out of an employee, why wouldn't I
| just poach the person you just trained and pay them the
| $135K you couldn't?
|
| Another scenario is that now that developer has been
| reading r/cscareerquestions and decided to "grind
| leetcode and work for a FAANG". Now he's looking at
| $200K+ as a mid level developer adding yet more bloat to
| the Facebook app.
|
| You couldn't compete with that if you wanted to.
| ChrisMarshallNY wrote:
| _> You couldn't compete with that if you wanted to._
|
| Unfortunately, I was forced to.
|
| My company was one that paid "competitive" salaries.
|
| That's code for "below average."
|
| This filtered out 90% of applicants, right there.
|
| So the ones that applied, did so, out of genuine interest
| in the company and the technology (we were a "marquee"
| company).
|
| I was forced to look for "diamonds in the rough," and
| became fairly good at evaluating whether or not someone
| could handle the tech and the learning.
|
| I kept them, by being a really good manager. I treated
| them with respect, didn't burn them out, and shielded
| them from a lot of the corporate BS. They appreciated
| that, and stayed.
|
| When our team was finally rolled up, after just short of
| 27 years, the employee with the _least_ tenure had ten
| years. These were seasoned C++ image processing
| professionals.
| scarface_74 wrote:
| Most of those 2.7 million developers I spoke about will
| never make low end FAANG money and that's perfectly fine.
|
| I had my first house built in the burbs of Atlanta in
| 2002 making $60k (2500 square feet) and my second house
| built in the northern burbs (3200 square feet) making
| $135K in 2016 [1].
|
| I only fell into a remote role at BigTech in 2020 at 46
| years old after declining a chance to interview for a
| software development position and being offered a chance
| to interview for a position in the Professional Services
| division doing cloud consulting [2].
|
| I was perfectly happy living the upper middle class
| lifestyle in 2020 making _only_ $150k with my wife making
| $20K working part time.
|
| In fact, I'm excited to get back to working at small
| companies on the high end of enterprise dev comp because
| my department became too "Amazonian" this year and my
| shit tolerance level is extremely low.
|
| [1] 2002-2012 was a decade of bad life and career
| decisions that I didn't recover from completely until
| 2018.
|
| [2] I did my bid, saved money and paid off debt and our
| bills are actually $1000+ lower per month now than they
| were when I started.
| sanderjd wrote:
| > _you're not going to be able to pay them 35% more in
| two years because of HR policies_
|
| Seems like you just identified the issue. You're right,
| of course, that the "invest in employees" approach
| doesn't work at companies that have a corporate policy to
| not invest in employees.
|
| Investing in employees is a top-down strategy, not a
| bottom-up one. If there isn't support for it at the top,
| then you're right, it won't work.
| scarface_74 wrote:
| And it's not just smaller companies - my experience of
| n=1 at BigTech companies is that to get ahead, it's best
| to "boomerang".
|
| Besides even at BigTech, it's much easier to get a higher
| level position at another comparable company than go
| through the promotion process.
| demarq wrote:
| Clearly you read my response and felt some doubt
| doix wrote:
| Not iOS, but I'm fairly confident I could be productive in
| an Android codebase in a week.
|
| The only reason I don't think I could do iOS is because I'd
| need to use a OSX, and I think it would take me longer to
| become productive in OSX.
|
| It also depends on what you mean by "productive", would I
| want to lead a team to create a new app from scratch?
| Probably not. Go into an existing app and start fixing bugs
| and creating new features? Sure.
|
| I did a trial week before joining my current gig full-time.
| I had pretty much no typescript experience, came into a
| large TS react/nodejs app and had a pull request on the 2nd
| day for a new feature.
|
| I wouldn't try to work on a Haskell or OCaml codebase, they
| are different enough that I'm not confident I could pick
| them up quickly. But most mainstream languages are similar
| enough that it really shouldn't be that hard to pick them
| up and be productive.
| pjmlp wrote:
| As someone that has done on and off Android programming
| as hobby since NDK was introduced in Android 2.2, and
| regularly follows ADB Podcast, I doubt it.
|
| Every Android version is basically a reboot in many parts
| of the framework, the device fragmentation is hardly any
| better than J2ME days, several features are only
| documented via samples or Google IO talks, Gradle plugins
| require rewrites between upgrades, and each Android
| Studio release is a box of surprises what quirks it has.
| doix wrote:
| I think it really depends on what your definition of
| "productive" is.
|
| Let me try and quantify it. I looked through my apps that
| I installed from F-Droid, then looked at their GitHub
| issues and picked one [0]. I bet I could implement that
| in less than a week with 0 Android development
| experience.
|
| > Every Android version is basically a reboot in many
| parts of the framework, the device fragmentation is
| hardly any better than J2ME days, several features are
| only documented via samples or Google IO talks, Gradle
| plugins require rewrites between upgrades, and each
| Android Studio release is a box of surprises what quirks
| it has.
|
| Does any of that really matter if you're hiring someone
| into an existing org? Doesn't Android have amazing
| backwards compatibility? I'm sure I have some dice app
| from 2012 that still runs. The company is probably
| targeting some version of Android and isn't changing to
| the latest one every time a new version is released.
|
| [0] https://github.com/tasks/tasks/issues/2435
| pjmlp wrote:
| Already with that response you have proved not to
| understand the Android ecosystem.
|
| No it doesn't have an amazing backwards compatibility,
| specially depending on what is cool in one Google IO, and
| already legacy in the new one, without replacement, like
| e.g. Tango, Sceneform, Fragments.
|
| There are policy rules how old an Android app is allowed
| to be in Play Store.
| scarface_74 wrote:
| Are you trying to find a job as a journeyman developer
| (nothing wrong with that) or are you trying to lead a
| team or be a senior where you are expected to be
| productive from day one and maybe mentor developers and
| be more strategic?
|
| Would you hire me someone who not only doesn't know
| anything about Android development but doesn't even
| follow the ecosystem and the current trends?
| doix wrote:
| If I was looking for a job, I'd say that I have no
| professional Android experience but I'm confident that I
| could hit the ground running at a senior level and mentor
| juniors for Android.
|
| I mean, in this hypothetical scenario, I've decided that
| I want a job as an Android developer. So I would take my
| own time to learn Android whilst interviewing. By the
| time I got a job, I'm confident I'd hit the ground
| running.
|
| I wouldn't try to apply for a job to lead an Android team
| without at least working in one first. I'm sure some
| people do, but I'm not that confident ;).
|
| > Would you hire me someone who not only doesn't know
| anything about Android development but doesn't even
| follow the ecosystem and the current trends?
|
| I wouldn't hire you because you don't sound like you
| think you could do it.
|
| If I was interviewing someone and they said something
| like: "I have no experience with Android, but I know
| Kotlin and I'm confident I could pick it up. I did a
| similar thing with x,y,z" then sure.
| scarface_74 wrote:
| > If I was looking for a job, I'd say that I have no
| professional Android experience but I'm confident that I
| could hit the ground running at a senior level and mentor
| juniors for Android
|
| I can say I'm a little teapot. But without demonstrated
| experience, why would you hire me over one of the million
| developers with experience and have at least shipped an
| app?
|
| > If I was interviewing someone and they said something
| like: "I have no experience with Android, but I know
| Kotlin and I'm confident I could pick it up. I did a
| similar thing with x,y,z" then sure.
|
| Yes because "positive thoughts" without experience means
| you can be effective
| lawgimenez wrote:
| You could be productive in a not-so complicated Android
| codebase in a week.
| scarface_74 wrote:
| > It also depends on what you mean by "productive", would
| I want to lead a team to create a new app from scratch?
| Probably not. Go into an existing app and start fixing
| bugs and creating new features? Sure.
|
| As someone with experience, are you actually applying for
| jobs where you would just be pulling stories off the
| board doing "feature work"?
|
| And let's take your example. What's the chance of me
| being productively able to create a feature in a
| Typescript/React app seeing that I haven't done front end
| work since 2015 and even then it was server side
| rendering with ASP.Net MVC and bootstrap.
| doix wrote:
| > As someone with experience, are you actually applying
| for jobs where you would just be pulling stories off the
| board doing "feature work"?
|
| I dislike the whole Agile stories/points/sprints thing,
| so probably not those jobs. But if you're asking if I'm
| applying to jobs where I write code, then yep! I love
| writing code and building things.
|
| > And let's take your example. What's the chance of me
| being productively able to create a feature in a
| Typescript/React app seeing that I haven't done front end
| work since 2015 and even then it was server side
| rendering with ASP.Net MVC and bootstrap.
|
| I don't know what other experience you have, but
| probably. At my previous job, I got a bunch of silicon
| production test engineers, that spend most of their day
| writing VBA, "productive" in React within a week.
|
| I setup the base of the application and sorted out the
| routing, state management and abstractions for dealing
| with our data. But they were writing views and features
| after a week pretty well. I had to point out some
| performance issues in code reviews but that was mainly
| it.
| scarface_74 wrote:
| > I don't know what other experience you have, but
| probably. At my previous job, I got a bunch of silicon
| production test engineers, that spend most of their day
| writing VBA, "productive" in React within a week.
|
| It depends on your definition of "production". I got a
| couple of developers who had spent a decade+ supporting a
| PowerBuilder app and writing stored procedures.
|
| Their C# code was a horrible mess.
|
| My former CTO (55 years old and his idea of research was
| coding POCs - smart guy), said he wouldn't hire "old
| people" any more to do front end work because their front
| end designs weren't as good as people who started out
| doing front end work and have been doing it for years.
|
| All of his back end developers/architects were older.
| criddell wrote:
| If your resume shows you job hop regularly, then I'm
| going to want you to be productive very quickly.
|
| If your resume gives me the impression that you are
| likely to still be working here for enough years, then
| I'll give you time to get up to speed. If you were a
| really great front end developer in 2015, I suspect you
| can figure out Typescript/React.
| scarface_74 wrote:
| I sucked back then too at front end development :).
|
| I knew enough to copy/paste/pattern match an existing
| page and make the necessary change. But you start me with
| a blank slate and give me a mock-up, I would end up using
| tables and frames like it's 1999.
| sanderjd wrote:
| I think all the "a few days" and "a week" stuff that
| generates these kinds of debate is a total red herring.
| Yes, it's hyperbole. But it's also true that people with
| experience successfully applying a bunch of different
| technologies are great hires onto a team using a technology
| they don't yet know. It's just a process measured in months
| rather than days. But if you need to hire someone because
| you have something that needs to get done _this week_ ,
| then you've already screwed up.
| scarface_74 wrote:
| And then it gets back to my other argument. Are you going
| to pay someone the same that doesn't fit your technical
| needs as you would someone who does? If you pay them
| less, are your raise policies going to allow you to get
| them to market value once they do have the skillset or
| are they going to end up job hopping?
| em-bee wrote:
| i did this with php and python in two different jobs. i had
| very little php experience and never worked with any php
| framework before, but the team i was in consisted mostly of
| junior developers, so i ended up writing better code than
| any of them except the team lead. laravel was also very
| easy to understand.
|
| at another job i started with only some rudimentary python
| experience. they had an inhouse framework, so being deeply
| familiar with python frameworks and libraries would not
| have even helped me. they knew i had experience in other
| languages and it worked out pretty well.
|
| most recently i had an interview where it was very clear
| that i haven't done any work on go before. at least during
| the interview that was not an issue. after the interview
| they wanted me to send them code examples of previous work.
| i didn't get the job, but i don't think lack of go
| experience was the problem.
| o_m wrote:
| Everyone goes through this once. A lot of your knowledge
| suddenly aren't needed anymore because of external factors. For
| me it was Flash. I've seen colleges being afraid of learning
| new technology after being burned once. Now my skills are
| learning new skills.
| coffeebeqn wrote:
| I also did Flash for a long time. 10 years later it's not
| like that experience is mostly lost. When I write typescript
| I get a dejavu to AS3. Plus knowledge of VMs, garbage
| collection and all the other programming concepts translates
| to most languages
| pshc wrote:
| And yet the company where I work can't find enough Flutter
| talent.
| Gud wrote:
| Learn multiple stacks, all the way down from JavaScript down to
| the circuit breakers. It will make you an overall better
| technician.
| zigzag312 wrote:
| Dart is my biggest issue with Flutter. It's still missing
| ergonomic features like data classes and lower level things like
| unsigned 64-bit integers. There is no runtime reflection, which I
| think is a good thing for end user apps, but it's also missing
| static metaprogramming. And code generation is not integrated
| into a complier. Since, there is no runtime reflection,
| metaprogramming & integrated code-gen are sorely needed.
|
| Flutter itself is slowly reaching maturity on mobile and is
| already quite good, if you can live with a few compromises.
| tjpnz wrote:
| I don't understand why this language exists. It just feels like
| a promotion vehicle by someone at Google who had enough clout
| to then get it shoehorned in to Flutter. If they had gone with
| JavaScript they could've made the switch to TypeScript later
| on. I realise this is being said with the benefit of hindsight
| but Flutter would be in a far better place today I suspect.
| zigzag312 wrote:
| It compiles AOT to native code and supports tree shaking. It
| also has JIT mode with hot reloading/restarting. It has sound
| null safety and is statically typed.
|
| It's not a bad language. It just lacks some needed features.
| They'll probably get implemented over a span of a few years.
|
| Ecosystem is small, but at least there's FFI interop.
|
| It also has some baggage from it's early days when it was
| meant as JavaScript replacement. Since we now have WASM (and
| soon WASM-GC) I think it would be best, if compilation to JS
| would be dropped, so more low level features can be
| implemented.
| bsder wrote:
| > Ecosystem is small, but at least there's FFI interop.
|
| FFI continues to be a disaster (to be fair, this is not
| unique to Dart/Flutter).
|
| The biggest problem with any cross-platform system on
| mobile is always getting performance out of the native
| interop. It's often easier to ship a computation to a
| server on the web and ship teh result back rather than
| execute it natively on another thread on the bloody phone.
| It's infuriating. We have a zillion cores, and every single
| phone OS tries it's damnedest to prevent you from using
| them because, heaven forbid, you might actually use up some
| of the battery. The Horror! The Horror!
|
| The cross-platform systems for phones are really good at
| doing puzzle games or CRUD. Step outside of that and you
| enter "Here Be Dragons" territory very quickly.
| lockhouse wrote:
| The biggest issue with Dart IMHO is not so much the language
| itself, but the ecosystem.
|
| For the record, Swift suffers from this problem as well. Kotlin
| only avoids it because of Java interop, although even this
| becomes complicated because of Google's half-assed
| implementation of Java on Android.
|
| I think this is one of the biggest reasons to reach for
| JavaScript instead. It has a lot of flaws, but it has a huge
| ecosystem that works nearly everywhere.
| mhoad wrote:
| Also worth keeping in mind some of the cross language
| extension points in Dart.
|
| Compiles to Wasm and can work with other compile to wasm
| languages.
|
| Has quite good support for C, C++, JS, Swift, Java and Rust
| interop where they have tools that will write all of the glue
| code for you.
|
| Also has decent gRPC support meaning you can use any other
| language that also fits that category.
|
| It's a small Dart ecosystem but it's fundamentals are great
| and it's extension points are much better than you will
| likely find elsewhere.
| sgt wrote:
| It may lack things - true. But it's a pleasure to work in. I
| code quite a bit of Dart these days and the language never
| really holds you back. It flows quite easily. I use some code
| generation by having a build runner in the background.
| ptx wrote:
| Isn't the need for code generation indicative of the language
| holding you back?
| fragmede wrote:
| Isn't the need to drive a car indicative of living in the
| suburbs "holding you back"?
|
| Code generation (and modification) tools are there to help
| you. You can choose to walk everywhere but once the car
| becomes ubiquitous, why walk?
| skybrian wrote:
| I'm wondering how you deal with the pile of constructor calls
| needed to construct views in Flutter? Deeply nested
| expressions remind me of Lisp.
|
| JSX is conceptually the same but somehow seems easier to
| read. Maybe it's the close tags?
| pzo wrote:
| I'm wondering about this as well, actually this weekend
| been doing Flutter 'Test Drive' of their tutorial and
| experience was not that great. I'm still forcing my brain
| to parse this complex structure with very simple widget
| structure from their samples.
|
| Its Flutter:
|
| ``` class MyHomePage extends StatelessWidget { @override
| Widget build(BuildContext context) { var appState =
| context.watch<MyAppState>(); var pair = appState.current;
| return Scaffold( body: Center( child:
| Column( mainAxisAlignment:
| MainAxisAlignment.center, children: [
| BigCard(pair: pair), SizedBox(height: 10),
| ElevatedButton( onPressed: () =>
| appState.getNext(), child: Text('Next'),
| ), ], ), ), );
| }
|
| } ```
|
| versus SwiftUI:
|
| ``` struct MyHomePage: View { @StateObject private var
| appState = MyAppState() var body: some
| View { VStack { BigCard(pair:
| appState.current) .padding(.bottom, 10)
| Button("Next") { appState.getNext()
| } .padding()
| .background(Color.blue)
| .foregroundColor(.white) .cornerRadius(8)
| } .frame(maxWidth: .infinity, maxHeight:
| .infinity) .padding() }
|
| } ```
|
| versus React Native:
|
| ``` const MyHomePage = () => { const [pair, setPair] =
| useState(/* initial pair _/ ); const
| getNext = () => { // Logic to get the next pair
| // You'll need to implement this function };
| return ( <View style={{ flex: 1, justifyContent:
| 'center', alignItems: 'center' }}> {/* Replace
| BigCard with appropriate React Native components */}
| <BigCard pair={pair} /> <View style={{
| marginVertical: 10 }}> <Button title="Next"
| onPress={getNext} /> </View> </View>
| );
|
| }; ```_
| sgt wrote:
| With the help of the IDE (Android Studio is what I use
| for Flutter development) it is actually pretty OK. It's
| easy to use keyboard shortcuts to see / explore function
| parameters and so on. I also indent regularly so I can
| easily undo if something is clearly out of whack.
|
| That said, SwiftUI is clearly the supreme leader in this
| declarative approach.
| IshKebab wrote:
| I definitely like it more than Python () and probably more
| than Typescript (the best non-niche scripting language
| available today). But there are some quite glaring holes and
| weirdnesses. In particular:
|
| * The support for tagged unions (Rust style enums) is pretty
| nonexistent.
|
| * `int` is 64-bit but not on the web. I totally get why they
| did that and hopefully they can fix it with wasm at some
| point but it's very annoying for interop with languages that
| have the full range of int types.
|
| * As many many people have said, it's quite verbose to make
| dataclass style types.
|
| But it still deserves to be way more popular than it is. It's
| basically what JavaScript would be if it was designed by
| someone with taste.
| mhoad wrote:
| Dart is actually hands down one of the most productive
| languages out there right now in terms of ergonomics. It's
| still a tiny language ecosystem at the moment but there are
| already a lot of happy paths that will get you to an incredibly
| high level of quality with very little work.
| keyle wrote:
| The mistake is believing that you can ever stop learning. 20
| years I'm doing this professionally, 20 years I'm learning.
| 0x445442 wrote:
| The mistake OP is referring to is spending too much time
| learning the wrong thing which is easy to do in the Cargo Cult
| that is modern Software Development.
| Barrin92 wrote:
| There isn't really anything to Flutter that stands out as so
| unique it wouldn't translate. Dart is not opinionated, sort
| of as if you threw every Algol family language into a
| blender, and the component/reactive style is just like any
| other modern framework.
|
| it's arguably one of the strengths of Flutter, regardless of
| where you come from there's nothing esoteric to it, so it's
| not like you learn the wrong thing. Learning Programming
| isn't about memorizing APIs or libraries, it's about
| concepts.
|
| If you've done Flutter for several years your experience
| translates just fine to say React native, you just gotta
| learn Javascript
| the_only_law wrote:
| > Learning Programming isn't about memorizing APIs or
| libraries
|
| Maybe not, but interviewing often is.
| edem wrote:
| I wonder why anyone thinks that learning a library that's written
| in a dead language is a good idea.
| thowrasdf23 wrote:
| Right? The community has been quite honest on its wants/desires
| for dart with little progress in 10+ years.
|
| Thankfully Skia+React metaphors are being actively developed in
| more mature and healthy language ecosystems.
| cageface wrote:
| Dart has been evolving rapidly. It remains to be seen if Google
| will stay committed to it but you can hardly call it dead
| today.
|
| https://medium.com/dartlang/announcing-dart-3-53f065a10635
| nprateem wrote:
| Well that's why you should always keep tabs on what's in demand
| and switch stacks if necessary.
| nicechianti wrote:
| [dead]
| bibabaloo wrote:
| Are mobile stacks so specialised that it's difficult to switch
| between them?
|
| Out of curiosity, how long would it take a flutter dev to become
| productive in some other stack?
| ransom1538 wrote:
| Android to iOS is like React to Cobol. If you were a plumber
| using android you might know more about Android than a iOS
| developer.
| saagarjha wrote:
| That's not really true, especially these days.
| wruza wrote:
| Maybe I'm special (and it was 6-10 years ago), but after
| becoming proficient and pretty deep in osx/ios development I
| took an android project and it wasn't obvious AT ALL. If it
| were a new job and not a project pushed to me at the same
| position I had, pretty sure it would be difficult to keep it.
|
| Of course that depends on average expectations. Some people may
| learn and do and relax and still outperform if these are low.
| lockhouse wrote:
| Pre-Kotlin and Jetpack Android were very tedious. Even simple
| things like handing button click events and changing the text
| of a label at runtime were not obvious or simple, and you had
| to worry about backwards compatibility libraries to a larger
| extent than any other platform.
|
| From what I understand modern Android has become much more
| pleasant to develop for.
| nikanj wrote:
| They are not, but HR / hiring managers are keyword based and
| won't entertain the idea of hiring someone with the wrong
| experience. See also: https://versastudio.com/blog/if-
| carpenters-were-hired-like-p...
| FirmwareBurner wrote:
| It's the same in every other stack/programing
| language/technology when you go through the default channels
| of HR/recruiters.
|
| It's not that competent engineers can't become quickly
| productive in a new/stack language, it's that business don't
| understand that and/or don't want to risk it with switchers,
| and so prioritize hiring only those already experienced in
| that stack, creating employment bottlenecks where there's
| simultaneously a shortage and enough people willing to
| switch.
|
| Same when talking to recruiters: "oh you only have experience
| in X (which is similar to Y), sorry but the hiring manager
| said (s)he wants someone with at least 3 years experience in
| Y".
|
| Your only escape is having a solid network so you can push
| your resume directly to hiring managers who understand
| technology and your adaptability, and this way bypass the
| hiring shit-show.
| tkiolp4 wrote:
| C'mon. HR doesn't have a clue of what they're asking for.
| Anyone with a little of experience in the IT industry knows
| that:
|
| 1. You'll need to put whatever is needed in your CV to pass
| through HR
|
| 2. You can explain yourself to the actual tech people who
| interview you in the next stage. For example, if you know
| Ruby and RoR, but there's an excellent opportunity to work in
| a cool product for a company that does Python and Django,
| well, apply! Obviously you'll spend a couple of days with
| Python and Django and notice the similarities and differences
| with Ruby and RoR. You will add to your CV the keywords
| Python and Django and you'll get pass HR (if HR asks you
| about your experience with such tech stack you can always say
| that, indeed, I have plenty of experience with MVC web
| frameworks and blah blah blah). When you pass to the next
| stage of the interview and get to talk to real engineers,
| then you can explain that you have many years of experience
| working with RoR and that learning Django will be a pleasure.
| pragmatic wrote:
| This looks shady as hell though.
|
| What else is the candidate lying about?
| lawgimenez wrote:
| It's not difficult to switch between mobile stacks. It's just
| companies make you believe that it is, to promote a "one
| codebase efficiency" mantra. For me, to be efficient with
| cross-platform solutions, you need a deeper knowledge with the
| underlying native frameworks.
|
| I started with Blackberry SDK plugin with Eclipse, then to
| Android, Windows Mobile (UWP) and iOS in that order. Majority
| of those projects I have worked are written in native. It's not
| that hard to switch since you can find familiar concepts in
| each frameworks and stacks.
|
| Of course, I have been also part with cross-platforms solutions
| but it just cannot cope up with the yearly updates and
| deprecation especially if your apps are critical.
| kebsup wrote:
| I have worked as an Android developer for about two years, then
| had to do project in Flutter. Learnt it over a weekend and
| getting the UI right took me less time then if I were to do it in
| native Android (before compose).
| PedroBatista wrote:
| Obviously I feel the pain of the OP but I think he blames the
| wrong thing.
|
| Flutter is a ( viable ) technology that's being growing for the
| last few years. A very significant percentage of new mobile apps
| are programmed with it these days.
|
| It seems his problems have everything to do with the local job
| market and not the technology. With the added bonus that you can
| be a single man operation and release your own apps for both iOS,
| Android and the desktops.
|
| I'm not a fanboy and even less of Google but Flutter really
| offers the ability to make lemonade if the job market gives you
| lemons.
| scarface_74 wrote:
| As long as you don't include in that number - most apps built
| by Google.
| izacus wrote:
| Google can hire separate developers for each platform and pay
| them, investing millions of dollars into their mobile app.
|
| Can you afford to spend money developing same thing twice
| forever?
| scarface_74 wrote:
| I worked for a midsized health care company a few years ago
| (around 300 people including customer service). They had
| three mobile developers who supported the iOS app and the
| Android app.
| MrDresden wrote:
| Similarly I worked at a 1000 person financial institution
| for years and represented 50% of the Android mobile
| developer division there.
|
| Similarly there were 3 iOS devs.
|
| The feature set was enormous but we did fine.
| lockhouse wrote:
| Is that actually true though? Most major Google apps predate
| Flutter. I was under the impression that a lot of their apps
| are either custom web view wrappers or native with shared C++
| code for business logic.
|
| Stadia and Google Pay are the only consumer facing Google
| apps I'm aware of that are made with Flutter.
| mhoad wrote:
| Ads is all flutter on mobile and Dart on the web.
|
| Fuchsia is an OS that is also using Flutter for their
| entire UI layer.
|
| I think there's more a case of there isn't an argument for
| doing but rewrites just because Flutter is now a thing but
| in a greenfield scenario it would be a serious contender
| scarface_74 wrote:
| So you can invest your time I learning Fuschsia and
| Flutter. What could possibly go wrong?
|
| But that's not demonstrating the promise of a great cross
| platform experience.
| mhoad wrote:
| You made an argument saying that even Google won't use it
| for cross platform.
|
| I have some context as to why it's both a wrong and
| misleading statement.
|
| When it came to the biggest money maker of the entire
| business this is what they picked. When it came to a new
| greenfield project for an entire OS... this is what they
| picked for the UI.
|
| The statements you made about "the lessons they learned"
| is just some stuff you made up and isn't actually
| supported by facts.
| scarface_74 wrote:
| Ads is their biggest money maker. But it doesn't have to
| be usable compared to their consumer facing software.
| Even though it's used by ad buyers, it's more akin to
| internal tools that at most large companies don't get
| near the care of consumer facing tools (looking at you
| Amazon where the internal review process website broke
| last April).
| nicpottier wrote:
| I used to feel the same way but Flutter is hardly a new
| technology anymore yet still seems to be used very
| little. I've dabbled with it on hobby projects here and
| there and it seems "fine" but not sure I'd bet the farm
| on it.
| mdhb wrote:
| It's been a thing outside the context of iOS and android
| for maybe less than 2 years? It's hardly in the "it had
| its chance but failed" category.
| UltimateEdge wrote:
| Family Link [1] also looks like it's made with Flutter (I
| checked the DevTools in the browser).
|
| [1]: https://familylink.google.com
| scarface_74 wrote:
| Most of their apps are native. They learned the same thing
| that Facebook learned years ago. Cross platform GUI apps
| have always sucked - or at least since Java tried to
| popularize them in the late 90s.
| candiddevmike wrote:
| Flutter is pretty old if you think about it and still has too
| many rough edges and not a lot of big name adoption. The
| project is too ambitious, and the features seem more like PoCs
| than something you can rely on in production, IMO.
| bmitc wrote:
| This is what has prevented me from diving into Flutter for a
| personal project. Although it supports desktop and web, it is
| first and foremost a tool for building mobile applications.
| For desktop, too much of the API is built around the
| assumption that you are on a mobile device with a single
| window and a finger as the pointing device. Feature requests
| for desktop, such as proper support for mouse-based drag and
| drop and multiple windows, are either ignored or take forever
| to develop.
|
| Any platform that tries to support web, mobile, and desktop
| all at once, of which there are many, are destined to this
| fate of being spread too broadly and thinly.
| pohuing wrote:
| What do you mean by mouse based drag and drop? As far as I
| can tell Draggable and DragTarget work fine on windows and
| macos at least.
| bmitc wrote:
| The API assumes you are on a relatively small screen and
| using a finger to drag and drop. Thus, it doesn't provide
| functionality that you would expect if you were on a
| desktop or laptop monitor with more space and using a
| mouse and keyboard where there is a wider variety of
| things that you would like to happen with a drag and drop
| interface. The API is primarily assuming you're taking a
| widget and dragging it with a finger to somewhere just an
| inch or two away on a phone or tablet screen. Yes, drag
| and drop "works" on desktop as it is, but the API is not
| well-designed for desktop-based usage. A lot of ad-hoc
| type of behavior using global state has to be used.
| cageface wrote:
| I recently started building my first Flutter app and overall I've
| found it to be surprisingly pleasant. I've had no trouble finding
| good packages for features I need and even though I'm learning
| the language and APIs as I go I've made rapid progress.
|
| I've done many apps in Electron, React Native & native iOS and at
| least on a technological level I prefer the devx of Flutter.
| ThinkBeat wrote:
| Id say that its the wrong way to think about it. As long as you
| are working in the software engineering field change is a near
| certainty.
|
| You will not hit on a technology / framework / product that will
| keep you going for 40 years. [1]
|
| Working with Flutter you have learned a lot that is valuable
| going forward. Learning to adopt new tools is part of the job.
| nailer wrote:
| Time is a limited resource. Choosing to invest in the right
| technologies at the right time is the important part of a
| career in tech.
| itpragmatik wrote:
| I started doing Java (and sql/Oracle) development in late 1990s
| and even today I am deploying REST APIs written in Java, MySQL
| to AWS. So, yeah, it has been about 23+ years so far!
| mgkimsal wrote:
| C, Java, PHP, SQL, Python, Ruby have kept a lot of people going
| for more than 20 years, and will likely continue to be relevant
| in some capacity for at least another decade (if only
| maintenance, not even including new projects started with those
| tech stacks). I've been working with PHP and some variation of
| SQL for the past 28 years, and it will go on for a while
| longer. I've also worked in the Java world, and have done a
| smattering of other tech along the way as well.
|
| Not everything lasts 40 years, but many things last more than
| 3-5.
| ThinkBeat wrote:
| true.
|
| But Java 2023 is quite different from Java1. The tools you
| use now are different (unless vi) You have had to learn a lot
| of new technologies, frameworks, syntax to keep up.
|
| PHP has also gone through so many changes that it is near a
| different beast these days than when it first appeared.
|
| So if you had relied on your skills you learn as PHP 1.0 and
| Java 1.0 today you would not be very productive.
| mgkimsal wrote:
| Much/most of Java 1 will still compile, at least (FWIR).
| The evolutionary progress of java 1... to whatever it is
| now (current one I'm using is 17, but I know there's more
| past that) has largely been adding of new
| libraries/methods, etc, and the majority of your java
| skills from 10-15 years ago are still valid (although might
| not be the most efficient any more).
|
| I've watched people go through
| Flash/Silverlight/Actionscript, multiple MS tech stacks,
| and many many other promising tech. Many have had to large
| scale reinventions of themselves and cram 'new to them'
| tech as the old stuff has gone away.
|
| It's definitely easier to evolve with a tech stack over the
| years. You get a better sense of idioms, best practices,
| etc. that is hard to replicate overnight.
|
| And yeah, some tooling is different over the years too, but
| yeah, vi still works :)
|
| Shiny new 'hey look at this' ideas can pop up in newish
| langs, but diving deep in to them isn't often the best path
| for most people. The truly good and impactful ideas tend to
| get recognized and adopted in the more mainstream
| ecosystems over time, giving you most of the benefits
| without needing to throw out much of your experience.
| faitswulff wrote:
| The job market is pretty rough regardless of tech stack right
| now.
| dcchambers wrote:
| Why are people so obsessed with hyper specializing in software
| development? Labeling yourself a react dev or rails dev or
| flutter dev or whatever is only going to limit your growth and
| options. Your career will outlive many tech stacks. Tech changes
| quickly. Never stop learning.
| pragmatic wrote:
| Because recruiters.
|
| The person with one year of experience selling cellphones who
| now does the phone screen needs to see the exact tech listed on
| a resume or they pass.
| the_only_law wrote:
| Or they just edit your resume without your consent and
| confuse everyone in the interview. I've had that happen a few
| times.
| lucasyvas wrote:
| Some companies hire this way which always seemed stupid to me,
| but I agree with you.
| [deleted]
| the_only_law wrote:
| Because once the market goes belly up, being a generalist seems
| to be a death sentence.
|
| One thing I noticed having been on the job search for about a
| year now, is the amount of jobs looking for a specialist,
| whether that be in a particular domain, or technology. Often
| very obscure or "obsolete" stuff.
|
| I remember applying to a government job, and in their little
| checklist application, one of the questions was basically "do
| you have experience writing software for [hyper specific
| domain]". Of course, it was the only question on there I
| couldn't answer "yes" to. Low and behold I was rejected for
| that reason. Not sure how they're going to fare finding someone
| so unique at the price they're paying.
|
| I'm frankly ready to leave the industry, but unfortunately,
| there's not really any other good options for me at this point.
| coffeebeqn wrote:
| We must be looking at different levels or roles or something.
| Most job postings I see say something like Must have
| experience in "x, y, z or other modern language". Maybe
| extreme specialization is more common in front end ?
| the_only_law wrote:
| I've seen roles like that as well, but much less than I
| used to. I see them more on entry level roles. I've never
| worked frontend and I've barely been full stack for several
| years now. Most of my experience is in .NET stuff, and
| usually C# is not the " "x, y, or z". Usually it's
| something along the lines of "Java, Go, Python". Not that I
| haven't ever worked in those languages, but certainly not
| recently.
| somsak2 wrote:
| The trick with these kinds of questions is to take a page
| from a politician's book and not answer it directly if you
| feel like you'd have to say "no".
|
| "I built X system in [somewhat adjacent domain]", "[hyper
| specific domain] is a subset of my work in [more general
| domain]" etc.
| the_only_law wrote:
| Unfortunately, it was just a series of yes/no radio
| buttons. Not much room for nuance or spinning.
___________________________________________________________________
(page generated 2023-08-12 23:02 UTC)