I would not be surprised if even Professional Web Developers cant do it. Especially if you include deployment.
This isn't the old days of FTP, Perl or PHP anymore. There are too much information I cant memorise every single bit of it. And I dont think you should either. Especially in the age of Google. My memory capacity has its limit, and there are things I just decide it is not important enough to memorise when I could easily search for it. ( Or if I am relying on Heroku )
I have long thought of Directing a video, where we have famous Developers, or developers from a pieces of software that normal people would have heard of, filming them doing work, looking up silly things in Google. Starring at the screen for hours and absolutely dont have a clue what the code is doing. Not typing any code for hours. Sort of like Reality TV shows for Programmers.
Hollywood Movies and Anime has made the perception that proper Software programmers should be super fast touch typist and typing code with insane speed. It makes people uneasy when they learn programming. It turns out they have to constantly look up some manual, googling, copy and pasting and for most of the time not typing anything. They thought they are just not any good at it and many simply gave up.
The reality is, hopefully the video would show, even top level programmers dont know everything. And it is perfectly normal to look things up.
My last interview: the interviewers said I was the only candidate who didn't Google any syntax or articles after being given a small 60 min development task from scratch. I was applying for a senior dev role and if I couldn't deliver a tiny web app, I wouldn't hire me either. I could have just solved the task procedurally but I asked if they wanted to see a more OO solution to demo a bit more knowledge. I think back to that time and think how poor my env/tooling was back 5 years ago compared to today. I'm way more powerful now. Version control. Docker up an entire server architecture now with separated proxy, web, db server, env configs, & more. I routinely challenge myself to starting scratch projects to test myself because I rarely work on greenfield projects these days. When I encounter resistance in the workflow, I work to solve the roadblocks. I think this is an important dev exercise that brings alot of satisfaction. Constantly improve your tooling!
Personally I make no attempt to write code without googling. In my position as a robotics engineer my work covers such a breadth that I guess I just outsource my memory to Google. I don’t remember the syntax for many common Linux commands. I don’t remember how bash scripts work. I constantly look recommended ways of solving certain problems. Google is just integrated in to my process.
This applies to me as well. There are lots and lots of small things I do so rarely that I just can't keep the details in my memory. And I really would love to be able to type "man scp" and on the first lines of the man page to just get a couple of basic examples that I could basically copy-paste and change the server addresses to suit. But instead I get a ciphertext of all possible flags I can use, so in the end it is just faster to go directly to qwant.com and type "scp example"
I went one stint where I didn't start a new project for 5 years. Practicing new projects in that time period would have been a whole lot of wasted time.
To make you less fragile to disorder. The things you do regularly are trained into you by repetition. You practice under developped skills to stay flexible and able to adapt.
Very similar to physical fitness. Sitting all day trains you to sit. And that’s making you more fragile
It’s impressive what you say, but I would hire someone that would need to google to develop something if they were to code it quickly enough and to code it well.
I think I would die from boredom if I had your job doing the same thing which I know how to do over and over again. Wouldn't you just automate something like that with a Factory in Java? Somehow my brain works the exact opposite if I already know how to do something without googling it then it's not interesting anymore and I move on to the next thing outside of my comfort zone.
I guess I know now why every other website pegs my CPU to 100% to slowly display static text and break the browser's back button - professional software engineers are "bored to death" when doing their job so they have to make things "interesting" in order to entertain themselves.
in the php world you usually have decent man pages for webservers handling php requests and generally speaking php frameworks and packages have good inline documentation. also there is a package for anything you may need and and ide will usually give hints based on that documentation.
most frameworks come either with examples or commands to get your started. symfony even had their docs available for local reading as well.
with python i always have to delve into reading obscure documentation that either makes no sense or is not up to date. and there are too few packages for what you normally need in a scalable app. so yeah you can write php code without googling, as long as you are not a complete noob in web development.
if its 2021 and you still write code using vim and niche languages then you are doing it wrong, and indeed google is your only hope.
Please don't dismiss comments for grammar or spelling mistakes. These are not substantial criticisms of the argument being made, and are IMO a form of ad-hominem.
I would be grateful, if you could explain which of the guidelines I may have transgressed. I read them all and searched "grammar". Nothing comes to mind.
My own comment was precipitated by the sneering tone I read in (sic!)
Which itself points out a grammatical mistake unnecessarily. Then compounds this, by making a more egregious mistake.
Really my comment was making the same point. Don't point out grammatical mistakes, which is the precise purpose of (sic).
There's nothing unique here. Virtually all libraries and languages have local version of docs. I think you're too biased to continue in good faith argument.
they all do, its just that some are better than others. i dont actually like php, but it has plenty of advantages when it comes to quick web app development even without googling.
had a client once where its workers were day dreaming of a job in the valley and ofc they were using python. they bashed php on a daily basis, and as they were doing it, the php api was sole codebase running in production (essentially the company’s product) and running reliably for a few years.
the python workers were still struggling with basics such as queues and isc, and digging through non existent or vaguely written documentation. was a fun experience watching them struggle as i basically cloned repos, read the code or entry points for that code and get things shipped.
since then i started loving python. development is slower and my invoices keep coming. love it. occasionally i write some lib thats already been implemented in plenty of php and nodejs packages.
oh same client had a ruby codebase that kept failing and couldnt find devs to work on it. fun times.
I'm reasonably sure I could write a basic site, make it look as good as I can make things look given my sense of design, without searching.
If I was allowed to look at what I already have on my machine I could even set up a build process for my site. If not allowed then no build process.
But it would probably be pretty slow to write this, depending on how basic the site was, and it would not be as good as if I could look things up when I needed to.
But I wouldn't be able to deploy without searching.
> I'm reasonably sure I could write a basic site, make it look as good as I can make things look given my sense of design, without searching.
That’s cool if true but until you try it you could be fooling yourself. The other thing is that it’s not really a skill that’s valuable in such a connected age, except in contrived scenarios like closed book coding interviews, maybe.
I didn't say it's a valuable skill, in fact as I said it would be slower for me to do so (which maybe I should have said significantly slower) that's a pretty strong indicator of its lack of value. I should also say it would be worse quality - because if I needed to add some JavaScript functionality I would need to be able to use the syntax I remembered and not what I could look up.
However my confidence that I could do this slowly and of poor quality is that - I started making websites 20 years ago so making and index.html file and linking to each file by hand and I still do this every now and then when making little static sites (like if a site is 4-8 pages I might just do it by hand). And the stuff I look up for sites like that are generally - how do I do this cool thing in CSS.
Admittedly if I did it this way the site I am envisioning doesn't look much better than Berkshire Hathaway's https://www.berkshirehathaway.com/
on edit: also there is some question if one is just allowed to do what one can remember in one's head or if, without using an internet search engine, one can use the stuff one has on local computers and devices? In which case I have some complicated stuff here to reference going back a lot of years, a lot of ebooks, local hardcopy books. So in that case I think I can do just about anything that can be done with search (except for using newest CSS, es2019 features), but still significantly slower.
Yeah, so the big problem is every software project has some initial parts you only have to do once and then 99% of the project is just extending and improving the project using the same flow over and over.
I don't see the value of memorizing somethings you just do once.
That said you're right, even the 99% of work still involves a lot of fiddling and sometimes research outside of writing code.
I have been a react developer for 3 years and I don't even know how you set up a react project from scratch since it was already done when I started the job. I assume its pretty easy with lots of info available online though.
Some developers already livestream on YouTube as they program up web apps or other software. George Hotz for example used to livestream on YouTube/twitch. You can find many others.
>I would not be surprised if even Professional Web Developers cant do it. Especially if you include deployment.
I'm pretty sure I could do it depending on our definition of basic web app. With something Rails it's not even really that hard. Rails g scaffold [Model] gets you 95% of the way there.
This isn't the old days of FTP, Perl or PHP anymore. There are too much information I cant memorise every single bit of it. And I dont think you should either. Especially in the age of Google. My memory capacity has its limit, and there are things I just decide it is not important enough to memorise when I could easily search for it. ( Or if I am relying on Heroku )
I have long thought of Directing a video, where we have famous Developers, or developers from a pieces of software that normal people would have heard of, filming them doing work, looking up silly things in Google. Starring at the screen for hours and absolutely dont have a clue what the code is doing. Not typing any code for hours. Sort of like Reality TV shows for Programmers.
Hollywood Movies and Anime has made the perception that proper Software programmers should be super fast touch typist and typing code with insane speed. It makes people uneasy when they learn programming. It turns out they have to constantly look up some manual, googling, copy and pasting and for most of the time not typing anything. They thought they are just not any good at it and many simply gave up.
The reality is, hopefully the video would show, even top level programmers dont know everything. And it is perfectly normal to look things up.