Our contribution to open source – djoser 0.7 release

We are proud to anounce 0.7 release of djoser! This is one of the biggest releases so far and a result of 2 months of intensive work with more than 100 pushed commits.

We’ve managed to make large amount of changes on many fronts. We have added some long-awaited features such as the setting for the token model. We’ve refactored most of the codebase and even managed to find and fix the security bug that had existed practically from the beginning of the project!

You can check out the list of all changes here: https://github.com/sunscrapers/djoser/releases/tag/0.7.0

Sunscrapers in Top Web & Software Developers in Poland by Clutch

We thoroughly check opinions about a product before we make a purchase. It is pretty obvious right? The same goes with looking for a reliable web development company. We know how important it is to research information before cooperation starts. And at this point there is a rescue for all companies looking for software providers – Clutch. Clutch is a B2B market research firm that helps to find partners for one-off project or a long-term relationship. It uses an innovative research process that melds a traditional research and newer consumer review services.

We were really thrilled to hear that we were showcased in their recently updated listing of Top Polish Web & Software Developers! We stood out from almost 140 companies with a thirteenth place.

Leaders Matrix

Leaders Matrix consists of 15th best Polish companies that are able to deliver. We feel that it is just the beginning of changing the image of Polish developers in the world!

What are our biggest advantages? Our clients mentioned our engagement in offshoring cooperation, which made any communication barriers or time zone differences irrelevant. Also our superior English skills and uncompromising responsiveness were indicated as our strong points. What is more, our our knowledge and passion for Python was much appreciated in our client’s reviews and we are more than happy to read that!

Highlight from our client’s review.

Our startup client wrote that “For a company the size of Sunscrapers, it’s unique that they try to keep relationships on a personal level. They invest in people and find quality programmers who don’t only care about being paid a lot. We are glad we found Sunscrapers as a partner.”

Big thanks everyone!

We feel grateful for being acknowledged by Clutch. Thanks to the support from our clients, we are able to solve their problems with technology. Big thanks to our team as well. We are really proud of our developers: keep up the good work!

If you would like to read more reviews, check out our Clutch. Feel free to contact us if you have any questions!

Tech talk: How to justify your recommendation?

This presentation explains the subject of justifying our recommendation to people who we work with. It can be applied not only to our clients or coworkers but anyone in our life.

The general rules that we should follow are:

1. Get involved

2. Communicate

3. Present benefits (from client’s POV)

4. Provide options

This presentation is a part of Sunscrapers’ weekly talks.

Slides available here: http://www.slideshare.net/sunscrapers/how-to-justify-your-recommendation-ukasz-karwacki

PostgreSQL and JSON  with Python

This presentation is a part of Sunscrapers’ weekly talks. The main points include: PostgreSQL types,  HStore vs JSON vs JSONB,  SQLAlchemy, Django.

1. Why?

  • Schema-less data
  • Schema-unknown data
  • Document storage
  • User-defined schema

2. PostgreSQL types:

  • XML (since 8.2)
  • HStore (since 8.2)
  • JSON (since 9.2)
  • JSONB (since 9.4)

3. HStore vs JSON vs JSONB

  • Only simple key/value pairs
  • No nesting
  • Strings only
  • Indexing
  • Many functions and operators

4. SQLAlchemy

  • Simple validation on input
  • Stored as text (like XML)
  • Preserves key order and duplicates
  • Indexes (only expression index)

5. JSONB

  • Full JSON implementation
  • Binary storage
  • No key order or duplicate preservation
  • Fast access operations
  • Indexing
  • No date type!

6. SQLAlchemy

  • PostgreSQL dialect
  • Close to database
  • HStore, JSON, JSONB data types and much more

7. Django ORM

  • HStoreField since 1.8
  • JSONField since 1.9 (uses JSONB)
  • Support for migrations
  • Third party libs like: django-hstore

 

Slides available here: http://www.slideshare.net/sunscrapers/postgresql-and-json-with-python-przemek-lewandowski

The complete list of our tech talks

Every Thursday at 4:30 p.m. our team gathers in a conference room to participate in a presentation prepared by one of us. The topic of the speech can concern tech (IT, project management) and soft skills (work culture, communication).

See the complete list of available presentations from our weekly tech talks!

We explain our idea in this post: Our work culture: weekly tech talks.

For a video of each talk, please click on the title below: 

  1. The quickest introduction to Julia (for Pythonistas) – Paweł Święcki
  2. Ansible Deployment Using Python 3 – Piotr Szpetkowski
  3. Storing Personal Names in Database – Piotr Szpetkowski
  4. Brand voice in social media – Paulina Czajkowska
  5. Where to put Business Logic in Django – Michał Nakoneczny
  6. Clean Architecture in Python (web) apps – Przemek Lewandowski
  7. Reactive programming – Jakub Włodaczyk 
  8.  Meta catch-ups – Łukasz Karwacki
  9.  Foundations of Foundation 6 – Jakub Włodaczyk 
  10.  Our work culture – Łukasz Karwacki
  11.  Interruptions at the team level – Łukasz Karwacki
  12.  Creating value for customers – Łukasz Karwacki
  13.  Design focused development – Przemek Lewandowski  
  14.  Going remote!
  15.  Main rules of web design – Dawid Domański 
  16.  Visitors tracking tools – Konrad Hałas
  17.  Quick guide to virtualization – Szymon Teżewski
  18.  Flat Design – Dawid Domański
  19.  Tmux and screen inception 
  20.  Aircraft spotting – Konrad Hałas
  21.  Scrum and XP from the Trenches – Przemek Lewandowski
  22.  Semantic HTML – Szymon Teżewski
  23.  The art of writing emails – Łukasz Karwacki 
  24.  Introduction to ReactJS – Comparison to AngularJS 2 – Robert Piękoś (pl)
  25.  DVCS Workflows for Teams – Bartek Rychlicki
  26.  Swift – Krzysztof Skarupa
  27.  Django ORM – Marcin Markiewicz
  28.  How to justify your recommendation – Łukasz Karwacki

Our work culture: weekly tech talks

What are weekly tech talks? Every Thursday at 4:30 p.m. our team gathers in a conference room to participate in a presentation prepared by one of us. The topic of the speech can concern tech (IT, project management) and soft skills (work culture, communication).


The main rule is an appropriate timeline: we limit our presentations to 10 minutes and leave the remaining time for questions and discussion. Ten minutes is more than enough time to present a compelling and effective speech.

The power of soft skills

There are many reasons why we’ve introduced Thursday’s presentations. Tech talks are connected with different expectations, challenges and results. They support soft skills’ development – we exercise public speaking, teaching and effective communication. That’s one of the most important reasons why we’ve started a journey with presentations. We step out of our comfort zone and learn new things which is a huge value hard to gain in other conditions. Thanks to these presentations we feel comfortable at conferences and IT events (as participants – during networking, as lecturers and as organizers of PyWaw meetups and PyWaw Summit). Soft talks also improve our language skills (many presentations are in English). Even today there is not that many IT companies that appreciate soft skills, and invest in developing the soft skills and look for them in potential candidates.

Professional development

On the other hand, the goal of tech talks is to help us develop professionally. These presentations create a possibility to systematize our knowledge about a particular topic and introduce new points. What’s more, we stay up-to-date with the latest technology news (new libraries and technologies are a frequently chosen subject). Finally, tech talks diversify our daily work routine and learning process, additionally guaranteeing that we have time for self-development.

image

The foundations of discipline

The key to success in giving a good presentation is discipline and preparation. It is extremely important for the presenter to follow the time guideline. Preparing 10 minutes talk isn’t as simple as it seems. It requires adding or deleting slides and a few rehearsals to make sure that you fit within your time. Learning the whole presentation by heart is difficult and time consuming. Instead, the speaker should try to learn key points he wants to include and come up with clues to remind himself when to change slides. A presentation should be well-structured – time spent on each topic should be allocated in a direct proportion to its importance. The best way is to start with an introduction which = overviews the subject, then go through main points and summarize the talk with key conclusions.

A collaboration really works!

Our teammate, Paweł, volunteered to be a supervisor of the presentation routine. His role includes administration tasks (managing the calendar, collecting topics and gathering people before the presentation, setting up a video stream) and encouraging colleagues to prepare a speech about a chosen topic. Robert, on the other hand, is our ‘video guy’. He records all presentations and edits them afterwards. Finally there comes Beata. Her role is to add presentations to our blog and share them with the world through social media.

Why do we record presentations?

We pay huge attention to recording because it motivates the speaker to prepare himself well   and assures a high quality presentation. Why does it matter so much? We engage the whole team for 20-30 minutes and we don’t want to waste anybody’s time. We also become independent of somebody’s time and availability: a person interested in the subject can always watch the talk later. We have already a solid base of valuable presentations on various topics and we refresh them when we need a revision of a particular topic.

Let’s talk about effects

These talks show who we are in an authentic way – everyone can see who we are, what we do and where we work. The whole initiative is coherent with our mission statement and work culture. We share our knowledge not only with our Warsaw based team but also with our remote teammates and the broader public. Our latest idea – inviting our clients’ team to join our tech talk – has received a great feedback, which then inspired us to think about organizing a joint workshop as an evolution of this concept.

Check out 3 examples of our presentations: