HackConf is Bulgaria’s premier “by developers, for developers" motivational and knowledge sharing event. Topics include all walks of software development, regardless of technology stack.
HackConf 2018 lectures will be held in English. Join us on Sept. 15-16th in the Sofia Tech Park | Innovation Forum John Atanasoff. Special workshops start Friday, Sept. 14.
The goal of this workshop is to demonstrate the basics of using Django REST Framework (DRF) for creating web APIs. As an example we are going to build a simple API for a book catalog (like Goodreads). Users can register, add/edit/delete books and authors.
In this workshop you will learn how to build a search in articles: Web REST API with AWS Lambda, API Gateway, DynamoDB and ElasticSearch.
Тhis workshop will give you basic understanding of concepts in CSS. You will learn how to properly align elements in your pages in grids and make them look exactly as you intended. You will understand the proper usage of "position", "display", "float" and many others, and put together some interesting designs in the process.
Challenge yourself: step in the Business Analyst’s shoes for an hour. Participants will be divided into pairs, with each pair having one “business analyst” and one “developer”.
The BA will be asked to create a written description of an object. The developer will be asked to recreate an image they have never seen based on that description. Together we will comment the outcomes and highlight some best practices for writing clear and easy-to-understand requirement descriptions!
Pylint is the most popular Python source code analyzer which looks for programming errors, helps enforce a coding standard and sniffs for some code smells. It is possible to write plugins to add your own checks! This presentation/workshop will focus on understanding how the pylint plugin works, how to examine the AST tree of a piece of code and create a minimalistic plugin from scratch. It will also examine several plugins that are used by the Kiwi TCMS project.
Everybody needs to use git for their daily job but more often than not we are not taught how to use it properly. This is a practical workshop that teaches how git works and how to use the most common git commands on a daily basis. In this workshop we're going to start from scratch - create a git repository and work from there. We're going to commit and revert changes, work with branches and pull requests and resolve conflicts.
At this workshop you will put together a small robot and program it using Arduino. The robot’s mission will be to follow a path or to find its way through a maze.
The first part of the workshop will explain the basic concepts when working with TensorFlow:
In this talk Ivan Vankov will ELI5 what are the different types of cryptography, how (not) to use them, what makes crypto-algorithm secure. After this talk you will have enough understanding to start using cryptography in any programming language.
Researchers suggest that sitting in meetings shortens our lives. Most likely, you felt at least once, you had wasted your time in a work session. Meetings can be boring or unproductive or pointless … you name it. These are well-known problems with many available advises on- and off-line. Still quite many meetings feel like cage. However, people don’t stop doing meetings. This means that there are also benefits, right.
Until we find a better way to communicate, can’t we simply improve how we do meetings today?
More and more developers are expected to be on-call, provide out-of-hours support, and respond to production outages. Without much experience handling incidents, it can be scary, intimidating, and feel like being dropped in the deep end. But it doesn’t have to be that way!
Over two years on the FT’s Content team, we’ve transformed our incident response – from a number of mildly terrifying multi-hour outages, to a stable platform where team members feel comfortable on-call.
In the first years as Indie Game Studio, we have done a lot of cool things but made a lot of mistakes as well. We want to share everything that we have learned so far with you. We will talk about how to get funded, how to build a community around your game, when to release and how to do the promotion. We will talk about the other local gaming companies and how do they succeed or fail.
What do you do when a single machine is not enough for your application anymore? In the talk, we'll have a discussion from first principles on scaling out a system. We'll avoid just throwing all the buzzword technologies at a problem. Instead, we'll consider what inefficiencies different traffic and usage patterns can lead to, and how we can go about solving these. We'll then throw some buzzwords, but only the appropriate ones.
Enabling productive teams requires a different set of tools and techniques than being an strong individual contributor. Even if you have been lucky enough to be part of a successful team or even to have led a successful team in the past, it is hard to replicate that experience as a leader with a new group of people in a new environment. In this talk, we will explore some common challenges for leaders and teams. We will explore a little background theory and present some anecdotes from our experience. We will then introduce some practical tools to address these challenges that teams can start using immediately.
Every web developer’s workday begins with opening the dev tools. That is especially true for the front end developers. Dev tools have boosted our productivity immensely since they have been introduced. Ever since Firebug set the rules, browsers have been competing who will build the best dev tool.
I will shed some light on features, that were challenging to find, but boosted my code productivity quite some.
JavaScript is all the rage right now, but it wasn't always like that. For decades people thread it is a toy language. Why is that? How did that change? As most in many aspects of life looking backward can help us move forward.
SiteGround is one of the first supporters of Let's Encrypt and as such we were also the first to switch all of our customers to SSL. You will find hоw SiteGround did it, what happened and what they finally settled on.
Applications that need to handle millions of requests have to be supported by the right infrastructure. In this talk I'll demonstrate the key aspects of making an application scalable and running it on AWS.
In this talk I’ll debunk some of the myths surrounding product managers, told from the eyes of a developer pretending, with varying degrees of success, to be one. I’ll talk about what product managers do, why developers should care, and maybe, just maybe, why you might enjoy a trip to the dark side too.
The innovations in the IT industry are always driven by the hardware. Historically, always a lot of time was needed for the software developers to catch up with the hardware changes. The modern computer world is quite different than the one 10 or 20 years ago. We will check where the modern trends are going and how this will change our lives - both as a developers and as consumers. We will take a look at different programming models, see why they are needed and how they can enable us to build applications that otherwise would be impossible.
The talk aims to outline the most common sources of failure and to provide engineer’s consciousness about making decisions on how to design, deploy and monitor such systems and ultimately increasing the reliability of the service. The talk balances a mix of distilled industry giants’ experience as well as hands-on observations.
Developers usually like dealing with side projects in their free time, even if it is the middle of the night. If you have not yet started one or you have already successfully completed a bunch of side projects, I hope to give you a new perspective and pieces of advice on doing it even better. There might be disadvantages, but I would like to put an emphasis on the advantages of continuously having side projects even while working as a full-time developer.
You might think it is impossible, as it takes a lot of time and effort, but this is exactly why I have a list that could help you do these projects in a more effective way and so that you will enjoy coding again. All this comes from a personal experience I gained over the past few years and I would like to share it with you.
This talk will throw some light on the main things to consider, the pitfalls to avoid, and the shortcuts worth exploring. While the talk is mainly intended for engineers who have no experience writing test automation frameworks, it could be a nice comparative reference for those who have already been in the ring before. Given you feel adventurous, when you leave the conference, then you should start writing!
What is concurrency? What is parallelism? What is scheduling? What is the difference between a fiber, thread and a process? What is shared memory? What is the actor model? In this talk we will explore how these concepts are implemented and used in JavaScript.
Let's look at happiness from different perspectives - philosophical, bio-chemical, psychological, etc. , find commonalities and learn tricks applicable to our day-to-day life.
Chief system architect @SiteGround
Marian is a system administrator by heart. He is working with Linux for almost 20 years. Currently he is Head System Architect of Siteground.com, CEO of 1H Ltd. and CTO of Kyup.com. He is a big fan of FOSS and regularly speaks at different FOSS conferences around the world. Marian also helps with the organization of OpenFest - Bulgaria's biggest FOSS conferences. In his spare time he teaches Linux system administration and Network security courses in Sofia University and SoftUni.
How we broke Let's Encrypt's infrastructure
Developer @Product Hunt
Rado is a web developer with 15+ years of experience, currently leading engineering efforts at Product Hunt (by Angel List). Lately, he is juggling between Ruby, Javascript, and Elixir projects, with the belief that it’s equally important to work both on the frontend and on the backend. Organizer of React.Sofia meetup, React.NotAConf and NotAHackathon.
History of JavaScript
JavaScript is all the rage right now, but it wasn't always like that. For decades people thread it is a toy language. Why is that? How did that change? As most in many aspects of life looking backward can help us move forward.
Principal blockchain architect @CognitionFoundry
Ivan Vankov (gatakka) has a very diverse background in different IT technologies like back-end development, Machine learning, security, cryptography, Blockchain and system architectures. Currently he is principle blockchain architect and consultant.
Introduction into practical cryptography
In this talk Ivan Vankov will ELI5 what are the different types of cryptography, how (not) to use them, what makes crypto-algorithm secure. After this talk you will have enough understanding to start using cryptography in any programming language.
Integration Engineer @Financial Times
Euan works across multiple teams at the Financial Times, helping to support microservices, containers, and the website as a whole. As someone on the Ops-ier side of DevOps, he has occasionally admitted to being a SysAdmin while in public.
Don't Panic!
More and more developers are expected to be on-call, provide out-of-hours support, and respond to production outages. Without much experience handling incidents, it can be scary, intimidating, and feel like being dropped in the deep end. But it doesn’t have to be that way!
Over two years on the FT’s Content team, we’ve transformed our incident response – from a number of mildly terrifying multi-hour outages, to a stable platform where team members feel comfortable on-call.
Technical Product Manager @Financial Times
In 2016 Amy graduated from Makers Academy, a coding bootcamp in London, and joined the Financial Times as a junior developer. After 18 blissful months of coding she decided to dive into the curious world of Product and has since been a product manager working on FT.com.
Going over to the dark side: from developer to product manager
As a developer you’ll be used to telling product managers what you’re doing but do they ever tell you what they’re doing? And if so, does it make sense? Product management is a very curious discipline in that product managers aren’t required to actually do any work. So why do they always look so busy, and what would happen if we just got rid of them?!
In this talk I’ll debunk some of the myths surrounding product managers, told from the eyes of a developer pretending, with varying degrees of success, to be one. I’ll talk about what product managers do, why developers should care, and maybe, just maybe, why you might enjoy a trip to the dark side too.
Software engineer @Smule
Svilen Ivanov is a polyvalent software engineer with couple of decades of experience. He feels comfortable diving deep into highly scalable systems as well as debugging “undefined is not a function” kind of errors. Passionate about everything that involves 1's and 0's. Currently helping San Francisco-based Smule to unleash the singing talent of millions of people around the world.
Service Reliability Engineering - Failures are Always an Option
Modern software systems are usually built using smaller, interconnected components. The rise of the microservices architecture popularity tends to increase the overall number of components compared to the traditional monolith approach. Both components and interconnections are subject of failure. The risk of failure also increases with the number of components, decreasing the overall system reliability.
The talk aims to outline the most common sources of failure and to provide engineer’s consciousness about making decisions on how to design, deploy and monitor such systems and ultimately increasing the reliability of the service. The talk balances a mix of distilled industry giants’ experience as well as hands-on observations.
QA Chapter Lead @SumUp
Aneta is a software engineer with a strong belief that doing what you love, the way you love, is the key to productivity. Her focus is on functional automated testing and web applications. She’s been testing software for several different industries and now she’s making a return to FinTech as the QA Chapter Lead at SumUp.
Test Automation Frameworks: First Contact
Engineers in any software company, even happy ones, decide at some point it's time to start doing test automation. No, no, don't think unit tests. And test automation is almost inevitably facilitated by some sort of test framework. Of course, there are many readily available ones, but every company and every business is different, so whatever you choose, you will need to carry out some modifications and upgrades.
This talk will throw some light on the main things to consider, the pitfalls to avoid, and the shortcuts worth exploring. While the talk is mainly intended for engineers who have no experience writing test automation frameworks, it could be a nice comparative reference for those who have already been in the ring before. Given you feel adventurous, when you leave the conference, then you should start writing!
Co-Founder and Lead Developer @Rebellious Software
Pavel Kolev is co-founder and Lead Developer at the gaming company Rebellious Software. Before that, he was a Principal Software Engineer at Telerik (Progress). Pavel has received multiple individual and team development rewards with the most recognizable being the 1st place at the NASA Space Apps Challenge (the largest hackathon in the world) in 2013 and 2014. Loves JavaScript and card games and is always ready for conversation on the topic.
Starting Your Indie Studio: How Hard Could It Be
In the first years as Indie Game Studio, we have done a lot of cool things but made a lot of mistakes as well. We want to share everything that we have learned so far with you. We will talk about how to get funded, how to build a community around your game, when to release and how to do the promotion. We will talk about the other local gaming companies and how do they succeed or fail.
Team Lead @Nemetschek Bulgaria
Subby has 20+ years of experience in the software industry, starting as a developer. Eventually his career’s grown into project and people management, inspiring a team of 40 people at Nemetschek Bulgaria. Subby attends numerous meetings every day so he’s on to the quest of making them all effective.
Meeting Kills People
Researchers suggest that sitting in meetings shortens our lives. Most likely, you felt at least once, you had wasted your time in a work session. Meetings can be boring or unproductive or pointless … you name it. These are well-known problems with many available advises on- and off-line. Still quite many meetings feel like cage. However, people don’t stop doing meetings. This means that there are also benefits, right.
Until we find a better way to communicate, can’t we simply improve how we do meetings today?
Founder and CEO @LogSentinel
Bozho is senior developer and architect, one of the top stackoverflow users, fluent with Java and Java technology stacks - Spring, JPA, JavaEE. Foudner of https://logsentinel.com. Creator of http://computoser.com . Worked on Ericsson projects, Bulgarian e-government projects, large scale recruitment platforms, cloud navigation synchronization.
Scaling Horizontally on AWS
Applications that need to handle millions of requests have to be supported by the right infrastructure. In this talk I'll demonstrate the key aspects of making an application scalable and running it on AWS.
Management Committee @HedgeServ
Jim has worked a long time in financial technology at many roles from programmer to CTO. Along the way Jim has been frequently stymied and always impressed with the people he has met and worked with. Jim is currently the General Manager of HedgeServ’s Sofia office, working with our people to enable and grow a great environment.
Enabling Great Teams
Enabling productive teams requires a different set of tools and techniques than being an strong individual contributor. Even if you have been lucky enough to be part of a successful team or even to have led a successful team in the past, it is hard to replicate that experience as a leader with a new group of people in a new environment. In this talk, we will explore some common challenges for leaders and teams. We will explore a little background theory and present some anecdotes from our experience. We will then introduce some practical tools to address these challenges that teams can start using immediately.
Software engineer @VMware Bulgaria
Vladimir Petkov is a software engineer at VMware Bulgaria working on a big data and analytics solutions. He has been teaching programming with Java in Hack Bulgaria in the past 2 years. He also participated in HackConf 2017 where he shared how can artificial intelligence can get us into trouble.
Debugging Happiness
We spent most of our time in finding bugs and writing code, but how much time we spend asking “What is happiness?”, "What should I do to be happier?", “Does happiness really matter?”.
Let's look at happiness from different perspectives - philosophical, bio-chemical, psychological, etc. , find commonalities and learn tricks applicable to our day-to-day life.
Staff engineer @VMware Bulgaria
Rumеn Нristоv is a staff engineer at VMware Bulgaria. With majors in Applied Mathematics and Computer Science, his experience is in Software Security and building Big Data / Analytics systems. Rumen is passionate about extreme sports, psychology, technologies, and new knowledge.
Debugging Happiness
We spent most of our time in finding bugs and writing code, but how much time we spend asking “What is happiness?”, "What should I do to be happier?", “Does happiness really matter?”.
Let's look at happiness from different perspectives - philosophical, bio-chemical, psychological, etc. , find commonalities and learn tricks applicable to our day-to-day life.
Senior software engineer @Skyscanner
A typical software engineer - started with PHP, but quickly realized the error of his ways. Interested in distributed systems, programming language design, git and juggling.
Concurrency, Parallelism and Scheduling in JavaScript
What is concurrency? What is parallelism? What is scheduling? What is the difference between a fiber, thread and a process? What is shared memory? What is the actor model? In this talk we will explore how these concepts are implemented and used in JavaScript.
Software Engineer @Heap
Over the last few years, Ivan has been building distributed systems and leading distributed teams at early stage startups. Prior to that, he has researched recommendation algorithms at SoundCloud, interned at Google (twice) and Facebook. He is also a bronze medalist from the International Olympiad in Informatics.
Scaling out - from first principles
What do you do when a single machine is not enough for your application anymore? In the talk, we'll have a discussion from first principles on scaling out a system. We'll avoid just throwing all the buzzword technologies at a problem. Instead, we'll consider what inefficiencies different traffic and usage patterns can lead to, and how we can go about solving these. We'll then throw some buzzwords, but only the appropriate ones.
Java Developer @PONT SYSTEMS
She is a twenty-something-year-old Java and web developer, born and raised in Hungary, studying Computer Science in Budapest. Spring Boot and Vue.js enthusiast and passionate about functional programming, design and esoteric languages. Having multiple side projects going on at the same time while trying to fulfill her entrepreneurial dreams. Switching off from work, she loves hiking in the countryside and practicing yoga.
Make the most out of side projects
Developers usually like dealing with side projects in their free time, even if it is the middle of the night. If you have not yet started one or you have already successfully completed a bunch of side projects, I hope to give you a new perspective and pieces of advice on doing it even better. There might be disadvantages, but I would like to put an emphasis on the advantages of continuously having side projects even while working as a full-time developer.
You might think it is impossible, as it takes a lot of time and effort, but this is exactly why I have a list that could help you do these projects in a more effective way and so that you will enjoy coding again. All this comes from a personal experience I gained over the past few years and I would like to share it with you.
V-Ray GPU Lead Developer @Chaos Group
Blago is passionate about games, movies and GPUs. He has almost 10 years of experience in programming, most of which was closely related with computer graphics. He is the lead developer of the V-Ray GPU render engine and is one of the lectors for the High Performance Computer course in FMI.
Parallel programming - past, present and future
The innovations in the IT industry are always driven by the hardware. Historically, always a lot of time was needed for the software developers to catch up with the hardware changes. The modern computer world is quite different than the one 10 or 20 years ago. We will check where the modern trends are going and how this will change our lives - both as a developers and as consumers. We will take a look at different programming models, see why they are needed and how they can enable us to build applications that otherwise would be impossible.
Team Lead @HedgeServ
Alex has been writing software for 30+ years. Alex was the founder of HedgeServ’s Sofia office, growing it from a very tiny office, working diligently to convince people to join, then making sure it was a place they were happy and wanted to stay. Alex is currently leading one of HedgeServ’s application development teams.
Enabling Great Teams
Enabling productive teams requires a different set of tools and techniques than being an strong individual contributor. Even if you have been lucky enough to be part of a successful team or even to have led a successful team in the past, it is hard to replicate that experience as a leader with a new group of people in a new environment. In this talk, we will explore some common challenges for leaders and teams. We will explore a little background theory and present some anecdotes from our experience. We will then introduce some practical tools to address these challenges that teams can start using immediately.
Software developer
Chris started working as a frontend developer before it was cool. Mostly spending her work life in outsourcing companies, she had the opportunity to work on many different projects with different development stacks.
Now she is in love with the React and everything React. In her years of experience she has found out that whatever the project is, it all boils down to just a few things: your favorite IDE, HTML, CSS, JS and the Chrome Dev tools.
Every web developer’s workday begins with opening the dev tools. That is especially true for the front end developers. Dev tools have boosted our productivity immensely since they have been introduced. Ever since Firebug set the rules, browsers have been competing who will build the best dev tool.
In the majority's opinion, Chrome’s dev tool is currently the best solution out there. Before I did my research on it, I often used the dev tools to tweak the CSS or to console log some data. But it offers a lot more. I have found out that is easy to omit useful features in a software, when you don't know of their existence. I will shed some light on features, that were challenging to find, but boosted my code productivity quite some.
Co-founder @JAMBA
an online platform that educates individuals with disabilities, develops key competencies and after that connects them with their future employers.
HackConf 2017 was the third edition of the conference. The event was entitled “ How to write better software”. More than 1200 people were part of the HackConf 2017 where 16 top lecturers presented their talks.
All presentations and video materials can be find on HackConf 2017's YouTube playlist.
HackConf2016 was the second edition of the IT conference. The event was held under the motto: “How to become better programmers and IT specialists?”
During the 2-days event we saw and heard 16 talks by 17 speakers. Some of the awesome topics were: "How to learn to program for 10+ years", "The code is a minefield", "The good programmer: а matter of perspective", "Security in today’s world". You can watch all presentations on: HackConf 2016's YouTube playlist.
HackConf2015 was the first HackBulgaria’s IT educational and motivational conference. The main purpose of the conference was to motivate and give attendees appropriate direction for their development in the sector.
During the 2-days event we saw and heard 18 talks by 19 speakers on topics like: "Indie Game Development", "How to successfully accelerate our idea", "The books every programmer has to read". You can watch all presentations on: HackConf 2015's YouTube channel.
The tickets are on sale! Like every year, tickets include at least:
✔️ 2 days fully packed with high-class software development talks
✔️ 1 day interesting and hands on workshops
✔️ Barista-style coffee
✔️ Lunch on both conference days
✔️ Awesome T-shirt and special HackConf 2018's goodie bag
For ticket sale we use the ticketing platform Weemss. All personal data the platform may collect from you to complete your order is stored and managed in compliance with GDPR. Weemss Privacy Policy