"Coding school" project diary

#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:

#59

Hey…just went through your Udemy CSS flexbox course.
Amazing work. Just what I needed right now…

I hope you will find the review I left…:+1: :slight_smile:

-Nirav