Helping my company migrate everything to Python 3. Righteous!
And we’ll update everything else, including Django, when we do it.
If only an updated Python Essential Reference was available… I’d buy it for every developer. I can’t hassle David anymore since I left Twitter. ‘Tis a shame. I could send him email and text messages, but it wouldn’t be the same.
Other person: The subclasses of this Foo parent class are supposed to define method bar(). So we should define Foo.bar() and have it raise an exception.
Other person: So if subclass_instance.bar() is called, and the subclass hasn’t overridden bar(), it’ll raise an exception. That way we’ll know when the method is missing on a subclass!
Me: If we don’t define bar() in the parent class, what happens if a subclass also doesn’t define it, and code calls subclass.bar()?
Other person: It raises an exception.
This is my second week at Solinea, and I’m loving it! A position just opened up on our development team for a backend developer, and I wanted to share the love. 🙂
The company supports remote employees. Its headquarters is in Berkeley, CA, and I’m in Seattle, and I feel more connected now than, well, I did at some other companies I’ve worked for.
If you’re in Seattle, I’d be happy to meet for coffee to talk at length about the job.
To apply for this job, you can contact me at firstname.lastname@example.org, or click the “Apply for this position” button at the bottom of the job’s Recruiterbox page.
Senior Backend Engineer (Python, Django, Elasticsearch)
Berkeley, CA, US, or remote
This position is only open to candidates based in and eligible to work in the United States.
As a backend developer at Solinea, you will be primarily working on our flagship product from the API back, as well as committing to the OpenStack codebase.
You will work in a sprint-based agile development team, and will participate in the full cycle including release/sprint planning, feature design, story definition, daily standups, development, testing, code review, and release packaging. You will also work on the automated build, test, and package environment, as well as participate in maintenance of the development lab. Most of all, you will have the opportunity to have fun, be challenged, and grow as a developer while creating a game-changing product to help our fellow cloud operators.
The ideal person to fill the role will have a solid track record of cloud, open source, virtualization, real-time data, and API development. You should have the ‘play all fields’ mentality required to be successful in a startup environment. Bring your passion for solving large problems, exploring new technology frontiers, and helping to bootstrap a development organization.
The goldstone backend technology stack primarily consists of Python, Django, Celery, Redis, Logstash, and Elasticsearch. You should be an expert-level developer in the Python/Django ecosystem, and hands-on experience with OpenStack or some other cloud management framework.
In addition to the core skills, things like systems automation, machine learning, data visualization, and prior startup experience are definitely relevant to the position.
The ideal candidate will have at least a BS degree in CS or related field along with relevant work experience.
Solinea offers comprehensive benefits including:
- Medical, dental, vision, life, disability insurance, 401k plan
- Flexible spending accounts
- Pre-tax commuter benefits
- Free coffee/tea in offices
- 20 days of PTO/yr
- Flexible working environment
- Joel Test score: 8 out of 12
The Joel Test is a twelve-question measure of a software team’s quality.
Do you use source control? Yes
Can you make a build in one step? Yes
Do you make daily builds? Yes
Do you have a bug database? Yes
Do you fix bugs before writing new code? Depends on severity
Do you have an up-to-date schedule? No
Do you have a spec? Yes
Do programmers have quiet working conditions? Yes
Do you use the best tools money can buy? Yes
Do you have testers? No
Do new candidates write code during their interview? Yes
Do you do hallway usability testing? No
Founded in 2010, IP Street has built the world’s preeminent Intellectual Property(IP) analytics and visualization engine, in conjunction with a nationally recognized IP law firm. Our SaaS product helps corporations and financial analysts quickly and efficiently analyze IP information. We make IP data easy to get, use, and understand!
As with any organization, we’ve continued to evaluate new ways to provide value to our clients. We’re evolving into a “SaaS+” model, which pairs our service with expert consultation to assist our clients in assessment and evaluation. Our focus remains on the financial and technology markets.
Our technology stack is almost all open-source, with some nifty esoteric search technologies. Most of your work will be in Python and Django, in a Mac-based development environment, deploying to Linux. Other technologies include Postgres, Redis, and Solr. Our client-side code relies on Highcharts and Backbone.
This is a “small b” big data firm. But since we’re a scrappy start-up, we don’t have a big firm’s resources. We compensate by hiring senior people who are self-directed, appreciate real-world development trade-offs, and have a can-do attitude. It’s OK to not know something if you’re eager and willing to learn it. We know that bad code always haunts, so if you enjoy writing good code using a language’s standards and idioms, you’ve come to the right place!
This position is in a small engineering team. Its focus is on server-side work, which includes poking fingers into PostgreSQL, Solr, and other technologies. So, it’s not just coding. We do feature design, development, testing, DevOps, some customer support, and work closely with product management. Did I say that we wear multiple hats every day?
On to the details…
- Collaborate with others in product direction, priorities, and feature design
- Design, implement, and test new product features and bugfixes
- Make the user experience of our products as powerful, simple, and manifest as possible
- Do what’s needed to move the company forward!
- Significant server-side development experience. We’re not hung up on a number, because one year for you could equal five years for someone else. We’re looking for the confidence and awareness that comes from working with server-side web code. Here are some keywords: Subtasks, sentinels and software locks, software farms, scaling, and schema migration. If you’re a smart person who enjoys working on software systems running on servers, you can check this box.
- Significant experience developing in Python or a Python-based framework. We’re a Python and Django shop, and there’s no PHP, Ruby, or Perl within 2000’ of our codebase. This must be serious development, and not, “I occasionally write 20-line scripts.”
- If you’re very experienced in another language and are eager to learn Python, that could be OK. Can you convince us that you’re looking for a great opportunity to learn?
- If you don’t know Django, that’s fine — it’s easy to learn.
- Abilities that are nice to have: Significant interaction with PostgreSQL, Solr, or another type of db/search engine.
- You’re enthusiastic about modern software development, distributed version control, coding, documentation, testing, and teamwork.
- You have excellent judgement in attacking complex tasks, and in balancing “good enough, now” vs. “much better, later”
- You’re self-sufficient, and confident in setting standards
- Good communication skills
Salary depends upon experience. Please send your resume to email@example.com.
IP Street’s application runs on Python 2.7. Earlier this week, I evaluated all our Python packages for Python 3 support, as the first step in deciding when to migrate our codebase.
Although this was the time I’ve checked our packages for Python 3 support, I expected Django to be the only one that didn’t officially support it. (Production support is slated for version 1.6, which is now in release-candidate.) But Django is the only project whose development roadmap I closely follow! D’oh! Talk about a blind spot!!
This is why it’s good to sit down and formally check each package. Make a list of every package and check each one…
If you know someone who fits the bill, send them this post!
Title: Senior Developer
Reports to: VP Engineering
About IP Street
Founded in 2009, IP Street develops and markets software to help corporations, law firms, and financial analysts better analyze patent-related information. We make IP data easy to get, use, and understand!
We’re a start-up that’s developed a new way to visualize and data-mine intellectual property. We’re small and scrappy, have an innovative engineering team, and have built the business on awesome products that companies buy!
Our technology stack is almost all open-source, with some nifty esoteric search technologies. Most of your work will be in Python and Django, in a Mac-based development environment, deploying to Linux. Other technologies include Celery, Postgres, Redis, and Solr. Our client-side code relies on Highcharts and Backbone, and supports desktop and mobile users.
This is “small b” big data, with lots of interesting challenges!
- Collaborate with others in product direction, priorities, and features
- Design, implement, and test new product (primarily but not exclusively server-side) features
- Some front-end coding and debugging, as needed
- Make the user experience as powerful, simple, and manifest as possible
- Be positive, flexible, and do what’s needed to move the company forward
- 10+ years experience in server-side development. Web development would be ideal, but it can be any kind of server-side code. We’re looking for expertise in processing pipelines or workflows, software farms, scaling, schema migration, etc. Or you’re a really smart person who loves complex software systems running on servers!
- Significant experience developing in Python or Python-based frameworks, on the order of at least 5 years or so. This must be serious development, not, “I write a 20-line script now and then.”
- Substantial experience in, and understanding of, a web framework such as Django. We’re looking for at least 3 years’ experience. Or if you don’t know Django, you’re eager to learn!
- Pluses: Significant coding experience interacting with (or experience in configuring) PostgreSQL, Solr, or another SQL or full-text search engine.
- Other pluses: Experience in or familiarity with jQuery, Backbone or equivalent technology, or client-side graphing packages. (These won’t be your focus, but the knowledge could come in handy.)
- Enthusiasm about modern approaches to software development, distributed version control, good coding and documentation practices, etc.
- You have excellent judgement in attacking complex tasks, and in balancing “good enough, now” vs. “much better, later”
- You’re self-sufficient when possible, and confident in setting standards
- You’re eager to build a small company into something insanely great!
- Excellent team and communication skills
- Bachelors Degree or equivalent in Computer Science or Software Engineering
Salary is DOE. Please send resume to john @ this-site’s-domain.
Jesse Noller, who works at Rackspace, volunteered to take a look at the underlying problems. He’s an awesome dude.
An update to an earlier post…
I’m replacing pyrax with something else in our system. The authentication errors and oddball failures still occur, and I’ve lost confidence that Rackspace will fix them in any reasonable amount of time. This is extremely frustrating.
Python-cloudfiles was way more stable, even though it wasn’t and still isn’t in active development. Maybe we’ll resume using that.
Thursday, I was irked by a bug.
I had modified a background task so it could import a range of documents from another subsystem into our datastore, instead of only one. Its parameters had included one “document id”, which identified the patent document to import. Now, it could be given that, or two document ids representing a document range.
In one instance, it reported a successful completion yet the desired patents weren’t loaded. What had gone wrong?
Multiple official and de facto formats exist for US patent application and grant document ids. To keep this simple, let’s consider US Design Patents. Their document id is a “D” followed by a number. This looks like “D4432”, or “D902”.
So if you wanted to import a range of Design Patents, you might say, “Import the patents D900 through D4000, inclusive.” “D900” is the lower bound and “D4000” is the upper bound. Right?
Not so fast!
>>> "D900" < "D4000" False >>>