Guide on the St. Petersburg IT movement
Sometimes developers from other cities and students ask me where to go to an IT specialist in the cultural capital. During the organization of mitapov for pitonists, I collected IT events in order to adopt the best chips and adapt them to our target audience. This review summarizes the impressions of the regular meetings of the largest IT communities in St. Petersburg: Golang Piter, Fprog, C ++ User Group, SpbDotNet, PiterPy Meetup, PyLadies, Django Girls, Spb Python, Frontend Spb, PiterJS, ODS, SpBDSM, workshops at JetBrains Research ITMO and its research institutes, CSC, RAS. The events reviewed are free and open to everyone, but almost everywhere pre-registration is required (to take into account the number of participants when booking a room, organizing a coffee break and buying merchandise). Almost everyone has a youtube channel where you can watch records from past meetings, and telegram chats, where it is convenient to track announcements. Perhaps no less interesting at the meetings, which I have not yet reached. Maybe someone wants to continue the review and fill the lacunae.
Brief introduction to the IT subculture
The specifics of the programmer's work implies the need to focus on solving highly specialized tasks. But the market is changing dynamically and it is difficult for technology experts to adapt.
In addition, recently there has been a tendency to demand from one person to combine the functionality of different specialists. For example, beckenders and frontendders increasingly expect fullstack competencies, data scientist is required to be both a devops or visualization of data for a d3 programmer and a designer. If earlier it was possible to schematically distinguish two ways of development of a developer: technical (senior developer, tech architect) and managerial (team leader, project manager, product manager, CTO), now there are many shades, from an expert in a certain technology to a technical evangelist who should monitor trends in various IT areas, understand IT marketing and the specifics of building a community (devrel). There was a fashion for T-shaped engineers: the vertical bar in the letter corresponds to the specialization, horizontal to horizons (although the term “T-shaped person” was introduced by David Gast almost 30 years ago). Such developers are deeply immersed in their specialization, but periodically come to the surface and grab surface knowledge from different areas.
There is no shortage of events in St. Petersburg - almost every week, events for developers of various formats take place. As the conference organizer JUG.ru noted , the meetings were originally organized for the exchange of knowledge between friends from different companies. Now the organizers of mitapes are shifting the emphasis on communication with congenial and useful networking.
Among the speakers there are both gurus of public speaking, who run reports before conferences, and inexperienced speakers. Although most often there is something to say, it is for those busy engineers who do not often attend mitapes. Such under the careful supervision of the organizers on the predgorni pass the path of Demosthenes - and then they themselves catch the drive from the feeling of connection with the audience of like-minded people. By the way, while in Moscow, meetings are organized mainly at companies (although there is an IT community), in St. Petersburg, meetings are supported by the community on a voluntary basis. In the search for communication with congenial people, the most optimal way is not to become attached to a certain community, but to “vote with your feet”, each time choosing a meeting with the most relevant topics of reports and the most charismatic speakers.
If you haven’t looked at festivals and conferences in St. Petersburg before, you can see a list of more than 20 IT communities on major festivals and meetup.com. For the sake of knowledge, it is more productive not to be scattered and to go once a year to a large conference (it is advisable to choose a conference organized by developers for developers and with a logical program, without marketing reports, crowds of eychars and a hodgepodge of reports). If you are interested in how colleagues from other ecosystems live, you can visit once a year a fest for different IT communities and companies, like TechTrain and ITGM, which are also organized by developers. From near-science festivals from marketers with a kaleidoscope of softcore content (neurointerfaces, lectures on polyamory, round tables on gender issues in IT or ethics of AI), hardcore lovers have the impression “and various not wander in idle vanity”.
If you want to talk about the insides of technology and hayload, communicate with
amateurs to write functions in assembler and network drivers - go to the meeting Go . They also like to discuss the architecture of applications, servers and databases (despite the fact that the services on Go are small). For tasks like “enter a 16x30 progress bar with scrolling into a large project”, you need to understand how the code will be executed in the system. The community has existed since 2013, previously there were 2 mitapas per year, now it is 4. Usually at mitap3-4 deep reports (unlike many other mitaps, where 2 reports and hardcore ones are only one). Sometimes reports are held in the format of live-coding session. Speakers build speeches, starting from solving a specific problem and almost never use attention-scatter memes on slides, but a lot of code. In order to gather people who speak the same language, reports about devrel and the world of development outside Go are cut off. Registration confirmation for the mitap is done manually after verification, although there are no formal refusal criteria and they do not allow Eychars to the mitapes. Between the crowds, the collected marketing methods, and the quality of the audience, the organizers choose the second. Unlike the rest of the communities, the gophers ignore the telegram chats, from the community it consolidates into the Slack andGoogle Groups . Despite the lack of SMM, the community is actively growing. Now their events gather more than a hundred participants, which is not typical for hardcore meetings.
Гоферы словно по жизни следуют принципу бритвы Оккама: ”отсекай неиспользуемые импорты и переменные, иначе программа не скомпилируется и конечная цель не будет достигнута”.
Goal.go of organizers - Go promotion where it turns out to be more effective than familiar tools, but not used either from a lack of motivation to learn new things from developers, or from a lack of ability to make strong decisions from management. The target audience is engineers who do not look at the machine like a black box and have programming experience in other languages and / or good mathematical training. Despite the fact that the Go syntax can be learned over the weekend, when solving problems, you have to think about things outside the code: type category, scalability, file systems, predictor on CPU, etc.
Go designers proceeded from the idea of restricting the developer to the maximum, so that even the worst code could be read. The opposite approach is to instill good patterns, most fully realized by the creators of IDE and linters. Linter can give more useful tips than any other speaker who wants to stay on the ear, without creating or improving technology. If you are interested in what new ideas are born in this area, you should look at the seminars of various research laboratories in JetBrainscompiling publications about compilers, LLVM, domain-specific languages (DSL), code vectorization for linkers, automatic fixing of bugs, code review and refactoring using deep learning methods, etc. The workshop usually includes one long in-depth report and discussion. There are a lot of formulas on the slides and there is no code; they don’t like to talk about the practical applicability of the results, like true mathematics. Although on githabaYou can see some implementations of approaches, for example, plugins for IDE with DL under the hood. Seminars are open to all, the main contingent is ITMO graduate students at JetBrains and students of St. Petersburg State University matheh. Sometimes the meeting takes place in the format of discussion of the visiting professor's report. From the interesting work of students can be noted learning model to generate Python code from English (as in the competition at CodaLab) and the study of the possibilities of creating a convenient and secure DSL for smart contracts. In general, DSLs fit into the trend of programming language development along the path of abstraction from low-level tasks and giving the developer a greater opportunity to focus on a business problem. On the one hand, this is due to the complexity of the systems. On the other hand, managers are often not competent enough to competently decompose a task, and the developer has to work on the concept independently. By the way, if you don’t like modern IDEs and prefer to build your bikes from githooks, ctags, BBedit, etc., look for like-minded people at PiterPy Meetup (even already had a report on this topic, you can watch the recording on the youtube channel ).
You can also discuss bikes and DSL on Fprog mitaps., in the format of hardcore stories, “we wrote first on Haskell, but then we thought it was too difficult and easier to write our own DSL”. In the Fprog community there is a chamber atmosphere, there are few participants, but no random ones. The age and experience of the participants allows them to remember with nostalgia, in which language 20 years ago there was the same concept of a returner as in Haskell. All - engineers with an impressive background in the development of different languages and good taste. They are related to programming as an art, and in functional programming they are attracted by a mixture of grace and academism. Reports and discussions are closely intertwined. The speaker in the course of a speech interrupts questions or adapts the details of the presentation of the material according to the comments from the audience. This is a very interesting format. and it can be realized only for a small company of people who have long been familiar with each other. Topics discussed include Haskell code profiling, refined concealment of error handling in monads, category theory, unusual practical applications of functional programming, such as computational linguistics or OS development. Despite the fact that the presentations are mainly devoted to Haskell, Elixir, Erlang, Lisp and its dialects, etc., the rally participants discuss Java, Kotlin, TypeScript and Python on the sidelines. They argue whether there are languages that can be called functional, or is it just a mindset. One of the regular participants also speaks at PiterPy Meetup meetings. unusual practical applications of functional programming, such as computational linguistics or OS development. Despite the fact that the presentations are mainly devoted to Haskell, Elixir, Erlang, Lisp and its dialects, etc., the rally participants discuss Java, Kotlin, TypeScript and Python on the sidelines. They argue whether there are languages that can be called functional, or is it just a mindset. One of the regular participants also speaks at PiterPy Meetup meetings. unusual practical applications of functional programming, such as computational linguistics or OS development. Despite the fact that the presentations are mainly devoted to Haskell, Elixir, Erlang, Lisp and its dialects, etc., the rally participants discuss Java, Kotlin, TypeScript and Python on the sidelines. They argue whether there are languages that can be called functional, or is it just a mindset. One of the regular participants also speaks at PiterPy Meetup meetings.
Функциональщина — это как фигура и фон в гештальт-терапии: кто-то видит велосипед, кто-то наслаждается красотой инженерных решений, но все закрывают свои гештальты от недостатка творческой самореализации при работе над типовыми задачами.
Before you come, it is worth looking at reports from past mitaps and pet-projects of the community on their collective githaba .
C ++ User Group
If you want even more hardcore - you are on mitos about the experience and pain of developing on modern C ++ . The reports quite accurately characterize the slide of one of the speakers: “Common words have ended. I hope it was understandable. ”
On mitapah Developer C ++ is usually one long report and communication. Community adheres to the Berlin Code of Conduct. The topics are mainly related to algorithms and data structures, design patterns, memory management, language changes (members of the Russian Standardization Working Group C ++ are invited to discuss the news). In St. Petersburg, C ++ User Group meetings are held approximately once a quarter, since it is difficult to find speakers every month who really have something to say. Developers with sufficient expertise are usually very busy, and it takes more time to prepare a long speech on a complex topic than to write an article. It’s difficult to hear technical details because the audience does not have the ability to re-read or skip certain paragraphs.
Sisarpists have their sisharm. Many DitNet mitap participants write not only in C # and F #, but also in C / C ++ and other languages not from the .NET stack. Age and experience allows them to talk about new frameworks on the pattern: “Everything new is well forgotten old; I think, <technology X> will repeat the fate of <technology Y> ". At the entrance, participants are given “proprietary packages” with a useful merchandise — good quality circles, notebooks, magnets with the logo of the community. On other events, participants usually come to the table with merchandise and choose stickers, or try to win a license for free use of sponsors' products in the drawing. .NET developers refer to money, like Microsoft, which is noticeable by the reservations: “money at the entrance of any task”, “the user leaves money and data on the site”. Subjects of reportscovers a wide range of topics from enterprise-specific applications to the CLR: .NET memory models, compiler trolling using the dynamic type, Rider’s insides, statistical code analysis, functional .NET, web security, CI / CD and even Data Science using Azure ML or C # wrappers to C ++ libraries. Sometimes speakers write small applications specifically for demonstration during presentations. Not so long ago, the mitap was held in English, because one of the most famous dotnetchik Richter came with a report. The community has joint pet projects on a githaba who take part in sweatshirts.
Mitapas with softcore and hardcore reports
Community ecosystem around Python
Питонисты по жизни словно следуют принципу Zen of Python ”Borrow ideas from elsewhere whenever it makes sense”, активно развивая кругозор.
Every month, PiterPy Meetup organizes events of a different format with a tube atmosphere and good afterparty:
- traditional meetings once a month with two half-hour presentations of the “technology introduction” format
- Hardcore mitps once a quarter about functionalism, typing, PyPy, GIL compiler, asynchrony in web development
- mitapy in English quarterly
- breakfasts every 2 weeks and drink in the bar once a month for communication
- from time to time - hackathons, drinkcatons (also burning eyes with a code, but in a bar), joint participation in open-source sprints and big festivals
PiterPy Meetup participants love tradition. For example, “every <day of the week> do <collective action>”. For example, meetings are always organized on Tuesday, and breakfasts on Wednesday. There is also a tradition of lightning talks. At each mitap, anyone can write their name on a blackboard with a schedule of reports and become a speaker for 5-15 minutes after long reports. Lightning talks are short spontaneous stories about everything related to IT. Slides are not needed, no preparation for them is required. Lightnings and reports cover a wide range of topics. Among the participants, you can meet backenders, front-ends, full-steaks, data scientists, testers, technical managers and even javistes. The only requirement for participants is not to violate the rules of mutual respect, as expressed in the Berlin Code of Conduct, which the organizers have translated into Russian. Although so and mitapy collect people who are light and pleasant to communicate, like the syntax of Python. 60-100 people come to the meetings, depending on the speakers. Once at the mitap, Paul Everitt of American JetBrains spoke at the origins of the creation of Python. Guido van Rossum began to nostalgic on Twitterbecause Paul put on the same T-shirt in which he spoke at meetings in the USA back in the 1990s. (by the way, all the other speakers, the organizers give out T-shirts with the logo of PiterPy Meetup). Another time, a manager from the American Amazon came to the drinkcontact and he liked the atmosphere so much that he attended the pitonist events all August, and since the fall, PiterPy Meetup began to hold regular meetings in English. Then this idea was picked up by other IT communities: Frontend Spb, PyLadies. Also in St. Petersburg, the European conference under the brand PiterPy and irregular meetings of various communities with invited speakers are held in English.
A whole ecosystem has developed around Python in Petersburg. Communities with events of different formats resemble libraries for different needs.
There are activities for razrabotchitsy: mitapy and breakfasts PyLadies , workshops the Django Girls . They are organized by other people and only for girls. Previously, men were not allowed in there, now a man can come there as a “plus” to any lady - in order to maintain gender balance. If a man comes alone and says that he identifies himself as a woman, he will not be allowed to attend the event. Recently, the founder of the PyLadies international initiative, Lynn Ruth, came to them from New York. You can read more about the initiative of the articles in the article "Papers" .
There is also the Spb Python community , which is like Python 2.x: it originated earlier, does not develop and is not safe (Coc does not work there, and there is a separate Rude Python chat for non-unicode expressions). But there is a “backward compatibility” of speakers who speak without reference to a specific community.
Among the organizers of the St. Petersburg Python-communities, almost all web developers (backend, fullstack), which is reflected even in theory to make a description of the events and links to a separate site. The same idea is used only by front-tenders.
Front-end mitters are most needed because new frameworks have to be tracked more often than conferences are organized. The rest is worth a look at the meetings of St. Petersburg frontend communities Piter JS and Frontend Spb in order to adopt the best practices of performances. There are many creative young people among the speakers and participants, and the specifics of the work force us to make spectacular presentations.
Data Science Events
The main difficulty of organizing meetings on Data Science: the audience is heterogeneous in terms of level of preparedness and specialization. In the hall there can be both those who apply ready-made solutions, and those who develop methods and algorithms. The former do not like the three-storyed formulas on the slides, the latter are afraid of the code. It is also worth understanding that the in-depth report on computational linguistics may be incomprehensible to both a novice in data analysis and the guru of Computer Vision.
Based on the approaches to solving these problems, we can distinguish three types of activities:
1) Kaleidoscope from different fragments of Data Science at meetings, breakfasts and festivals of Open Data Science , PyData conference . Favorable environment to get inspired by analogs and to borrow approaches from other areas. The presentations of the introductory format cover a wide range of topics: the architecture of neural networks, model optimization, data collection and preprocessing, the construction of data processing pipelines. There is little or no code on slides, unsolved problems of mathematics are not discussed, emphasis on trends, successful cases and pitfalls of using ML / DL to solve business problems
2) If you have serendepity in mathematics and want in-depth reports on narrow topics - follow the announcements of topics for open lectures and seminars at CSC and NII NKT . The CSC lot of the same teachers as in JetBrains Research. There come to disassemble scientific publications on the latest approaches in data analysis. The Institute of science intensive technologies ITMO come to share the experience of other researchers from mathematics and physics laboratories at universities. From this month, ITMO together with the Huawei Research Center will organize seminars on NLP . Well, if you like diffury or want to see absolute hardcore - go to the seminar of acoustics in the RAS . Therediscuss math problems that ten people in the world understand. For three hours the formulas are displayed at the blackboard and they say to applicants for a candidate degree that their results are trivial.
3) If you are a developer in terms of mentality and you cannot accept the attitude of mathematicians to programming as a craft, then you are welcome to the SpBDSM meeting . These are hard on the depth of the presentation of material mitaps , which take place about once every six months and are pulled to a conference on the application of ML / DL methods in projects of large companies. Meetings are held in the art bar Lendok with high ceilings and unobtrusive movie soundtracks. Immediately tune in to a story about art, not a craft.
Something similar was seen by the gofers when they took off the loft, but usually the mitapes are held in the offices of partner companies. For companies, this is beneficial due to increased awareness among developers and the formation of a brand. It is convenient for organizers, as often companies help organize high-quality broadcast / video recording and a coffee break. When conducted in non-standard locations, you have to adjust the levels on the microphone mixer or provide the speakers with a lavalier microphone. Otherwise, then you may need to make noise reduction through programs like Adobe Audition. Among the SpBDSM speakers there are both engineers, they can fix a bug or implement a new feature in the source library of the open source library, as well as researchers focused on the practical applicability of the results. Organizers focus on the selection of speakers who talk about the case, not about themselves. No stand-ups and extra emotions, just a few memes to dilute the code on the slides, and before the formulas - a coffee break. On the slides, there is still more code, and mathematicians apologize for their so-called. “Academic code”, although they are forgivable. The reports cover topics ranging from embeddings and data vectorization to creating supported and scalable solutions in Data Science projects. There are topics at the peak of relevance, such as applying deep learning on biometric data in cybersecurity. On the sidelines, you can discuss recent changes in Python, such as optional typing, and the capabilities of other languages for more efficient implementation of algorithms, such as Go multi-processing for TSNE (which is not typical for a data scientist). On the slides, there is still more code, and mathematicians apologize for their so-called. “Academic code”, although they are forgivable. The reports cover topics ranging from embeddings and data vectorization to creating supported and scalable solutions in Data Science projects. There are topics at the peak of relevance, such as applying deep learning on biometric data in cybersecurity. On the sidelines, you can discuss recent changes in Python, such as optional typing, and the capabilities of other languages for more efficient implementation of algorithms, such as Go multi-processing for TSNE (which is not typical for a data scientist). On the slides, there is still more code, and mathematicians apologize for their so-called. “Academic code”, although they are forgivable. The reports cover topics ranging from embeddings and data vectorization to creating supported and scalable solutions in Data Science projects. There are topics at the peak of relevance, such as applying deep learning on biometric data in cybersecurity. On the sidelines, you can discuss recent changes in Python, such as optional typing, and the capabilities of other languages for more efficient implementation of algorithms, such as Go multi-processing for TSNE (which is not typical for a data scientist). The reports cover topics ranging from embeddings and data vectorization to creating supported and scalable solutions in Data Science projects. There are topics at the peak of relevance, such as applying deep learning on biometric data in cybersecurity. On the sidelines, you can discuss recent changes in Python, such as optional typing, and the capabilities of other languages for more efficient implementation of algorithms, such as Go multi-processing for TSNE (which is not typical for a data scientist). The reports cover topics ranging from embeddings and data vectorization to creating supported and scalable solutions in Data Science projects. There are topics at the peak of relevance, such as applying deep learning on biometric data in cybersecurity. On the sidelines, you can discuss recent changes in Python, such as optional typing, and the capabilities of other languages for more efficient implementation of algorithms, such as Go multi-processing for TSNE (which is not typical for a data scientist).
Comparing the atmosphere and the contingent of different IT-community, we can trace the relationship with the business problems for which they are used. Programming languages are just tools, but behind the decisions of their designers there is a certain philosophy aimed at effectively solving the spectrum of certain tasks.