"Coding school" project diary

#39

What developers will learn by working in my company?

  • collaborate with Team Lead
  • use GitHub issues as a source of information and place for communication with the project manager
  • work at different projects, different git branches, open pull requests, merge code together and resolve merge conflicts on practice.
  • will try to work remote and organize themselves
  • try their skills at real projects. Example. if you know how to work with arrays !== to understand how to operate with data, that was received from the server.
  • will be able to use Summer/Spring/Winter time at an internship
  • collaborate with someone reviewing their code and apply changes on request
    '- discuss plans or create a plan of solving problems
  • will work at stressful startup environment - it’s a very important and good experience.

Will learn to code by solving real problems on real projects. Not just building another calculator of the phone book in 2019.
I understand that a calculator is a great project to try a lot of different things and test your skills, but really - Calculator? Let’s do something more cool with us.

  • I saw a demand of people that looking for coding experience
  • Spend a lot of time of thinking about how to solve it
  • Create a plan
  • pick a lot of data together at one place
  • simplify a process
  • add content marketing in order to promote this project
  • think about the automation process - CRM/sales processes
  • publish my idea at different places like hackernoon, product hunt, indie hackers and start to collect valuable feedback
  • screens of how I’m creating a new company at AngelList, entering data, etc. creating jobs - displaying my articles there…
  • adding to my main profile, adding Linkedin - measure results in 5-10 days, months.

As a lot of default work(labor) will be automated soon - there will be a lot of mature people, that will learn to code and as mature people don’t have troubles in working - they will need another process, that will be different from the basic learning process.

They will want to gain skills that soon can be monetized - so they will easily skip a lot of important data, that you cannot to teach in a small amount of time.

Usually, it requires years for learning. But they don’t’ have a lot of time to do it.

1 Like
#40

I think that I explain this before. But I cannot find that text. If you read my articles about interns you know that I was contacted by a lot of students.

And I made long interviews with them. And I think I can judge not only about local problems, that these students facing.

I’ve talked with students worldwide and everybody realizing that real experience matters most. You also need to know that only one local intern is actually from Ukraine. It’s so sad.

In Ukraine, we don’t have a habit/tradition, where students look for practice in spare time between semesters. It’s about mentality, traditions, bureaucracy…

Vadim(@vadim.putrov)(that the only one local intern) showing really big progress at my team.
Another guy, from his college group, was also interested to join my team.
Btw, I propose equity to Vadim, because I think it’s important to motivate and support talent and praise hard work.

So that second guy was interested in the practice, but later he realized, that his main goal is not to get a real experience. His goal is to get A`s at college and this is two different kinds of tasks.

While we learn in last year - Vadim received most of my attention and worked on so different tasks/modules/technologies - so he knows a coding machine. For sure, he needs to improve his skills, no doubt to that. But in last year he masters a lot of things and his experience have a good raising bar.

I know how hard is to get As in college. I have all As in my college diploma. It didn’t help me to get a coding job but was a good foundation later.

I even wouldn’t start to talk about local teachers of programming languages. Their skills are quite ofter outdated and very limited. They don’t read the latest coding news or explore new tools. (I’m talking about most of them ~95%)

They didn’t follow trends and don’t have a real commercial experience.

We also have a lot of bureaucracy in our education system in Ukraine. When I was searching for local interns I wrote to a few universities as I don’t have shame to ask something.

Most of them just don’t reply to me. Other 2 teachers or coding professors told me to prepare a fancy presentation. So they can start a meeting, review my application, check my credentials(passport) - because they are scared.

I can be a scummer. So I should be very reliable because any issues with me can harm to their university brand. So they more interested to not start anything rather than fail.

Cave rules, so old fashion, you know…

Only one teacher was progressive enough to listen to me, hear my ideas and give me an opportunity to talk offline with their 10 best coding students. And I was happy to be there. But friends, via the Internet I can reach more people, talk with them via email.

It’s not about dozens of people, it’s hundreds of people, girls, and boys worldwide. And it’s more easy for me.
I don’t need to up my ass from my table in order to do it.
[link to student loan debt website]

I see a different situation in the USA. Ukraine has a “free” education + corruption in education as well. Teachers have a small offending salary and some of them cannot refuse to convert money into good marks.

In the US loan debt is a huge problem. And anyone, who decides to get a degree and got an educational loan, realizes that in 5 years he will owe to bank a lot of money. And they don’t have a lot of time for picking different career strategies or wait for a miracle.

This is why online education in the USA is a big thing. It is delivering result, skills, degree and save a lot of cash.

It’s not only about college costs. It’s also living costs and costs for preparing food. I was talking with one student from the USA - he found a food delivery startup to campuses.

Usually, students eating at a pretty unstable schedule and it’s pretty bad for health. And eating food at campuses costs them ~$1500 per month.
He wants to disrupt this market and with a big number of students that want to subscribe to a monthly delivery of food - he is able to deliver food from restaurants.

A lot of restaurants don’t have a lot of users - and it raises the cost of food there. But they can lower prices if they will have a lot of users. And students will be able to eat food with better quality, always warm and delivered in a preferable time.
Hope his project doing well - it’s a pretty good idea and market that is very profitable.

Actually, paid education in Ukrainians universities costs equally to Udemy`s nano degree program in computer science.

It also gives a pretty unique opportunity - people that finished nano degree can also pass exams in Alabama Tech University.
So people can have a computer science degree - it’s a huge and very competitive opportunity in the current tech market.

This is why they’re a lot of difference between US students and Ukrainian students. Each student in the US spend summers attending internships and 0 students wish or think about doing it in Ukraine.

They better will go to work to MacDonalds, have their hards burn and in a few months(2-3) will be able to purchase a new smartphone or laptop. Anyone knows that if someone has scars at hands - he was working at MD and burn hands by making fries in oil.

So US student that cares about their career - before finishing university/college and getting a degree - has a few records at resume about working in companies, from Fortune 500 list.

1 Like
#41

With this “school” I see good signs. Because practical approach(especially for a low level of coding) working better than a default “studying process” - by remembering.

Example: At Coding Academy, where I was learning, I need to pass a coding patterns exam - C# language.

And only at the exam, I realized that I know how to solve my task at PHP better than on C#.
Because I code at PHP more often.
And I was like: Why I’m teaching/learning how to do it on C#? I made a decision to be a PHP dev, I don’t want to play with C#
And a lot of my current interns like hey, let’s do my projects differently. Let’s remove Blah Blah and add Blah Blah.

Because it’s more efficient and less stupid to do - that we did before with our previous interns. And I agree with their ideas/feedbacks.

They are right, but when it comes to realizing their bright ideas into code - it’s usually hard to do.

And it’s not only about solving coding problems.
In my country, I see huge opportunities for creating custom electronic devices.

Companies like Codisoft, PetCube, Concepter, Ajax doing pretty good devices, that sold worldwide.
Design them locally and produce mass-market in China. And selling in the USA.

Because we have a pretty big pile of people with good STEM education. Some of the old and have a low level of expectations/salaries.
They can make cool hardware and that hardware are more complex than just an Arduino scheme.

Example: Some people in order to save money on TV programs, building satellite receivers, in order to steal data from satellite and watch a TV for free :wink:

1 Like
#42

[one of my next article to publish]

I got a list of questions from TechStars company investor. I don’t know if I can mention his name, but I will share this article to him.
Again, these questions help a lot to understand problems, that this project can face in the real world.
I think it’s time to share my concept. I want to open a coding school. The idea is to teach students, that have basic coding knowledge on practice. Only practice. Hardcore hands on board, coffee in the cup and start to use your brain to deal with problems.
Btw, we actively discussing this project with awesome HN community section. You definitely should register here: [link to sign up]
[link to my thread]

This article is the 4th in my series, so for previous parts, go here. [links to articles]
[list of questions]

Source of ‘real tasks’ at scale?

Source of real tasks at scale is not an easy thing for sure. I was struggling with onboarding to my backend project and getting the first tasks done. Maybe in the future, I will need to have help from another project manager that will track the progress of interns teammates. Another way is to promote one of the interns to that module Team Leader.
Documentation is also a crucial part of the process [link]

I split our code into small parts. Each has separated space at GitHub.

After failing my first interns I find a solution I start to understand how to improve my process and reduce the level of entry of them. Interns usually stuck at setting up a local environment and other preparation that is important to start. So everything should be as simple as possible to do. If you want to add interns into a big ongoing project - you will get a lot of pain. Everybody knows it, but I didn’t realize that onboarding is so important.
At the beginning.
In order to deal with this kind of problems - I split my project into small modules/chunks.
To be honest - these modules are the cleanest code that I have :wink:

I also added some “robotic” scripts. When interns push their code changes --> we have tested and builds. We use the Jest module for Q&A and Travis CI that help us to fight bugs.
Then completed modules are published at npmjs.org and imported into our projects.
It also created very easy to understand development workflow.
Example: you can assign a file uploader form as a single task(both frontend and backend) or you can split it into 5-10 small tasks. You will get a better solution, that intern can do really easy.

The second way is more preferable. But it takes more time from my side.

How to monetize this project?

It will be free for students, small fee for companies that want to teach their team members. Maybe we will launch small job board with “featured” section --> where companies can post their jobs.

I don’t want to make money by charging students. At least for now. Maybe we will change our process and will have paid plans in the future. But I don’t want to do it. I’m getting some of the tasks done at my projects. So it is like an exchange between students and me.
We will need money for hiring other teachers or pay a stipend to our students. But it is long term goals. By paying a stipend to our students I will feel “guilt-free” (because some people think that I’m using these students, by not paying them).
But it is only can be done when this idea starts to be profitable only. I’m interested to explore projects like GitCoin and OpenCollective.
Both of these projects also will help us to improve our management process. It is open to everyone and you should have good tasks descriptions, in order to use GitCoin system.
So documentation is also important. And I like to know that this approach will make out finances open. It’s a cool and good move.

A major part of my interns is from developing countries. So I don’t want to reduce the number of people, by adding a price tag.
It is better to help them to learn for free. It is my official position.
Also, there a lot of cool and free places to learn to code. Or some of them costs very cheaply.
But if you know what to google, you can find tons of free content. Medium, YouTube, are some places where I’m learning each day something new.

But to be honest - I want to think about monetization only when basic steps will be finished. I’m sure there will be a lot of pivots at the next 6 months. We have said: “Don’t think how you’ll use a bear fur, before killing him”
(Don’t kill bears, please – they cute and adorable) [picture]

I think right now I can easily handle 20-30 people at the same time. It requires the part of my time. If I didn’t code myself frequently - I can manage even more. Assign tasks, make code review, etc.

If I will have more people at the same time, for example with 50 people I will add more branching/hierarchy.
Interns that spend more time with me will become leaders: review code changes and handles basic questions from newbies of our small projects.

In the future, when I will see that the number of interns will be overwhelming for me. I will add additional qualification it will lower the number of people that we need to onboard and increase their skill level.
More skilled developers --> less time to spend. It will be a very happy time for me, actually.

I have an assumption that companies will limited resources like mine also looking for coding help. Maybe we can forward some of the interns to those companies. It will be like a recommendation from me -> certificate that this candidate can be a good asset.

Enabling a job board can also help people that looking for an entry-level job. There a lot of job boards for sure, but it can make is some bucks.
[link to article]

If companies want to test-drive their future employees can be a source of money too. It is like a remote employee validation service - if you are not ready to put intern into your office right now. So I will train their developers. I think with our price model it will be very competitive.
They will lover level costs for HR, onboarding, electricity, PC, chair, coffee, etc.

The company also can save time. Because I will be responsible for training. I will handle the skill check of those people.
And if I find out some lack of skills --> I will teach them.

We keep everything open to the public at GitHub. So it can be easy to see actual progress that was done. Commits cannot lie, you know.

How to overcome the hesitation of real customers?

I’m testing this approach at my own projects. So it’s doable. But it requires some homework for sure.
Big and small companies hiring after-grads(entry level jobs). I see this trend and assume they’re a lot of possibilities.

It can work if the code has a good structure.
Good documentation and manager – it can work. If someone wants to incorporate interns but if it is hard to do - it can be a good sign that your code base actually has a big tech dept and no one(skilled or not) as a new employee will be able to deal with it.
Trust me – even experienced developers will burn your money with bad structure. So it’s not related to experience.

More details should melt this ice of fear to deal with entry-level developers.
I still think that some companies, that have a small amount of money are a good way to understand if they need to hire new people or not. This test drive can help to figure it out.

How can you maintain QA on a project.

  • I don’t have a simple answer here. It’s related to previous questions and project configuration. Yes, I agree that QA will save a lot of time.
    I’m trying to figure it out on practice, receiving feedback and making improvements in our process.

For tests, we having a separated place for them. Right now it’s hard to cover all of our functionality with good tests. But we’re aware of it and making small improvements.

This question requires more time to think about it.


A new version of answers. As I create a bunch of posts at this forum - I realize what problems we have and how management process should be improved and solve some of those issues.
Maybe part of the conversations should be reduced at our GitHub tasks. If I’ll create a lot of tasks in bulk and someone helping me with management - I can have a more easy workflow.

  1. Interns don’t work fulltime. So it is fewer moves that managing full-time people [at scale]
  2. with proper documentation, a lot of their questions can be replied with links only to documentation
  3. sometimes, if not to reply to their questions immediately - they can handle it without my input. Instead of replying quickly -> it’s better to extend documentation.
    As our process evolving, I’m becoming more confident to keep the big number of contributors. I mean if they can chat together and help each other.
    They will spend a similar amount of time, working on tasks, but my time can be reduced

So, the new approach is: with each new intern you should prepare at least 5-10 tasks ahead.
And notify a team member about it. With proper tasks description and help from experienced members – onboarding can be less time consuming for me.


So for me, it can be a side stream of income and interns will help to build my projects.
And some talented and hardworking people will have an opportunity to start their developer career.

1 Like
#43

just dumping this links here

as Kyiv team didn’t reply to me, i think i should contact a main org

1 Like
#44

Some teammates have troubles, working in a remote environment. But what I see right now - future in remote work. So mastering skills
related to working independently - it’s 100% novice should have.
Sure, standups and meetings is a cool thing, but it’s just a small part of work as a developer.

Most times you will be dealing with code problems on your own. 1-to-1, nobody will be able to help you. So it’s also an important side of being independent, mastering the discipline of working remote and taking with your teammates online.

It will help at any cases - you’ll become more solid as a developer and be able to deal with code problems more efficiently.

From my point of view - it’s a similar routine, that can help later. Like a workout. You need to be focused and motivated in long term goals. Another problem, related to passing interviews for entry-level jobs.
Failing an interview can upset an after graduated engineer. He/she can give up and switch into another profession. I saw it a lot in my country.

So it’s very important to start a fire in future engineers hearts.
And later he will be grateful to you for his whole life.

As I’m grateful to people, that helps me at the beginning of my developer road. for sure - a lot of influence came from my family.
without support, money and their discipline - I was not able to write this post here. I wasn’t a good kid, still can be a better family member.

My first inspiration was Ruslan. He converted a whole auto parts factory into e-docs/online processes. He creates a system from scratch in just 8 months working there.
They pay him good money and he brought an apartment after completing a contact. Then they hire him as CTO.
He gives me an opportunity to attend a practice with him as my team leader.

Or Gleb Pyatin - crazy sociopath, that helps me to get my first shitty coding job and start as a developer on commercial projects.
It was a very hard period for me - I was devastated(no money, fiancee left me).

He was a shitty team lead, a bad poker player with ludomania problems, but this is a name that I never forget.
Maybe he taught me how to be a better manager on his example.

My partner, Constantine - he shows me that I can raise my head, dream and implement my ideas into something real. He really was a booster for me --> all businesses, that I’m doing right now - it’s still upon his influence. Fuck you, Constantine!

I hate you for closing our collaboration --> but it was my decision as well. Hope that in a few years we will fix our problems - that we generated being young and stupid, and maybe we will co-found something amazing together again.

1 Like
#45

Lol - this is why paid courses suck (don’t kill me)

I removed the pricing tag to my course and make it free 2 days ago.
Before it was 6 students(just cannot find that email)

1 Like
#46

Was talking with creator angularjobs jobboard - he advised to try to reach bootcamps for new students. as I did it with freebootcamp - maybe i should do it more gentle. working on a list of bootcamps - don’t realize how many of them isset.

Btw, today i got another +500 “new students” at Udemy - why i create it and hide underpay - i don’t know.

1 Like
#47

I think this company have a great description that catching attention of people. Maybe we’ll need to improve our job posts in order to compete: https://angel.co/company/zanbato-1/jobs/16181-django-react-software-engineer-at-a-fintech-startup


I like how this grocerylist app handle userguide: https://www.ourgroceries.com/user-guide Great example of hard work

1 Like
#48

I’m trying a new approach here. instead of jump between crazy chrome tabs, i’m learning how to make a code reviews at Atom editor.
Looks very promising

Plus I want to integrate something similar but free https://www.productboard.com

1 Like
#49

This is a good example of why I want to make this school free for students.
Big spots telling the same story

1 Like
#50

Arthur translate this word

1 Like
#51

I think it’s a typo in word codeine -> codeline?

1 Like
#52

fixed

#53

Codeine filled fixed

#54

Hi! I have some questions about coding school (some of it may organizational):

  1. What is my role in coding school? I mean what should I do?
  2. When will you start getting first students?
  3. After complete month course and paid 100$ what intern will get? Some certificates or something else?
  4. What you gonna to do if people doesn`t know English?
  5. What guarantee gets companies?
  6. Will it be working in Ukraine?
1 Like
#55

Brief answers

  1. Your role will be developer of our modules, code reviewer(PullRequests from students), replying to their comments, questions. I.e. - solve operational issues
  2. I still have un-finished tasks, that I want to solve before launch(after launch we can have new students or it will require additional moves). I want to publish few articles and launch “awesome-dev-stuff” project. if you can help me - it will speed up launch date.
  3. “$100”(Price) will be charged only from companies. I’m sure that it will take some time to make partnership with companies. it will also require sending bunch of similar emails and exploring it. First of all - student will get an experience. I think this is the most valuable thing here. We can also generate some report/certificate but I don’t plan to do it with free students right now, because it will add work to our shoulders. If we also finish “contributors” project - we’ll be able to generate a review for each student from his commits at our repositories
  4. There more people that know English worldwide. I don’t think about it as a big problem. if someone want - he will be able to understand us. you know what i mean, you’re not native English speaker as well
  5. I think code don’t lie. So if company can open a student github profile and see list of his contributions - there is nothing to hide. They can also “track” our conversations at github. with cristal clear approach that we have - i think there nothing to hide or keep hid. If you mean guarantee like moneyback - i don’t strict rules here. I mean if someone decide that we stealing his money - it’s easier to send them back and go forward, rather than try to argue a problem.
  6. It can work for Ukraine as well. But I don’t focused on our native students right now. First - they will not be able to pay, second - language bareer, third - not a lot of people ready to join our program. You was not the one who want and applied - but they quit very quickly. If you want - you can talk with some college students and increase our team, but if we have 2 choices - a) talk with our locals teachers/universities, b) talk with US universities - i’ll prefer to do the second one.
    For some reasons people online react to me more positively, rather when I meet someone locally, offline.

Next set of questions please!

#56

Just find some cool articles that explains some of my views related to this project

#57

Interesting report i find here: Best resources to learn programming?

#58

One of the things that also driving me with this project(and i didn’t expect how much impact it will do to me, before i start to work with people around the world) can be explained at this post: