Where to Find (Python + Full Stack) Developer?
Keith Young
Posts: 569
Hi guys,
Kinvert is looking for some developing help. I'm in a bit over my head here. Once someone builds a tool and gets something with all the connections such as OAuth etc, I can start adding code. However I know little to nothing about how and why some languages are best for specific things such as taking data from a SQL server and getting it to Python so I can start to crunch it, then send something back so the website / app can act on the decision the Python code makes.
Where would you suggest I look for help with this? Even just basic consulting so I can have a feel for what it will take to make my (vague) idea happen? I just need someone who knows 'that's a compiled language so it is or isn't good for this or that' and how to get Python to talk well with all the full stack stuff that will need to happen. Also we'll likely want this to work well with Google Drive as well as setting up some APIs such as our autoresponder mailing system.
I prefer to avoid all these freelance website market places and work directly with someone.
Thanks,
Keith
Kinvert is looking for some developing help. I'm in a bit over my head here. Once someone builds a tool and gets something with all the connections such as OAuth etc, I can start adding code. However I know little to nothing about how and why some languages are best for specific things such as taking data from a SQL server and getting it to Python so I can start to crunch it, then send something back so the website / app can act on the decision the Python code makes.
Where would you suggest I look for help with this? Even just basic consulting so I can have a feel for what it will take to make my (vague) idea happen? I just need someone who knows 'that's a compiled language so it is or isn't good for this or that' and how to get Python to talk well with all the full stack stuff that will need to happen. Also we'll likely want this to work well with Google Drive as well as setting up some APIs such as our autoresponder mailing system.
I prefer to avoid all these freelance website market places and work directly with someone.
Thanks,
Keith
Comments
What you do is specify .csv and ask your customer if they can create a daemon to scrape the .csv files you leave and, if necessary, create return ones for you to scrape. It works quite well, has worked since the 1960's, and will probably still work in the 2060's, and if the database schema changes then it's not your problem. I have customers that have gone through four mainframe and core enterprise software upgrades without even calling me because the big changes they were doing did not affect the interface we had worked out back in 1993.
Requests makes interaction with APIs very simple.
Flask makes it very easy to build a website that runs on Python.
Put the three together and you pretty much have all you need to interact with a user through whatever browser code you write (HTML, CSS, javascript framework), through all your application logic written in Python, out the backend to you database.
Nowdays, you can have a simple Web application up and running in most languages with minimal work using frameworks and libraries in most popular languages.
mindrobots - Yeah I've heard of Flask and have considered Django in the past. One concern is it seems like I'd be leaving behind the convenience of WordPress. Want Stripe, WooCommerce, and 100 plugins that work very well with those and membership sites? Click this button. But with Flask and Django it seems like I'd get a lot of what I want but I'd also have to reinvent the wheel (online store, billing, anything that's an existing WP plugin). Or maybe I'm wrong here? I'm NOT a web expert. I know just enough to get myself in to trouble.
DavidZemon - Will get back to you later today though that could turn in to Monday. My newborn is a little extra cranky today and my wife is still struggling with her C Section.
Anyone have a suggested website to visit to get instructions on starting a basic Flask / Django site? I could just make a subdomain and start trying to mess with it. Hopefully it doesn't require a bunch of custom stuff as I am currently on a shared server.
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
I recently did a django project for a client and it was reasonably easy to use: https://docs.djangoproject.com/en/2.1/intro/tutorial01/
Personally, I tend to lean toward statically typed languages because I find the development to be easier (my IDE knows everything about everything and can help me write code against new-to-me libraries better). That being said, if you just need a really small app, sometimes it's easier to get off the ground with Python than Java (my goto for most apps). Spring Boot has made RESTful services in Java way easier than it ever should be. Check out this little sample I created when I was exploring Spring Boot recently: https://github.com/DavidZemon/SpringBootMeetsH2
I've also recently done some exploring with GoLang. Interesting concept.... though I hope someone creates a big, high-level framework for it someday because it's a lot of boilerplate right now. Very promising future though.
Can he/she really build you a whole computing solution from the physics at the bottom, to the transistors, to logic gates, to CPU architecture. Then through all the layers of the software stack from op codes to assembler to high level languages, to WEB servers, to databases to deep learning?
No, I guess not.
So what is this BS term supposed to mean?
I guess they can do the HTML, Javascript, CSS, sort of front end stuff. In addition they can do more backend stuff such as PHP, SQL and whatever else.
Ultimately I'm a Mechanical and Aerospace Engineer so I mostly just know what random people tell me on the internet when it comes to this sort of stuff.
I don't know the terminology here perfect. But basically I'm trying to get someone who can make Python jive with HTML CSS etc so I can provide different content to each users browser, which I think people vaguely call Full Stack.
Five or six years ago, having spent most of my life dealing with embedded systems in the military and aerospace world, using languages like C/C++ and Ada, I became a "full stack" developer. Without even knowing it!
At the time it happened that the boss took it into his head to have real-time updates to 3D scenes in the browser page using data streamed from remote field units.
Well, I had no idea how to do that so we hired a consultant software engineer, who knew all about streaming data to browsers and animation in FLASH, to do it.
As it happened I accidentally discovered that one could do live data updates and 3D animations in the browser using Javascript, websockets for communications and webgl for 3D rendering.
And all it took was a server that understood websockets and could accept data streams from sockets in XML and talk to an SQL database. Enter my node.js server.
As it happened the FLASH consultant never finished the job. But my field unit to server to browser demo was up and running in time for the trade show my boss wanted to show off at.
All in all, six weeks from nothing to "full stack" solution.
Well, except I had to get the bottom of that stack working before that. Embedded Linux, kernel modules and such...
The colloquial definition of "full stack developer" 'round these parts would read something like this:
For instance, I know a how to build a front-end app with Angular and bootstrap, I know how to build a back-end service with Java's Spring framework, and I know how to stand up and configure a MySQL database. Crucially, I also know how to make all three of these pieces talk to each other.
Companies have needs for developers with most any combination of these skills - someone with both front- and back-end knowledge, just front-end, just back-end, and both back-end and database. Putting "full-stack developer" on your resume says "Whatever you have to throw at me, I can do it!" And yes... there's an implied "so long as its a web application" in there because that's all companies care about these days.
Your colloquial definition is exactly what I described above. In my anecdotal case it was:
1) Real-time websocket communications server to browser. A new HTML 5 thing at the time I was warned off from using.
2) webgl 3D animation in the browser. As above.
3) Node.js as the web server and web socket server. And as the gateway from field units to database and browsers. As above.
At the time I was having fun being daring whilst all the serious folks around said I was crazy for wasting time on these new HTML 5/Javascript things.
So soon later, it's just normal. And now expected of a "full stack" developer.
That is what one can do in 6 weeks. It's just simple glue to stitch lots of other stacks (that you did not develop) together.
Long story short, want to make an LMS which can choose which versions of content to deliver to user. An easy to use content management system in there so it's easy to make courses, lessons, and lesson versions, etc. Work in all the obligatory gamification etc. Main thing is to have a platform that can be built on over time.
Lots and lots of frameworks would get the job done nicely. Django and Flask would both be perfectly acceptable Python frameworks. There are others out there too - Google shows Falcon and Bottle are two more. Is there something wrong with Django and/or Flask that you're looking to get around? Here's a list of 10 different Python web frameworks: https://hackernoon.com/top-10-python-web-frameworks-to-learn-in-2018-b2ebab969d1a
Sort of like Drupal vs WP when looking at Django vs Java.
But like you said the whole thing doesn't have to be Python and maybe a fair bit of this can be Java. It's mainly the algorithm choosing content that I prefer to be in Python. I couldn't care less about what else is going on framework-wise as long as it's reliable, scalable, affordable, etc.
It even knows if you got it 'right'!
https://www.khanacademy.org/computing/computer-programming/programming/drawing-basics/pc/challenge-simple-snowman
For instance, if I type some code: Then I get an error That's pretty simple math. They can do something like:
I checked to see if I could insert other lines of code in. I was able to successfully complete the challenge with the following:
So, my guess is that they're searching the text input for lines that begin with "ellipse" and ignore all other lines. They probably ignore the fourth invocation of ellipse() too, but I haven't tested that.